diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml
index 26bacc26..b070cefd 100644
--- a/.github/workflows/nodejs.yml
+++ b/.github/workflows/nodejs.yml
@@ -55,14 +55,9 @@ jobs:
     strategy:
       matrix:
         os: [ubuntu-latest, windows-latest, macos-latest]
-        node-version: [8.x, 10.x, 12.x, 14.x]
+        node-version: [10.x, 12.x, 14.x]
         webpack-version: [latest, next]
 
-        exclude:
-          # Webpack 5 does not support node 8
-          - node-version: 8.x
-            webpack-version: next
-
     runs-on: ${{ matrix.os }}
 
     steps:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a4710261..b51d2002 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,41 @@
 
 All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
 
+## [4.0.0](https://github.com/webpack-contrib/css-loader/compare/v3.6.0...v4.0.0) (2020-07-25)
+
+
+### ⚠ BREAKING CHANGES
+
+* minimum required `Node.js` version is `10.13.0`
+* minimum required `webpack` version is `4.27.0`
+* the `esModule` option is `true` by default
+* default value of the `sourceMap` option depends on the `devtool` option
+* `icss` plugin disable by default, you need to setup the `modules` option to enable it
+* the `modules` option is `true` by default for all files matching `/\.module\.\w+$/i.test(filename)` regular expression, `module.auto` is `true` by default
+* the `modules.context` option was renamed to the `modules.localIdentContext` option
+* default the `modules.localIdentContext` value is `compiler.context` for the `module.getLocalIdent` option
+* the `modules.hashPrefix` option was renamed to the `modules.localIdentHashPrefix` option
+* the `localsConvention` option was moved and renamed to the `modules.exportLocalsConvention` option
+* the `getLocalIndent` option should be always `Function` and should always return `String` value
+* the `onlyLocals` option was moved and renamed to the `modules.exportOnlyLocals` option
+* function arguments of the `import` option were changed, it is now `funciton(url, media, resourcePath) {}`
+* inline syntax was changed, please write `~` before the file request, i.e. rewrite `url(~!!loader!package/img.png)` to `url(!!loader!~package/img.png)`
+
+
+### Features
+
+* `@value` supports importing `url()` ([#1126](https://github.com/webpack-contrib/css-loader/issues/1126)) ([7f49a0a](https://github.com/webpack-contrib/css-loader/commit/7f49a0a6047846bb2e432558365e19d4a0dfb366))
+* improve `url()` resolving algorithm ([bc19ddd](https://github.com/webpack-contrib/css-loader/commit/bc19ddd8779dafbc2a420870a3cb841041ce9c7c))
+* named export for locals ([#1108](https://github.com/webpack-contrib/css-loader/issues/1108)) ([d139ec1](https://github.com/webpack-contrib/css-loader/commit/d139ec1d763f9944550b31f2a75183e488dd1224))
+* respected the `style` field from package.json ([#1099](https://github.com/webpack-contrib/css-loader/issues/1099)) ([edf5347](https://github.com/webpack-contrib/css-loader/commit/edf5347e4203a62e50b87248a83da198afdc6eba))
+* support `file:` protocol ([5604205](https://github.com/webpack-contrib/css-loader/commit/560420567eb0e1a635648b7f4ff0365db475384c))
+* support server relative URLs
+
+### Bug Fixes
+
+* resolution algorithm, you don't need `~` inside packages in `node_modules` ([76f1480](https://github.com/webpack-contrib/css-loader/commit/76f1480b14265369ac5dc8dbbce467cfb8e814c5))
+
+
 ## [3.6.0](https://github.com/webpack-contrib/css-loader/compare/v3.5.3...v3.6.0) (2020-06-13)
 
 
diff --git a/README.md b/README.md
index 3b43ea6d..7548eae7 100644
--- a/README.md
+++ b/README.md
@@ -109,16 +109,14 @@ module.exports = {
 
 ## Options
 
-|                    Name                     |            Type             | Default  | Description                                                            |
-| :-----------------------------------------: | :-------------------------: | :------: | :--------------------------------------------------------------------- |
-|              **[`url`](#url)**              |    `{Boolean\|Function}`    |  `true`  | Enables/Disables `url`/`image-set` functions handling                  |
-|           **[`import`](#import)**           |    `{Boolean\|Function}`    |  `true`  | Enables/Disables `@import` at-rules handling                           |
-|          **[`modules`](#modules)**          | `{Boolean\|String\|Object}` | `false`  | Enables/Disables CSS Modules and their configuration                   |
-|        **[`sourceMap`](#sourcemap)**        |         `{Boolean}`         | `false`  | Enables/Disables generation of source maps                             |
-|    **[`importLoaders`](#importloaders)**    |         `{Number}`          |   `0`    | Enables/Disables or setups number of loaders applied before CSS loader |
-| **[`localsConvention`](#localsconvention)** |         `{String}`          | `'asIs'` | Style of exported classnames                                           |
-|       **[`onlyLocals`](#onlylocals)**       |         `{Boolean}`         | `false`  | Export only locals                                                     |
-|         **[`esModule`](#esmodule)**         |         `{Boolean}`         | `false`  | Use ES modules syntax                                                  |
+|                 Name                  |            Type             |      Default       | Description                                                            |
+| :-----------------------------------: | :-------------------------: | :----------------: | :--------------------------------------------------------------------- |
+|           **[`url`](#url)**           |    `{Boolean\|Function}`    |       `true`       | Enables/Disables `url`/`image-set` functions handling                  |
+|        **[`import`](#import)**        |    `{Boolean\|Function}`    |       `true`       | Enables/Disables `@import` at-rules handling                           |
+|       **[`modules`](#modules)**       | `{Boolean\|String\|Object}` |      `false`       | Enables/Disables CSS Modules and their configuration                   |
+|     **[`sourceMap`](#sourcemap)**     |         `{Boolean}`         | `compiler.devtool` | Enables/Disables generation of source maps                             |
+| **[`importLoaders`](#importloaders)** |         `{Number}`          |        `0`         | Enables/Disables or setups number of loaders applied before CSS loader |
+|      **[`esModule`](#esmodule)**      |         `{Boolean}`         |      `false`       | Use ES modules syntax                                                  |
 
 ### `url`
 
@@ -126,7 +124,7 @@ Type: `Boolean|Function`
 Default: `true`
 
 Enables/Disables `url`/`image-set` functions handling.
-Control `url()` resolving. Absolute URLs and root-relative URLs are not resolving.
+Control `url()` resolving. Absolute URLs are not resolving.
 
 Examples resolutions:
 
@@ -264,13 +262,11 @@ module.exports = {
         test: /\.css$/i,
         loader: 'css-loader',
         options: {
-          import: (parsedImport, resourcePath) => {
-            // parsedImport.url - url of `@import`
-            // parsedImport.media - media query of `@import`
+          import: (url, media, resourcePath) => {
             // resourcePath - path to css file
 
             // Don't handle `style.css` import
-            if (parsedImport.url.includes('style.css')) {
+            if (url.includes('style.css')) {
               return false;
             }
 
@@ -286,7 +282,7 @@ module.exports = {
 ### `modules`
 
 Type: `Boolean|String|Object`
-Default: `false`
+Default: based on filename, `true` for all files matching `/\.module\.\w+$/i.test(filename)` regular expression, more information you can read [here](https://github.com/webpack-contrib/css-loader#auto)
 
 Enables/Disables CSS Modules and their configuration.
 
@@ -415,6 +411,8 @@ exports.locals = {
 
 To import a local classname from another module.
 
+> i We strongly recommend that you specify the extension when importing a file, since it is possible to import a file with any extension and it is not known in advance which file to use.
+
 ```css
 :local(.continueButton) {
   composes: button from 'library/button.css';
@@ -528,10 +526,14 @@ module.exports = {
         options: {
           modules: {
             mode: 'local',
+            auto: true,
             exportGlobals: true,
             localIdentName: '[path][name]__[local]--[hash:base64:5]',
             context: path.resolve(__dirname, 'src'),
-            hashPrefix: 'my-custom-hash',
+            localIdentHashPrefix: 'my-custom-hash',
+            namedExport: true,
+            exportLocalsConvention: 'camelCase',
+            exportOnlyLocals: false,
           },
         },
       },
@@ -543,9 +545,9 @@ module.exports = {
 ##### `auto`
 
 Type: `Boolean|RegExp|Function`
-Default: `'undefined'`
+Default: `'true'`
 
-Allows auto enable css modules based on filename.
+Allows auto enable CSS modules based on filename.
 
 ###### `Boolean`
 
@@ -690,39 +692,12 @@ module.exports = {
 };
 ```
 
-##### `exportGlobals`
-
-Type: `Boolean`
-Default: `false`
-
-Allow `css-loader` to export names from global class or id, so you can use that as local name.
-
-**webpack.config.js**
-
-```js
-module.exports = {
-  module: {
-    rules: [
-      {
-        test: /\.css$/i,
-        loader: 'css-loader',
-        options: {
-          modules: {
-            exportGlobals: true,
-          },
-        },
-      },
-    ],
-  },
-};
-```
-
 ##### `localIdentName`
 
 Type: `String`
 Default: `'[hash:base64]'`
 
-You can configure the generated ident with the `localIdentName` query parameter.
+Allows to configure the generated local ident name.
 See [loader-utils's documentation](https://github.com/webpack/loader-utils#interpolatename) for more information on options.
 
 Recommendations:
@@ -754,13 +729,12 @@ module.exports = {
 };
 ```
 
-##### `context`
+##### `localIdentContext`
 
 Type: `String`
-Default: `undefined`
+Default: `compiler.context`
 
-Allow to redefine basic loader context for local ident name.
-By default we use `rootContext` of loader.
+Allows to redefine basic loader context for local ident name.
 
 **webpack.config.js**
 
@@ -782,12 +756,12 @@ module.exports = {
 };
 ```
 
-##### `hashPrefix`
+##### `localIdentHashPrefix`
 
 Type: `String`
 Default: `undefined`
 
-Allow to add custom hash to generate more unique classes.
+Allows to add custom hash to generate more unique classes.
 
 **webpack.config.js**
 
@@ -800,7 +774,7 @@ module.exports = {
         loader: 'css-loader',
         options: {
           modules: {
-            hashPrefix: 'hash',
+            localIdentHashPrefix: 'hash',
           },
         },
       },
@@ -809,14 +783,11 @@ module.exports = {
 };
 ```
 
-##### `getLocalIdent`
+##### `localIdentRegExp`
 
-Type: `Function`
+Type: `String|RegExp`
 Default: `undefined`
 
-You can also specify the absolute path to your custom `getLocalIdent` function to generate classname based on a different schema.
-By default we use built-in function to generate a classname.
-
 **webpack.config.js**
 
 ```js
@@ -828,9 +799,7 @@ module.exports = {
         loader: 'css-loader',
         options: {
           modules: {
-            getLocalIdent: (context, localIdentName, localName, options) => {
-              return 'whatever_random_class_name';
-            },
+            localIdentRegExp: /page-(.*)\.css/i,
           },
         },
       },
@@ -839,11 +808,14 @@ module.exports = {
 };
 ```
 
-##### `localIdentRegExp`
+##### `getLocalIdent`
 
-Type: `String|RegExp`
+Type: `Function`
 Default: `undefined`
 
+Allows to specify a function to generate the classname.
+By default we use built-in function to generate a classname.
+
 **webpack.config.js**
 
 ```js
@@ -855,7 +827,9 @@ module.exports = {
         loader: 'css-loader',
         options: {
           modules: {
-            localIdentRegExp: /page-(.*)\.css/i,
+            getLocalIdent: (context, localIdentName, localName, options) => {
+              return 'whatever_random_class_name';
+            },
           },
         },
       },
@@ -864,16 +838,37 @@ module.exports = {
 };
 ```
 
-### `sourceMap`
+##### `namedExport`
 
 Type: `Boolean`
 Default: `false`
 
-Enables/Disables generation of source maps.
+Enables/disables ES modules named export for locals.
+
+> ⚠ Names of locals are converted to camelcase, i.e. the `exportLocalsConvention` option has `camelCaseOnly` value by default.
+
+> ⚠ It is not allowed to use JavaScript reserved words in css class names.
+
+**styles.css**
+
+```css
+.foo-baz {
+  color: red;
+}
+.bar {
+  color: blue;
+}
+```
+
+**index.js**
+
+```js
+import { fooBaz, bar } from './styles.css';
 
-To include source maps set the `sourceMap` option.
+console.log(fooBaz, bar);
+```
 
-They are not enabled by default because they expose a runtime overhead and increase in bundle size (JS source maps do not).
+You can enable a ES module named export using:
 
 **webpack.config.js**
 
@@ -885,7 +880,10 @@ module.exports = {
         test: /\.css$/i,
         loader: 'css-loader',
         options: {
-          sourceMap: true,
+          esModule: true,
+          modules: {
+            namedExport: true,
+          },
         },
       },
     ],
@@ -893,14 +891,12 @@ module.exports = {
 };
 ```
 
-### `importLoaders`
-
-Type: `Number`
-Default: `0`
+##### `exportGlobals`
 
-Enables/Disables or setups number of loaders applied before CSS loader.
+Type: `Boolean`
+Default: `false`
 
-The option `importLoaders` allows you to configure how many loaders before `css-loader` should be applied to `@import`ed resources.
+Allow `css-loader` to export names from global class or id, so you can use that as local name.
 
 **webpack.config.js**
 
@@ -910,37 +906,29 @@ module.exports = {
     rules: [
       {
         test: /\.css$/i,
-        use: [
-          'style-loader',
-          {
-            loader: 'css-loader',
-            options: {
-              importLoaders: 2,
-              // 0 => no loaders (default);
-              // 1 => postcss-loader;
-              // 2 => postcss-loader, sass-loader
-            },
+        loader: 'css-loader',
+        options: {
+          modules: {
+            exportGlobals: true,
           },
-          'postcss-loader',
-          'sass-loader',
-        ],
+        },
       },
     ],
   },
 };
 ```
 
-This may change in the future when the module system (i. e. webpack) supports loader matching by origin.
-
-### `localsConvention`
+##### `exportlocalsConvention`
 
 Type: `String`
-Default: `'asIs'`
+Default: based on the `modules.namedExport` option value, if `true` - `camelCaseOnly`, otherwise `asIs`
 
-Style of exported classnames.
+Style of exported class names.
 
 By default, the exported JSON keys mirror the class names (i.e `asIs` value).
 
+> ⚠ Only `camelCaseOnly` value allowed if you set the `namedExport` value to `true`.
+
 |         Name          |    Type    | Description                                                                                      |
 | :-------------------: | :--------: | :----------------------------------------------------------------------------------------------- |
 |     **`'asIs'`**      | `{String}` | Class names will be exported as is.                                                              |
@@ -972,6 +960,7 @@ module.exports = {
         test: /\.css$/i,
         loader: 'css-loader',
         options: {
+          mode: 'local',
           localsConvention: 'camelCase',
         },
       },
@@ -980,7 +969,7 @@ module.exports = {
 };
 ```
 
-### `onlyLocals`
+##### `exportOnlyLocals`
 
 Type: `Boolean`
 Default: `false`
@@ -1001,7 +990,9 @@ module.exports = {
         test: /\.css$/i,
         loader: 'css-loader',
         options: {
-          onlyLocals: true,
+          modules: {
+            exportOnlyLocals: true,
+          },
         },
       },
     ],
@@ -1009,15 +1000,79 @@ module.exports = {
 };
 ```
 
+### `sourceMap`
+
+Type: `Boolean`
+Default: depends on the `compiler.devtool` value
+
+By default generation of source maps depends on the [`devtool`](https://webpack.js.org/configuration/devtool/) option. All values enable source map generation except `eval` and `false` value.
+
+**webpack.config.js**
+
+```js
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.css$/i,
+        loader: 'css-loader',
+        options: {
+          sourceMap: true,
+        },
+      },
+    ],
+  },
+};
+```
+
+### `importLoaders`
+
+Type: `Number`
+Default: `0`
+
+Enables/Disables or setups number of loaders applied before CSS loader.
+
+The option `importLoaders` allows you to configure how many loaders before `css-loader` should be applied to `@import`ed resources.
+
+**webpack.config.js**
+
+```js
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.css$/i,
+        use: [
+          'style-loader',
+          {
+            loader: 'css-loader',
+            options: {
+              importLoaders: 2,
+              // 0 => no loaders (default);
+              // 1 => postcss-loader;
+              // 2 => postcss-loader, sass-loader
+            },
+          },
+          'postcss-loader',
+          'sass-loader',
+        ],
+      },
+    ],
+  },
+};
+```
+
+This may change in the future when the module system (i. e. webpack) supports loader matching by origin.
+
 ### `esModule`
 
 Type: `Boolean`
-Default: `false`
+Default: `true`
 
-By default, `css-loader` generates JS modules that use the CommonJS modules syntax.
+By default, `css-loader` generates JS modules that use the ES modules syntax.
 There are some cases in which using ES modules is beneficial, like in the case of [module concatenation](https://webpack.js.org/plugins/module-concatenation-plugin/) and [tree shaking](https://webpack.js.org/guides/tree-shaking/).
 
-You can enable a ES module syntax using:
+You can enable a CommonJS modules syntax using:
 
 **webpack.config.js**
 
@@ -1029,7 +1084,7 @@ module.exports = {
         test: /\.css$/i,
         loader: 'css-loader',
         options: {
-          esModule: true,
+          esModule: false,
         },
       },
     ],
@@ -1084,7 +1139,6 @@ module.exports = {
   module: {
     rules: [
       {
-        // For CSS modules
         // For pure CSS - /\.css$/i,
         // For Sass/SCSS - /\.((c|sa|sc)ss)$/i,
         // For Less - /\.((c|le)ss)$/i,
@@ -1106,9 +1160,7 @@ module.exports = {
             options: { plugins: () => [postcssPresetEnv({ stage: 0 })] },
           },
           // Can be `less-loader`
-          // The `test` property should be `\.less/i`
           {
-            test: /\.s[ac]ss$/i,
             loader: 'sass-loader',
           },
         ],
@@ -1125,6 +1177,39 @@ module.exports = {
 };
 ```
 
+### Resolve unresolved URLs using an alias
+
+**index.css**
+
+```css
+.class {
+  background: url(/assets/unresolved/img.png);
+}
+```
+
+**webpack.config.js**
+
+```js
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.css$/i,
+        use: ['style-loader', 'css-loader'],
+      },
+    ],
+  },
+  resolve: {
+    alias: {
+      '/assets/unresolved/img.png': path.resolve(
+        __dirname,
+        'assets/real-path-to-img/img.png'
+      ),
+    },
+  },
+};
+```
+
 ## Contributing
 
 Please take a moment to read our contributing guidelines if you haven't yet done so.
diff --git a/babel.config.js b/babel.config.js
index c428f395..2cfa79c8 100644
--- a/babel.config.js
+++ b/babel.config.js
@@ -10,7 +10,7 @@ module.exports = (api) => {
         '@babel/preset-env',
         {
           targets: {
-            node: '8.9.0',
+            node: '10.13.0',
           },
         },
       ],
diff --git a/package-lock.json b/package-lock.json
index 4d9b3044..8e02a53f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,13 +1,13 @@
 {
   "name": "css-loader",
-  "version": "3.6.0",
+  "version": "4.0.0",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
     "@babel/cli": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.10.1.tgz",
-      "integrity": "sha512-cVB+dXeGhMOqViIaZs3A9OUAe4pKw4SBNdMw6yHJMYR7s4TB+Cei7ThquV/84O19PdIFWuwe03vxxES0BHUm5g==",
+      "version": "7.10.5",
+      "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.10.5.tgz",
+      "integrity": "sha512-j9H9qSf3kLdM0Ao3aGPbGZ73mEA9XazuupcS6cDGWuiyAcANoguhP0r2Lx32H5JGw4sSSoHG3x/mxVnHgvOoyA==",
       "dev": true,
       "requires": {
         "chokidar": "^2.1.8",
@@ -15,7 +15,7 @@
         "convert-source-map": "^1.1.0",
         "fs-readdir-recursive": "^1.1.0",
         "glob": "^7.0.0",
-        "lodash": "^4.17.13",
+        "lodash": "^4.17.19",
         "make-dir": "^2.1.0",
         "slash": "^2.0.0",
         "source-map": "^0.5.0"
@@ -30,18 +30,18 @@
       }
     },
     "@babel/code-frame": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
-      "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+      "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
       "dev": true,
       "requires": {
-        "@babel/highlight": "^7.10.1"
+        "@babel/highlight": "^7.10.4"
       }
     },
     "@babel/compat-data": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.1.tgz",
-      "integrity": "sha512-CHvCj7So7iCkGKPRFUfryXIkU2gSBw7VSZFYLsqVhrS47269VK2Hfi9S/YcublPMW8k1u2bQBlbDruoQEm4fgw==",
+      "version": "7.10.5",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.5.tgz",
+      "integrity": "sha512-mPVoWNzIpYJHbWje0if7Ck36bpbtTvIxOi9+6WSK9wjGEXearAqlwBoTQvVjsAY2VIwgcs8V940geY3okzRCEw==",
       "dev": true,
       "requires": {
         "browserslist": "^4.12.0",
@@ -58,24 +58,24 @@
       }
     },
     "@babel/core": {
-      "version": "7.10.2",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.2.tgz",
-      "integrity": "sha512-KQmV9yguEjQsXqyOUGKjS4+3K8/DlOCE2pZcq4augdQmtTy5iv5EHtmMSJ7V4c1BIPjuwtZYqYLCq9Ga+hGBRQ==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.10.1",
-        "@babel/generator": "^7.10.2",
-        "@babel/helper-module-transforms": "^7.10.1",
-        "@babel/helpers": "^7.10.1",
-        "@babel/parser": "^7.10.2",
-        "@babel/template": "^7.10.1",
-        "@babel/traverse": "^7.10.1",
-        "@babel/types": "^7.10.2",
+      "version": "7.10.5",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.5.tgz",
+      "integrity": "sha512-O34LQooYVDXPl7QWCdW9p4NR+QlzOr7xShPPJz8GsuCU3/8ua/wqTr7gmnxXv+WBESiGU/G5s16i6tUvHkNb+w==",
+      "dev": true,
+      "requires": {
+        "@babel/code-frame": "^7.10.4",
+        "@babel/generator": "^7.10.5",
+        "@babel/helper-module-transforms": "^7.10.5",
+        "@babel/helpers": "^7.10.4",
+        "@babel/parser": "^7.10.5",
+        "@babel/template": "^7.10.4",
+        "@babel/traverse": "^7.10.5",
+        "@babel/types": "^7.10.5",
         "convert-source-map": "^1.7.0",
         "debug": "^4.1.0",
         "gensync": "^1.0.0-beta.1",
         "json5": "^2.1.2",
-        "lodash": "^4.17.13",
+        "lodash": "^4.17.19",
         "resolve": "^1.3.2",
         "semver": "^5.4.1",
         "source-map": "^0.5.0"
@@ -90,15 +90,6 @@
             "ms": "^2.1.1"
           }
         },
-        "json5": {
-          "version": "2.1.3",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
-          "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.5"
-          }
-        },
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -120,14 +111,13 @@
       }
     },
     "@babel/generator": {
-      "version": "7.10.2",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz",
-      "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==",
+      "version": "7.10.5",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.5.tgz",
+      "integrity": "sha512-3vXxr3FEW7E7lJZiWQ3bM4+v/Vyr9C+hpolQ8BGFr9Y8Ri2tFLWTixmwKBafDujO1WVah4fhZBeU1bieKdghig==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.2",
+        "@babel/types": "^7.10.5",
         "jsesc": "^2.5.1",
-        "lodash": "^4.17.13",
         "source-map": "^0.5.0"
       },
       "dependencies": {
@@ -140,31 +130,31 @@
       }
     },
     "@babel/helper-annotate-as-pure": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz",
-      "integrity": "sha512-ewp3rvJEwLaHgyWGe4wQssC2vjks3E80WiUe2BpMb0KhreTjMROCbxXcEovTrbeGVdQct5VjQfrv9EgC+xMzCw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz",
+      "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.1"
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-builder-binary-assignment-operator-visitor": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.1.tgz",
-      "integrity": "sha512-cQpVq48EkYxUU0xozpGCLla3wlkdRRqLWu1ksFMXA9CM5KQmyyRpSEsYXbao7JUkOw/tAaYKCaYyZq6HOFYtyw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz",
+      "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==",
       "dev": true,
       "requires": {
-        "@babel/helper-explode-assignable-expression": "^7.10.1",
-        "@babel/types": "^7.10.1"
+        "@babel/helper-explode-assignable-expression": "^7.10.4",
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-compilation-targets": {
-      "version": "7.10.2",
-      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.2.tgz",
-      "integrity": "sha512-hYgOhF4To2UTB4LTaZepN/4Pl9LD4gfbJx8A34mqoluT8TLbof1mhUlYuNWTEebONa8+UlCC4X0TEXu7AOUyGA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz",
+      "integrity": "sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==",
       "dev": true,
       "requires": {
-        "@babel/compat-data": "^7.10.1",
+        "@babel/compat-data": "^7.10.4",
         "browserslist": "^4.12.0",
         "invariant": "^2.2.4",
         "levenary": "^1.1.1",
@@ -180,337 +170,337 @@
       }
     },
     "@babel/helper-create-class-features-plugin": {
-      "version": "7.10.2",
-      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.2.tgz",
-      "integrity": "sha512-5C/QhkGFh1vqcziq1vAL6SI9ymzUp8BCYjFpvYVhWP4DlATIb3u5q3iUd35mvlyGs8fO7hckkW7i0tmH+5+bvQ==",
+      "version": "7.10.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz",
+      "integrity": "sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A==",
       "dev": true,
       "requires": {
-        "@babel/helper-function-name": "^7.10.1",
-        "@babel/helper-member-expression-to-functions": "^7.10.1",
-        "@babel/helper-optimise-call-expression": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1",
-        "@babel/helper-replace-supers": "^7.10.1",
-        "@babel/helper-split-export-declaration": "^7.10.1"
+        "@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": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.1.tgz",
-      "integrity": "sha512-Rx4rHS0pVuJn5pJOqaqcZR4XSgeF9G/pO/79t+4r7380tXFJdzImFnxMU19f83wjSrmKHq6myrM10pFHTGzkUA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz",
+      "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==",
       "dev": true,
       "requires": {
-        "@babel/helper-annotate-as-pure": "^7.10.1",
-        "@babel/helper-regex": "^7.10.1",
+        "@babel/helper-annotate-as-pure": "^7.10.4",
+        "@babel/helper-regex": "^7.10.4",
         "regexpu-core": "^4.7.0"
       }
     },
     "@babel/helper-define-map": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.1.tgz",
-      "integrity": "sha512-+5odWpX+OnvkD0Zmq7panrMuAGQBu6aPUgvMzuMGo4R+jUOvealEj2hiqI6WhxgKrTpFoFj0+VdsuA8KDxHBDg==",
+      "version": "7.10.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz",
+      "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-function-name": "^7.10.1",
-        "@babel/types": "^7.10.1",
-        "lodash": "^4.17.13"
+        "@babel/helper-function-name": "^7.10.4",
+        "@babel/types": "^7.10.5",
+        "lodash": "^4.17.19"
       }
     },
     "@babel/helper-explode-assignable-expression": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.1.tgz",
-      "integrity": "sha512-vcUJ3cDjLjvkKzt6rHrl767FeE7pMEYfPanq5L16GRtrXIoznc0HykNW2aEYkcnP76P0isoqJ34dDMFZwzEpJg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz",
+      "integrity": "sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==",
       "dev": true,
       "requires": {
-        "@babel/traverse": "^7.10.1",
-        "@babel/types": "^7.10.1"
+        "@babel/traverse": "^7.10.4",
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-function-name": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz",
-      "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
+      "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-get-function-arity": "^7.10.1",
-        "@babel/template": "^7.10.1",
-        "@babel/types": "^7.10.1"
+        "@babel/helper-get-function-arity": "^7.10.4",
+        "@babel/template": "^7.10.4",
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-get-function-arity": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz",
-      "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
+      "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.1"
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-hoist-variables": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.1.tgz",
-      "integrity": "sha512-vLm5srkU8rI6X3+aQ1rQJyfjvCBLXP8cAGeuw04zeAM2ItKb1e7pmVmLyHb4sDaAYnLL13RHOZPLEtcGZ5xvjg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz",
+      "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.1"
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-member-expression-to-functions": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.1.tgz",
-      "integrity": "sha512-u7XLXeM2n50gb6PWJ9hoO5oO7JFPaZtrh35t8RqKLT1jFKj9IWeD1zrcrYp1q1qiZTdEarfDWfTIP8nGsu0h5g==",
+      "version": "7.10.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.5.tgz",
+      "integrity": "sha512-HiqJpYD5+WopCXIAbQDG0zye5XYVvcO9w/DHp5GsaGkRUaamLj2bEtu6i8rnGGprAhHM3qidCMgp71HF4endhA==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.1"
+        "@babel/types": "^7.10.5"
       }
     },
     "@babel/helper-module-imports": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.1.tgz",
-      "integrity": "sha512-SFxgwYmZ3HZPyZwJRiVNLRHWuW2OgE5k2nrVs6D9Iv4PPnXVffuEHy83Sfx/l4SqF+5kyJXjAyUmrG7tNm+qVg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz",
+      "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.1"
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-module-transforms": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz",
-      "integrity": "sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg==",
+      "version": "7.10.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.5.tgz",
+      "integrity": "sha512-4P+CWMJ6/j1W915ITJaUkadLObmCRRSC234uctJfn/vHrsLNxsR8dwlcXv9ZhJWzl77awf+mWXSZEKt5t0OnlA==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-imports": "^7.10.1",
-        "@babel/helper-replace-supers": "^7.10.1",
-        "@babel/helper-simple-access": "^7.10.1",
-        "@babel/helper-split-export-declaration": "^7.10.1",
-        "@babel/template": "^7.10.1",
-        "@babel/types": "^7.10.1",
-        "lodash": "^4.17.13"
+        "@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.10.4",
+        "@babel/template": "^7.10.4",
+        "@babel/types": "^7.10.5",
+        "lodash": "^4.17.19"
       }
     },
     "@babel/helper-optimise-call-expression": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.1.tgz",
-      "integrity": "sha512-a0DjNS1prnBsoKx83dP2falChcs7p3i8VMzdrSbfLhuQra/2ENC4sbri34dz/rWmDADsmF1q5GbfaXydh0Jbjg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz",
+      "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.1"
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-plugin-utils": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.1.tgz",
-      "integrity": "sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+      "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
       "dev": true
     },
     "@babel/helper-regex": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.1.tgz",
-      "integrity": "sha512-7isHr19RsIJWWLLFn21ubFt223PjQyg1HY7CZEMRr820HttHPpVvrsIN3bUOo44DEfFV4kBXO7Abbn9KTUZV7g==",
+      "version": "7.10.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz",
+      "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==",
       "dev": true,
       "requires": {
-        "lodash": "^4.17.13"
+        "lodash": "^4.17.19"
       }
     },
     "@babel/helper-remap-async-to-generator": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.1.tgz",
-      "integrity": "sha512-RfX1P8HqsfgmJ6CwaXGKMAqbYdlleqglvVtht0HGPMSsy2V6MqLlOJVF/0Qyb/m2ZCi2z3q3+s6Pv7R/dQuZ6A==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz",
+      "integrity": "sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg==",
       "dev": true,
       "requires": {
-        "@babel/helper-annotate-as-pure": "^7.10.1",
-        "@babel/helper-wrap-function": "^7.10.1",
-        "@babel/template": "^7.10.1",
-        "@babel/traverse": "^7.10.1",
-        "@babel/types": "^7.10.1"
+        "@babel/helper-annotate-as-pure": "^7.10.4",
+        "@babel/helper-wrap-function": "^7.10.4",
+        "@babel/template": "^7.10.4",
+        "@babel/traverse": "^7.10.4",
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-replace-supers": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz",
-      "integrity": "sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
+      "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
       "dev": true,
       "requires": {
-        "@babel/helper-member-expression-to-functions": "^7.10.1",
-        "@babel/helper-optimise-call-expression": "^7.10.1",
-        "@babel/traverse": "^7.10.1",
-        "@babel/types": "^7.10.1"
+        "@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": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz",
-      "integrity": "sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz",
+      "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==",
       "dev": true,
       "requires": {
-        "@babel/template": "^7.10.1",
-        "@babel/types": "^7.10.1"
+        "@babel/template": "^7.10.4",
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-split-export-declaration": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz",
-      "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz",
+      "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.1"
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-validator-identifier": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz",
-      "integrity": "sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
+      "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
       "dev": true
     },
     "@babel/helper-wrap-function": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.1.tgz",
-      "integrity": "sha512-C0MzRGteVDn+H32/ZgbAv5r56f2o1fZSA/rj/TYo8JEJNHg+9BdSmKBUND0shxWRztWhjlT2cvHYuynpPsVJwQ==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz",
+      "integrity": "sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==",
       "dev": true,
       "requires": {
-        "@babel/helper-function-name": "^7.10.1",
-        "@babel/template": "^7.10.1",
-        "@babel/traverse": "^7.10.1",
-        "@babel/types": "^7.10.1"
+        "@babel/helper-function-name": "^7.10.4",
+        "@babel/template": "^7.10.4",
+        "@babel/traverse": "^7.10.4",
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helpers": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.1.tgz",
-      "integrity": "sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz",
+      "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==",
       "dev": true,
       "requires": {
-        "@babel/template": "^7.10.1",
-        "@babel/traverse": "^7.10.1",
-        "@babel/types": "^7.10.1"
+        "@babel/template": "^7.10.4",
+        "@babel/traverse": "^7.10.4",
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/highlight": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
-      "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+      "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
       "dev": true,
       "requires": {
-        "@babel/helper-validator-identifier": "^7.10.1",
+        "@babel/helper-validator-identifier": "^7.10.4",
         "chalk": "^2.0.0",
         "js-tokens": "^4.0.0"
       }
     },
     "@babel/parser": {
-      "version": "7.10.2",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz",
-      "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==",
+      "version": "7.10.5",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.5.tgz",
+      "integrity": "sha512-wfryxy4bE1UivvQKSQDU4/X6dr+i8bctjUjj8Zyt3DQy7NtPizJXT8M52nqpNKL+nq2PW8lxk4ZqLj0fD4B4hQ==",
       "dev": true
     },
     "@babel/plugin-proposal-async-generator-functions": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.1.tgz",
-      "integrity": "sha512-vzZE12ZTdB336POZjmpblWfNNRpMSua45EYnRigE2XsZxcXcIyly2ixnTJasJE4Zq3U7t2d8rRF7XRUuzHxbOw==",
+      "version": "7.10.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz",
+      "integrity": "sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
-        "@babel/helper-remap-async-to-generator": "^7.10.1",
+        "@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": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.1.tgz",
-      "integrity": "sha512-sqdGWgoXlnOdgMXU+9MbhzwFRgxVLeiGBqTrnuS7LC2IBU31wSsESbTUreT2O418obpfPdGUR2GbEufZF1bpqw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz",
+      "integrity": "sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-create-class-features-plugin": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-proposal-dynamic-import": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.1.tgz",
-      "integrity": "sha512-Cpc2yUVHTEGPlmiQzXj026kqwjEQAD9I4ZC16uzdbgWgitg/UHKHLffKNCQZ5+y8jpIZPJcKcwsr2HwPh+w3XA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz",
+      "integrity": "sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.4",
         "@babel/plugin-syntax-dynamic-import": "^7.8.0"
       }
     },
     "@babel/plugin-proposal-json-strings": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.1.tgz",
-      "integrity": "sha512-m8r5BmV+ZLpWPtMY2mOKN7wre6HIO4gfIiV+eOmsnZABNenrt/kzYBwrh+KOfgumSWpnlGs5F70J8afYMSJMBg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz",
+      "integrity": "sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.4",
         "@babel/plugin-syntax-json-strings": "^7.8.0"
       }
     },
     "@babel/plugin-proposal-nullish-coalescing-operator": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.1.tgz",
-      "integrity": "sha512-56cI/uHYgL2C8HVuHOuvVowihhX0sxb3nnfVRzUeVHTWmRHTZrKuAh/OBIMggGU/S1g/1D2CRCXqP+3u7vX7iA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz",
+      "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.4",
         "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
       }
     },
     "@babel/plugin-proposal-numeric-separator": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.1.tgz",
-      "integrity": "sha512-jjfym4N9HtCiNfyyLAVD8WqPYeHUrw4ihxuAynWj6zzp2gf9Ey2f7ImhFm6ikB3CLf5Z/zmcJDri6B4+9j9RsA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz",
+      "integrity": "sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4",
+        "@babel/plugin-syntax-numeric-separator": "^7.10.4"
       }
     },
     "@babel/plugin-proposal-object-rest-spread": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.1.tgz",
-      "integrity": "sha512-Z+Qri55KiQkHh7Fc4BW6o+QBuTagbOp9txE+4U1i79u9oWlf2npkiDx+Rf3iK3lbcHBuNy9UOkwuR5wOMH3LIQ==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz",
+      "integrity": "sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.4",
         "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
-        "@babel/plugin-transform-parameters": "^7.10.1"
+        "@babel/plugin-transform-parameters": "^7.10.4"
       }
     },
     "@babel/plugin-proposal-optional-catch-binding": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.1.tgz",
-      "integrity": "sha512-VqExgeE62YBqI3ogkGoOJp1R6u12DFZjqwJhqtKc2o5m1YTUuUWnos7bZQFBhwkxIFpWYJ7uB75U7VAPPiKETA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz",
+      "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.4",
         "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
       }
     },
     "@babel/plugin-proposal-optional-chaining": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.1.tgz",
-      "integrity": "sha512-dqQj475q8+/avvok72CF3AOSV/SGEcH29zT5hhohqqvvZ2+boQoOr7iGldBG5YXTO2qgCgc2B3WvVLUdbeMlGA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.4.tgz",
+      "integrity": "sha512-ZIhQIEeavTgouyMSdZRap4VPPHqJJ3NEs2cuHs5p0erH+iz6khB0qfgU8g7UuJkG88+fBMy23ZiU+nuHvekJeQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.4",
         "@babel/plugin-syntax-optional-chaining": "^7.8.0"
       }
     },
     "@babel/plugin-proposal-private-methods": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.1.tgz",
-      "integrity": "sha512-RZecFFJjDiQ2z6maFprLgrdnm0OzoC23Mx89xf1CcEsxmHuzuXOdniEuI+S3v7vjQG4F5sa6YtUp+19sZuSxHg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz",
+      "integrity": "sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-create-class-features-plugin": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-proposal-unicode-property-regex": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.1.tgz",
-      "integrity": "sha512-JjfngYRvwmPwmnbRZyNiPFI8zxCZb8euzbCG/LxyKdeTb59tVciKo9GK9bi6JYKInk1H11Dq9j/zRqIH4KigfQ==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz",
+      "integrity": "sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-create-regexp-features-plugin": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-syntax-async-generators": {
@@ -532,12 +522,12 @@
       }
     },
     "@babel/plugin-syntax-class-properties": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.1.tgz",
-      "integrity": "sha512-Gf2Yx/iRs1JREDtVZ56OrjjgFHCaldpTnuy9BHla10qyVT3YkIIGEtoDWhyop0ksu1GvNjHIoYRBqm3zoR1jyQ==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz",
+      "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-syntax-dynamic-import": {
@@ -549,6 +539,15 @@
         "@babel/helper-plugin-utils": "^7.8.0"
       }
     },
+    "@babel/plugin-syntax-import-meta": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
+      "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.10.4"
+      }
+    },
     "@babel/plugin-syntax-json-strings": {
       "version": "7.8.3",
       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
@@ -559,12 +558,12 @@
       }
     },
     "@babel/plugin-syntax-logical-assignment-operators": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.1.tgz",
-      "integrity": "sha512-XyHIFa9kdrgJS91CUH+ccPVTnJShr8nLGc5bG2IhGXv5p1Rd+8BleGE5yzIg2Nc1QZAdHDa0Qp4m6066OL96Iw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+      "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-syntax-nullish-coalescing-operator": {
@@ -577,12 +576,12 @@
       }
     },
     "@babel/plugin-syntax-numeric-separator": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.1.tgz",
-      "integrity": "sha512-uTd0OsHrpe3tH5gRPTxG8Voh99/WCU78vIm5NMRYPAqC8lR4vajt6KkCAknCHrx24vkPdd/05yfdGSB4EIY2mg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+      "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-syntax-object-rest-spread": {
@@ -613,394 +612,393 @@
       }
     },
     "@babel/plugin-syntax-top-level-await": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.1.tgz",
-      "integrity": "sha512-hgA5RYkmZm8FTFT3yu2N9Bx7yVVOKYT6yEdXXo6j2JTm0wNxgqaGeQVaSHRjhfnQbX91DtjFB6McRFSlcJH3xQ==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz",
+      "integrity": "sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-arrow-functions": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.1.tgz",
-      "integrity": "sha512-6AZHgFJKP3DJX0eCNJj01RpytUa3SOGawIxweHkNX2L6PYikOZmoh5B0d7hIHaIgveMjX990IAa/xK7jRTN8OA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz",
+      "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-async-to-generator": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.1.tgz",
-      "integrity": "sha512-XCgYjJ8TY2slj6SReBUyamJn3k2JLUIiiR5b6t1mNCMSvv7yx+jJpaewakikp0uWFQSF7ChPPoe3dHmXLpISkg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz",
+      "integrity": "sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-imports": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1",
-        "@babel/helper-remap-async-to-generator": "^7.10.1"
+        "@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": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.1.tgz",
-      "integrity": "sha512-B7K15Xp8lv0sOJrdVAoukKlxP9N59HS48V1J3U/JGj+Ad+MHq+am6xJVs85AgXrQn4LV8vaYFOB+pr/yIuzW8Q==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz",
+      "integrity": "sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-block-scoping": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.1.tgz",
-      "integrity": "sha512-8bpWG6TtF5akdhIm/uWTyjHqENpy13Fx8chg7pFH875aNLwX8JxIxqm08gmAT+Whe6AOmaTeLPe7dpLbXt+xUw==",
+      "version": "7.10.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.5.tgz",
+      "integrity": "sha512-6Ycw3hjpQti0qssQcA6AMSFDHeNJ++R6dIMnpRqUjFeBBTmTDPa8zgF90OVfTvAo11mXZTlVUViY1g8ffrURLg==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
-        "lodash": "^4.17.13"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-classes": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.1.tgz",
-      "integrity": "sha512-P9V0YIh+ln/B3RStPoXpEQ/CoAxQIhRSUn7aXqQ+FZJ2u8+oCtjIXR3+X0vsSD8zv+mb56K7wZW1XiDTDGiDRQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.10.1",
-        "@babel/helper-define-map": "^7.10.1",
-        "@babel/helper-function-name": "^7.10.1",
-        "@babel/helper-optimise-call-expression": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1",
-        "@babel/helper-replace-supers": "^7.10.1",
-        "@babel/helper-split-export-declaration": "^7.10.1",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz",
+      "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==",
+      "dev": true,
+      "requires": {
+        "@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": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.1.tgz",
-      "integrity": "sha512-mqSrGjp3IefMsXIenBfGcPXxJxweQe2hEIwMQvjtiDQ9b1IBvDUjkAtV/HMXX47/vXf14qDNedXsIiNd1FmkaQ==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz",
+      "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-destructuring": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.1.tgz",
-      "integrity": "sha512-V/nUc4yGWG71OhaTH705pU8ZSdM6c1KmmLP8ys59oOYbT7RpMYAR3MsVOt6OHL0WzG7BlTU076va9fjJyYzJMA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz",
+      "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-dotall-regex": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.1.tgz",
-      "integrity": "sha512-19VIMsD1dp02RvduFUmfzj8uknaO3uiHHF0s3E1OHnVsNj8oge8EQ5RzHRbJjGSetRnkEuBYO7TG1M5kKjGLOA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz",
+      "integrity": "sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-create-regexp-features-plugin": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-duplicate-keys": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.1.tgz",
-      "integrity": "sha512-wIEpkX4QvX8Mo9W6XF3EdGttrIPZWozHfEaDTU0WJD/TDnXMvdDh30mzUl/9qWhnf7naicYartcEfUghTCSNpA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz",
+      "integrity": "sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-exponentiation-operator": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.1.tgz",
-      "integrity": "sha512-lr/przdAbpEA2BUzRvjXdEDLrArGRRPwbaF9rvayuHRvdQ7lUTTkZnhZrJ4LE2jvgMRFF4f0YuPQ20vhiPYxtA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz",
+      "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==",
       "dev": true,
       "requires": {
-        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-for-of": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.1.tgz",
-      "integrity": "sha512-US8KCuxfQcn0LwSCMWMma8M2R5mAjJGsmoCBVwlMygvmDUMkTCykc84IqN1M7t+agSfOmLYTInLCHJM+RUoz+w==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz",
+      "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-function-name": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.1.tgz",
-      "integrity": "sha512-//bsKsKFBJfGd65qSNNh1exBy5Y9gD9ZN+DvrJ8f7HXr4avE5POW6zB7Rj6VnqHV33+0vXWUwJT0wSHubiAQkw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz",
+      "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==",
       "dev": true,
       "requires": {
-        "@babel/helper-function-name": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-function-name": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-literals": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.1.tgz",
-      "integrity": "sha512-qi0+5qgevz1NHLZroObRm5A+8JJtibb7vdcPQF1KQE12+Y/xxl8coJ+TpPW9iRq+Mhw/NKLjm+5SHtAHCC7lAw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz",
+      "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-member-expression-literals": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.1.tgz",
-      "integrity": "sha512-UmaWhDokOFT2GcgU6MkHC11i0NQcL63iqeufXWfRy6pUOGYeCGEKhvfFO6Vz70UfYJYHwveg62GS83Rvpxn+NA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz",
+      "integrity": "sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-modules-amd": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.1.tgz",
-      "integrity": "sha512-31+hnWSFRI4/ACFr1qkboBbrTxoBIzj7qA69qlq8HY8p7+YCzkCT6/TvQ1a4B0z27VeWtAeJd6pr5G04dc1iHw==",
+      "version": "7.10.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz",
+      "integrity": "sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-transforms": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1",
+        "@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": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.1.tgz",
-      "integrity": "sha512-AQG4fc3KOah0vdITwt7Gi6hD9BtQP/8bhem7OjbaMoRNCH5Djx42O2vYMfau7QnAzQCa+RJnhJBmFFMGpQEzrg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz",
+      "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-transforms": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1",
-        "@babel/helper-simple-access": "^7.10.1",
+        "@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": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.1.tgz",
-      "integrity": "sha512-ewNKcj1TQZDL3YnO85qh9zo1YF1CHgmSTlRQgHqe63oTrMI85cthKtZjAiZSsSNjPQ5NCaYo5QkbYqEw1ZBgZA==",
+      "version": "7.10.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz",
+      "integrity": "sha512-f4RLO/OL14/FP1AEbcsWMzpbUz6tssRaeQg11RH1BP/XnPpRoVwgeYViMFacnkaw4k4wjRSjn3ip1Uw9TaXuMw==",
       "dev": true,
       "requires": {
-        "@babel/helper-hoist-variables": "^7.10.1",
-        "@babel/helper-module-transforms": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1",
+        "@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": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.1.tgz",
-      "integrity": "sha512-EIuiRNMd6GB6ulcYlETnYYfgv4AxqrswghmBRQbWLHZxN4s7mupxzglnHqk9ZiUpDI4eRWewedJJNj67PWOXKA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz",
+      "integrity": "sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-transforms": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-module-transforms": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-named-capturing-groups-regex": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz",
-      "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz",
+      "integrity": "sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.8.3"
+        "@babel/helper-create-regexp-features-plugin": "^7.10.4"
       }
     },
     "@babel/plugin-transform-new-target": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.1.tgz",
-      "integrity": "sha512-MBlzPc1nJvbmO9rPr1fQwXOM2iGut+JC92ku6PbiJMMK7SnQc1rytgpopveE3Evn47gzvGYeCdgfCDbZo0ecUw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz",
+      "integrity": "sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-object-super": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.1.tgz",
-      "integrity": "sha512-WnnStUDN5GL+wGQrJylrnnVlFhFmeArINIR9gjhSeYyvroGhBrSAXYg/RHsnfzmsa+onJrTJrEClPzgNmmQ4Gw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz",
+      "integrity": "sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
-        "@babel/helper-replace-supers": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4",
+        "@babel/helper-replace-supers": "^7.10.4"
       }
     },
     "@babel/plugin-transform-parameters": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.1.tgz",
-      "integrity": "sha512-tJ1T0n6g4dXMsL45YsSzzSDZCxiHXAQp/qHrucOq5gEHncTA3xDxnd5+sZcoQp+N1ZbieAaB8r/VUCG0gqseOg==",
+      "version": "7.10.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz",
+      "integrity": "sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw==",
       "dev": true,
       "requires": {
-        "@babel/helper-get-function-arity": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-get-function-arity": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-property-literals": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.1.tgz",
-      "integrity": "sha512-Kr6+mgag8auNrgEpbfIWzdXYOvqDHZOF0+Bx2xh4H2EDNwcbRb9lY6nkZg8oSjsX+DH9Ebxm9hOqtKW+gRDeNA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz",
+      "integrity": "sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-regenerator": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.1.tgz",
-      "integrity": "sha512-B3+Y2prScgJ2Bh/2l9LJxKbb8C8kRfsG4AdPT+n7ixBHIxJaIG8bi8tgjxUMege1+WqSJ+7gu1YeoMVO3gPWzw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz",
+      "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==",
       "dev": true,
       "requires": {
         "regenerator-transform": "^0.14.2"
       }
     },
     "@babel/plugin-transform-reserved-words": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.1.tgz",
-      "integrity": "sha512-qN1OMoE2nuqSPmpTqEM7OvJ1FkMEV+BjVeZZm9V9mq/x1JLKQ4pcv8riZJMNN3u2AUGl0ouOMjRr2siecvHqUQ==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz",
+      "integrity": "sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-shorthand-properties": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.1.tgz",
-      "integrity": "sha512-AR0E/lZMfLstScFwztApGeyTHJ5u3JUKMjneqRItWeEqDdHWZwAOKycvQNCasCK/3r5YXsuNG25funcJDu7Y2g==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz",
+      "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-spread": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.1.tgz",
-      "integrity": "sha512-8wTPym6edIrClW8FI2IoaePB91ETOtg36dOkj3bYcNe7aDMN2FXEoUa+WrmPc4xa1u2PQK46fUX2aCb+zo9rfw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.4.tgz",
+      "integrity": "sha512-1e/51G/Ni+7uH5gktbWv+eCED9pP8ZpRhZB3jOaI3mmzfvJTWHkuyYTv0Z5PYtyM+Tr2Ccr9kUdQxn60fI5WuQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-sticky-regex": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.1.tgz",
-      "integrity": "sha512-j17ojftKjrL7ufX8ajKvwRilwqTok4q+BjkknmQw9VNHnItTyMP5anPFzxFJdCQs7clLcWpCV3ma+6qZWLnGMA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz",
+      "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
-        "@babel/helper-regex": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4",
+        "@babel/helper-regex": "^7.10.4"
       }
     },
     "@babel/plugin-transform-template-literals": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.1.tgz",
-      "integrity": "sha512-t7B/3MQf5M1T9hPCRG28DNGZUuxAuDqLYS03rJrIk2prj/UV7Z6FOneijhQhnv/Xa039vidXeVbvjK2SK5f7Gg==",
+      "version": "7.10.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz",
+      "integrity": "sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw==",
       "dev": true,
       "requires": {
-        "@babel/helper-annotate-as-pure": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-annotate-as-pure": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-typeof-symbol": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.1.tgz",
-      "integrity": "sha512-qX8KZcmbvA23zDi+lk9s6hC1FM7jgLHYIjuLgULgc8QtYnmB3tAVIYkNoKRQ75qWBeyzcoMoK8ZQmogGtC/w0g==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz",
+      "integrity": "sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-unicode-escapes": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.1.tgz",
-      "integrity": "sha512-zZ0Poh/yy1d4jeDWpx/mNwbKJVwUYJX73q+gyh4bwtG0/iUlzdEu0sLMda8yuDFS6LBQlT/ST1SJAR6zYwXWgw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz",
+      "integrity": "sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-unicode-regex": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.1.tgz",
-      "integrity": "sha512-Y/2a2W299k0VIUdbqYm9X2qS6fE0CUBhhiPpimK6byy7OJ/kORLlIX+J6UrjgNu5awvs62k+6RSslxhcvVw2Tw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz",
+      "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-create-regexp-features-plugin": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/preset-env": {
-      "version": "7.10.2",
-      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.2.tgz",
-      "integrity": "sha512-MjqhX0RZaEgK/KueRzh+3yPSk30oqDKJ5HP5tqTSB1e2gzGS3PLy7K0BIpnp78+0anFuSwOeuCf1zZO7RzRvEA==",
-      "dev": true,
-      "requires": {
-        "@babel/compat-data": "^7.10.1",
-        "@babel/helper-compilation-targets": "^7.10.2",
-        "@babel/helper-module-imports": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1",
-        "@babel/plugin-proposal-async-generator-functions": "^7.10.1",
-        "@babel/plugin-proposal-class-properties": "^7.10.1",
-        "@babel/plugin-proposal-dynamic-import": "^7.10.1",
-        "@babel/plugin-proposal-json-strings": "^7.10.1",
-        "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1",
-        "@babel/plugin-proposal-numeric-separator": "^7.10.1",
-        "@babel/plugin-proposal-object-rest-spread": "^7.10.1",
-        "@babel/plugin-proposal-optional-catch-binding": "^7.10.1",
-        "@babel/plugin-proposal-optional-chaining": "^7.10.1",
-        "@babel/plugin-proposal-private-methods": "^7.10.1",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.10.1",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.4.tgz",
+      "integrity": "sha512-tcmuQ6vupfMZPrLrc38d0sF2OjLT3/bZ0dry5HchNCQbrokoQi4reXqclvkkAT5b+gWc23meVWpve5P/7+w/zw==",
+      "dev": true,
+      "requires": {
+        "@babel/compat-data": "^7.10.4",
+        "@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-json-strings": "^7.10.4",
+        "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4",
+        "@babel/plugin-proposal-numeric-separator": "^7.10.4",
+        "@babel/plugin-proposal-object-rest-spread": "^7.10.4",
+        "@babel/plugin-proposal-optional-catch-binding": "^7.10.4",
+        "@babel/plugin-proposal-optional-chaining": "^7.10.4",
+        "@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.1",
+        "@babel/plugin-syntax-class-properties": "^7.10.4",
         "@babel/plugin-syntax-dynamic-import": "^7.8.0",
         "@babel/plugin-syntax-json-strings": "^7.8.0",
         "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.1",
+        "@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.1",
-        "@babel/plugin-transform-arrow-functions": "^7.10.1",
-        "@babel/plugin-transform-async-to-generator": "^7.10.1",
-        "@babel/plugin-transform-block-scoped-functions": "^7.10.1",
-        "@babel/plugin-transform-block-scoping": "^7.10.1",
-        "@babel/plugin-transform-classes": "^7.10.1",
-        "@babel/plugin-transform-computed-properties": "^7.10.1",
-        "@babel/plugin-transform-destructuring": "^7.10.1",
-        "@babel/plugin-transform-dotall-regex": "^7.10.1",
-        "@babel/plugin-transform-duplicate-keys": "^7.10.1",
-        "@babel/plugin-transform-exponentiation-operator": "^7.10.1",
-        "@babel/plugin-transform-for-of": "^7.10.1",
-        "@babel/plugin-transform-function-name": "^7.10.1",
-        "@babel/plugin-transform-literals": "^7.10.1",
-        "@babel/plugin-transform-member-expression-literals": "^7.10.1",
-        "@babel/plugin-transform-modules-amd": "^7.10.1",
-        "@babel/plugin-transform-modules-commonjs": "^7.10.1",
-        "@babel/plugin-transform-modules-systemjs": "^7.10.1",
-        "@babel/plugin-transform-modules-umd": "^7.10.1",
-        "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3",
-        "@babel/plugin-transform-new-target": "^7.10.1",
-        "@babel/plugin-transform-object-super": "^7.10.1",
-        "@babel/plugin-transform-parameters": "^7.10.1",
-        "@babel/plugin-transform-property-literals": "^7.10.1",
-        "@babel/plugin-transform-regenerator": "^7.10.1",
-        "@babel/plugin-transform-reserved-words": "^7.10.1",
-        "@babel/plugin-transform-shorthand-properties": "^7.10.1",
-        "@babel/plugin-transform-spread": "^7.10.1",
-        "@babel/plugin-transform-sticky-regex": "^7.10.1",
-        "@babel/plugin-transform-template-literals": "^7.10.1",
-        "@babel/plugin-transform-typeof-symbol": "^7.10.1",
-        "@babel/plugin-transform-unicode-escapes": "^7.10.1",
-        "@babel/plugin-transform-unicode-regex": "^7.10.1",
+        "@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.10.4",
+        "@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.10.2",
+        "@babel/types": "^7.10.4",
         "browserslist": "^4.12.0",
         "core-js-compat": "^3.6.2",
         "invariant": "^2.2.2",
@@ -1030,40 +1028,40 @@
       }
     },
     "@babel/runtime": {
-      "version": "7.10.2",
-      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz",
-      "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==",
+      "version": "7.10.5",
+      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.5.tgz",
+      "integrity": "sha512-otddXKhdNn7d0ptoFRHtMLa8LqDxLYwTjB4nYgM1yy5N6gU/MUf8zqyyLltCH3yAVitBzmwK4us+DD0l/MauAg==",
       "dev": true,
       "requires": {
         "regenerator-runtime": "^0.13.4"
       }
     },
     "@babel/template": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz",
-      "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+      "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
       "dev": true,
       "requires": {
-        "@babel/code-frame": "^7.10.1",
-        "@babel/parser": "^7.10.1",
-        "@babel/types": "^7.10.1"
+        "@babel/code-frame": "^7.10.4",
+        "@babel/parser": "^7.10.4",
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/traverse": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz",
-      "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==",
+      "version": "7.10.5",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.5.tgz",
+      "integrity": "sha512-yc/fyv2gUjPqzTz0WHeRJH2pv7jA9kA7mBX2tXl/x5iOE81uaVPuGPtaYk7wmkx4b67mQ7NqI8rmT2pF47KYKQ==",
       "dev": true,
       "requires": {
-        "@babel/code-frame": "^7.10.1",
-        "@babel/generator": "^7.10.1",
-        "@babel/helper-function-name": "^7.10.1",
-        "@babel/helper-split-export-declaration": "^7.10.1",
-        "@babel/parser": "^7.10.1",
-        "@babel/types": "^7.10.1",
+        "@babel/code-frame": "^7.10.4",
+        "@babel/generator": "^7.10.5",
+        "@babel/helper-function-name": "^7.10.4",
+        "@babel/helper-split-export-declaration": "^7.10.4",
+        "@babel/parser": "^7.10.5",
+        "@babel/types": "^7.10.5",
         "debug": "^4.1.0",
         "globals": "^11.1.0",
-        "lodash": "^4.17.13"
+        "lodash": "^4.17.19"
       },
       "dependencies": {
         "debug": {
@@ -1084,13 +1082,13 @@
       }
     },
     "@babel/types": {
-      "version": "7.10.2",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz",
-      "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==",
+      "version": "7.10.5",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.5.tgz",
+      "integrity": "sha512-ixV66KWfCI6GKoA/2H9v6bQdbfXEwwpOdQ8cRvb4F+eyvhlaHxWFMQB4+3d9QFJXZsiiiqVrewNV0DFEQpyT4Q==",
       "dev": true,
       "requires": {
-        "@babel/helper-validator-identifier": "^7.10.1",
-        "lodash": "^4.17.13",
+        "@babel/helper-validator-identifier": "^7.10.4",
+        "lodash": "^4.17.19",
         "to-fast-properties": "^2.0.0"
       }
     },
@@ -1111,213 +1109,325 @@
       }
     },
     "@commitlint/cli": {
-      "version": "8.3.5",
-      "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-8.3.5.tgz",
-      "integrity": "sha512-6+L0vbw55UEdht71pgWOE55SRgb+8OHcEwGDB234VlIBFGK9P2QOBU7MHiYJ5cjdjCQ0rReNrGjOHmJ99jwf0w==",
-      "dev": true,
-      "requires": {
-        "@commitlint/format": "^8.3.4",
-        "@commitlint/lint": "^8.3.5",
-        "@commitlint/load": "^8.3.5",
-        "@commitlint/read": "^8.3.4",
-        "babel-polyfill": "6.26.0",
-        "chalk": "2.4.2",
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-9.1.2.tgz",
+      "integrity": "sha512-ctRrrPqjZ8r4Vc4FXpPaScEpkPwfvB0Us3NK2SD2AnLwXGMxOLFTabDmNySU1Xc40ud2CmJsaV8lpavvzs8ZZA==",
+      "dev": true,
+      "requires": {
+        "@babel/runtime": "^7.9.6",
+        "@commitlint/format": "^9.1.2",
+        "@commitlint/lint": "^9.1.2",
+        "@commitlint/load": "^9.1.2",
+        "@commitlint/read": "^9.1.2",
+        "chalk": "4.1.0",
+        "core-js": "^3.6.1",
         "get-stdin": "7.0.0",
-        "lodash": "4.17.15",
-        "meow": "5.0.0",
+        "lodash": "^4.17.19",
         "resolve-from": "5.0.0",
-        "resolve-global": "1.0.0"
+        "resolve-global": "1.0.0",
+        "yargs": "^15.1.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+          "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+          "dev": true,
+          "requires": {
+            "@types/color-name": "^1.1.1",
+            "color-convert": "^2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+          "dev": true
+        },
+        "supports-color": {
+          "version": "7.1.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+          "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        }
       }
     },
     "@commitlint/config-conventional": {
-      "version": "8.3.4",
-      "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-8.3.4.tgz",
-      "integrity": "sha512-w0Yc5+aVAjZgjYqx29igBOnVCj8O22gy3Vo6Fyp7PwoS7+AYS1x3sN7IBq6i7Ae15Mv5P+rEx1pkxXo5zOMe4g==",
+      "version": "9.1.1",
+      "resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-9.1.1.tgz",
+      "integrity": "sha512-t/bvv8ofjj7V4W99eVDyuACaC7Ch4SYaukglBYt/K1Y9Ixg8mCBuFDMGRMhyZn4upUe1ls8l4SO3rjaVbYIjlg==",
       "dev": true,
       "requires": {
-        "conventional-changelog-conventionalcommits": "4.2.1"
+        "conventional-changelog-conventionalcommits": "4.3.0"
       }
     },
     "@commitlint/ensure": {
-      "version": "8.3.4",
-      "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-8.3.4.tgz",
-      "integrity": "sha512-8NW77VxviLhD16O3EUd02lApMFnrHexq10YS4F4NftNoErKbKaJ0YYedktk2boKrtNRf/gQHY/Qf65edPx4ipw==",
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-9.1.2.tgz",
+      "integrity": "sha512-hwQICwpNSTsZgj/1/SdPvYAzhwjwgCJI4vLbT879+Jc+AJ6sj2bUDGw/F89vzgKz1VnaMm4D65bNhoWhG3pdhQ==",
       "dev": true,
       "requires": {
-        "lodash": "4.17.15"
+        "@commitlint/types": "^9.1.2",
+        "lodash": "^4.17.19"
       }
     },
     "@commitlint/execute-rule": {
-      "version": "8.3.4",
-      "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-8.3.4.tgz",
-      "integrity": "sha512-f4HigYjeIBn9f7OuNv5zh2y5vWaAhNFrfeul8CRJDy82l3Y+09lxOTGxfF3uMXKrZq4LmuK6qvvRCZ8mUrVvzQ==",
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-9.1.2.tgz",
+      "integrity": "sha512-NGbeo0KCVYo1yj9vVPFHv6RGFpIF6wcQxpFYUKGIzZVV9Vz1WyiKS689JXa99Dt1aN0cZlEJJLnTNDIgYls0Vg==",
       "dev": true
     },
     "@commitlint/format": {
-      "version": "8.3.4",
-      "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-8.3.4.tgz",
-      "integrity": "sha512-809wlQ/ND6CLZON+w2Rb3YM2TLNDfU2xyyqpZeqzf2reJNpySMSUAeaO/fNDJSOKIsOsR3bI01rGu6hv28k+Nw==",
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/@commitlint/format/-/format-9.1.2.tgz",
+      "integrity": "sha512-+ZWTOSGEU6dbn3NRh1q7sY5K5QLiSs7E2uSzuYnWHXcQk8nlTvnE0ibwMCQxdKLaOTZiN57fHM/7M9Re2gsRuw==",
       "dev": true,
       "requires": {
-        "chalk": "^2.0.1"
+        "@commitlint/types": "^9.1.2",
+        "chalk": "^4.0.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+          "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+          "dev": true,
+          "requires": {
+            "@types/color-name": "^1.1.1",
+            "color-convert": "^2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+          "dev": true
+        },
+        "supports-color": {
+          "version": "7.1.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+          "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        }
       }
     },
     "@commitlint/is-ignored": {
-      "version": "8.3.5",
-      "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-8.3.5.tgz",
-      "integrity": "sha512-Zo+8a6gJLFDTqyNRx53wQi/XTiz8mncvmWf/4oRG+6WRcBfjSSHY7KPVj5Y6UaLy2EgZ0WQ2Tt6RdTDeQiQplA==",
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-9.1.2.tgz",
+      "integrity": "sha512-423W/+Ro+Cc8cg81+t9gds1EscMZNjnGT31nKDvxVxJxXiXQsYYoFEQbU+nfUrRGQsUikEgEJ3ppVGr1linvcQ==",
       "dev": true,
       "requires": {
-        "semver": "6.3.0"
+        "@commitlint/types": "^9.1.2",
+        "semver": "7.3.2"
       }
     },
     "@commitlint/lint": {
-      "version": "8.3.5",
-      "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-8.3.5.tgz",
-      "integrity": "sha512-02AkI0a6PU6rzqUvuDkSi6rDQ2hUgkq9GpmdJqfai5bDbxx2939mK4ZO+7apbIh4H6Pae7EpYi7ffxuJgm+3hQ==",
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-9.1.2.tgz",
+      "integrity": "sha512-XvggqHZ4XSTKOgzJhCzz52cWRRO57QQnEviwGj0qnD4jdwC+8h2u9LNZwoa2tGAuaNM3nSm//wNK7FRZhgiiFA==",
       "dev": true,
       "requires": {
-        "@commitlint/is-ignored": "^8.3.5",
-        "@commitlint/parse": "^8.3.4",
-        "@commitlint/rules": "^8.3.4",
-        "babel-runtime": "^6.23.0",
-        "lodash": "4.17.15"
+        "@commitlint/is-ignored": "^9.1.2",
+        "@commitlint/parse": "^9.1.2",
+        "@commitlint/rules": "^9.1.2",
+        "@commitlint/types": "^9.1.2"
       }
     },
     "@commitlint/load": {
-      "version": "8.3.5",
-      "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-8.3.5.tgz",
-      "integrity": "sha512-poF7R1CtQvIXRmVIe63FjSQmN9KDqjRtU5A6hxqXBga87yB2VUJzic85TV6PcQc+wStk52cjrMI+g0zFx+Zxrw==",
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-9.1.2.tgz",
+      "integrity": "sha512-FPL82xBuF7J3EJ57kLVoligQP4BFRwrknooP+vNT787AXmQ/Fddc/iYYwHwy67pNkk5N++/51UyDl/CqiHb6nA==",
       "dev": true,
       "requires": {
-        "@commitlint/execute-rule": "^8.3.4",
-        "@commitlint/resolve-extends": "^8.3.5",
-        "babel-runtime": "^6.23.0",
-        "chalk": "2.4.2",
-        "cosmiconfig": "^5.2.0",
-        "lodash": "4.17.15",
+        "@commitlint/execute-rule": "^9.1.2",
+        "@commitlint/resolve-extends": "^9.1.2",
+        "@commitlint/types": "^9.1.2",
+        "chalk": "4.1.0",
+        "cosmiconfig": "^6.0.0",
+        "lodash": "^4.17.19",
         "resolve-from": "^5.0.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+          "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+          "dev": true,
+          "requires": {
+            "@types/color-name": "^1.1.1",
+            "color-convert": "^2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+          "dev": true
+        },
+        "supports-color": {
+          "version": "7.1.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+          "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        }
       }
     },
     "@commitlint/message": {
-      "version": "8.3.4",
-      "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-8.3.4.tgz",
-      "integrity": "sha512-nEj5tknoOKXqBsaQtCtgPcsAaf5VCg3+fWhss4Vmtq40633xLq0irkdDdMEsYIx8rGR0XPBTukqzln9kAWCkcA==",
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/@commitlint/message/-/message-9.1.2.tgz",
+      "integrity": "sha512-ndlx5z7bPVLG347oYJUHuQ41eTcsw+aUYT1ZwQyci0Duy2atpuoeeSw9SuM1PjufzRCpb6ExzFEgGzcCRKAJsg==",
       "dev": true
     },
     "@commitlint/parse": {
-      "version": "8.3.4",
-      "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-8.3.4.tgz",
-      "integrity": "sha512-b3uQvpUQWC20EBfKSfMRnyx5Wc4Cn778bVeVOFErF/cXQK725L1bYFvPnEjQO/GT8yGVzq2wtLaoEqjm1NJ/Bw==",
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-9.1.2.tgz",
+      "integrity": "sha512-d+/VYbkotctW+lzDpus/R6xTerOqFQkW1myH+3PwnqYSE6JU/uHT4MlZNGJBv8pX9SPlR66t6X9puFobqtezEw==",
       "dev": true,
       "requires": {
-        "conventional-changelog-angular": "^1.3.3",
-        "conventional-commits-parser": "^3.0.0",
-        "lodash": "^4.17.11"
+        "conventional-changelog-angular": "^5.0.0",
+        "conventional-commits-parser": "^3.0.0"
       }
     },
     "@commitlint/read": {
-      "version": "8.3.4",
-      "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-8.3.4.tgz",
-      "integrity": "sha512-FKv1kHPrvcAG5j+OSbd41IWexsbLhfIXpxVC/YwQZO+FR0EHmygxQNYs66r+GnhD1EfYJYM4WQIqd5bJRx6OIw==",
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/@commitlint/read/-/read-9.1.2.tgz",
+      "integrity": "sha512-C2sNBQOqeQXMxpWtRnXYKYB3D9yuybPtQNY/P67A6o8XH/UMHkFaUTyIx1KRgu0IG0yTTItRt46FGnsMWLotvA==",
       "dev": true,
       "requires": {
-        "@commitlint/top-level": "^8.3.4",
-        "@marionebl/sander": "^0.6.0",
-        "babel-runtime": "^6.23.0",
+        "@commitlint/top-level": "^9.1.2",
+        "fs-extra": "^8.1.0",
         "git-raw-commits": "^2.0.0"
       }
     },
     "@commitlint/resolve-extends": {
-      "version": "8.3.5",
-      "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-8.3.5.tgz",
-      "integrity": "sha512-nHhFAK29qiXNe6oH6uG5wqBnCR+BQnxlBW/q5fjtxIaQALgfoNLHwLS9exzbIRFqwJckpR6yMCfgMbmbAOtklQ==",
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-9.1.2.tgz",
+      "integrity": "sha512-HcoL+qFGmWEu9VM4fY0HI+VzF4yHcg3x+9Hx6pYFZ+r2wLbnKs964y0v68oyMO/mS/46MVoLNXZGR8U3adpadg==",
       "dev": true,
       "requires": {
         "import-fresh": "^3.0.0",
-        "lodash": "4.17.15",
+        "lodash": "^4.17.19",
         "resolve-from": "^5.0.0",
         "resolve-global": "^1.0.0"
       }
     },
     "@commitlint/rules": {
-      "version": "8.3.4",
-      "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-8.3.4.tgz",
-      "integrity": "sha512-xuC9dlqD5xgAoDFgnbs578cJySvwOSkMLQyZADb1xD5n7BNcUJfP8WjT9W1Aw8K3Wf8+Ym/ysr9FZHXInLeaRg==",
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-9.1.2.tgz",
+      "integrity": "sha512-1vecFuzqVqjiT57ocXq1bL8V6GEF1NZs3BR0dQzObaqHftImIxBVII299gasckTkcuxNc8M+7XxZyKxUthukpQ==",
       "dev": true,
       "requires": {
-        "@commitlint/ensure": "^8.3.4",
-        "@commitlint/message": "^8.3.4",
-        "@commitlint/to-lines": "^8.3.4",
-        "babel-runtime": "^6.23.0"
+        "@commitlint/ensure": "^9.1.2",
+        "@commitlint/message": "^9.1.2",
+        "@commitlint/to-lines": "^9.1.2",
+        "@commitlint/types": "^9.1.2"
       }
     },
     "@commitlint/to-lines": {
-      "version": "8.3.4",
-      "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-8.3.4.tgz",
-      "integrity": "sha512-5AvcdwRsMIVq0lrzXTwpbbG5fKRTWcHkhn/hCXJJ9pm1JidsnidS1y0RGkb3O50TEHGewhXwNoavxW9VToscUA==",
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-9.1.2.tgz",
+      "integrity": "sha512-o4zWcMf9EnzA3MOqx01780SgrKq5hqDJmUBPk30g6an0XcDuDy3OSZHHTJFdzsg4V9FjC4OY44sFeK7GN7NaxQ==",
       "dev": true
     },
     "@commitlint/top-level": {
-      "version": "8.3.4",
-      "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-8.3.4.tgz",
-      "integrity": "sha512-nOaeLBbAqSZNpKgEtO6NAxmui1G8ZvLG+0wb4rvv6mWhPDzK1GNZkCd8FUZPahCoJ1iHDoatw7F8BbJLg4nDjg==",
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-9.1.2.tgz",
+      "integrity": "sha512-KMPP5xVePcz3B1dKqcZdU4FZBVOkT+bG3ip4RQX2TeCJoomMkTjd0utALs7rpTGLID6BXbwwXepZCZJREjR/Bw==",
       "dev": true,
       "requires": {
         "find-up": "^4.0.0"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        }
       }
     },
+    "@commitlint/types": {
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-9.1.2.tgz",
+      "integrity": "sha512-r3fwVbVH+M8W0qYlBBZFsUwKe6NT5qvz+EmU7sr8VeN1cQ63z+3cfXyTo7WGGEMEgKiT0jboNAK3b1FZp8k9LQ==",
+      "dev": true
+    },
     "@csstools/convert-colors": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz",
@@ -1337,53 +1447,10 @@
         "resolve-from": "^5.0.0"
       },
       "dependencies": {
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+        "camelcase": {
+          "version": "5.3.1",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
           "dev": true
         }
       }
@@ -1395,15 +1462,15 @@
       "dev": true
     },
     "@jest/console": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz",
-      "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.1.0.tgz",
+      "integrity": "sha512-+0lpTHMd/8pJp+Nd4lyip+/Iyf2dZJvcCqrlkeZQoQid+JlThA4M9vxHtheyrQ99jJTMQam+es4BcvZ5W5cC3A==",
       "dev": true,
       "requires": {
-        "@jest/types": "^25.5.0",
-        "chalk": "^3.0.0",
-        "jest-message-util": "^25.5.0",
-        "jest-util": "^25.5.0",
+        "@jest/types": "^26.1.0",
+        "chalk": "^4.0.0",
+        "jest-message-util": "^26.1.0",
+        "jest-util": "^26.1.0",
         "slash": "^3.0.0"
       },
       "dependencies": {
@@ -1418,9 +1485,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -1466,36 +1533,35 @@
       }
     },
     "@jest/core": {
-      "version": "25.5.4",
-      "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz",
-      "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.1.0.tgz",
+      "integrity": "sha512-zyizYmDJOOVke4OO/De//aiv8b07OwZzL2cfsvWF3q9YssfpcKfcnZAwDY8f+A76xXSMMYe8i/f/LPocLlByfw==",
       "dev": true,
       "requires": {
-        "@jest/console": "^25.5.0",
-        "@jest/reporters": "^25.5.1",
-        "@jest/test-result": "^25.5.0",
-        "@jest/transform": "^25.5.1",
-        "@jest/types": "^25.5.0",
+        "@jest/console": "^26.1.0",
+        "@jest/reporters": "^26.1.0",
+        "@jest/test-result": "^26.1.0",
+        "@jest/transform": "^26.1.0",
+        "@jest/types": "^26.1.0",
         "ansi-escapes": "^4.2.1",
-        "chalk": "^3.0.0",
+        "chalk": "^4.0.0",
         "exit": "^0.1.2",
         "graceful-fs": "^4.2.4",
-        "jest-changed-files": "^25.5.0",
-        "jest-config": "^25.5.4",
-        "jest-haste-map": "^25.5.1",
-        "jest-message-util": "^25.5.0",
-        "jest-regex-util": "^25.2.6",
-        "jest-resolve": "^25.5.1",
-        "jest-resolve-dependencies": "^25.5.4",
-        "jest-runner": "^25.5.4",
-        "jest-runtime": "^25.5.4",
-        "jest-snapshot": "^25.5.1",
-        "jest-util": "^25.5.0",
-        "jest-validate": "^25.5.0",
-        "jest-watcher": "^25.5.0",
+        "jest-changed-files": "^26.1.0",
+        "jest-config": "^26.1.0",
+        "jest-haste-map": "^26.1.0",
+        "jest-message-util": "^26.1.0",
+        "jest-regex-util": "^26.0.0",
+        "jest-resolve": "^26.1.0",
+        "jest-resolve-dependencies": "^26.1.0",
+        "jest-runner": "^26.1.0",
+        "jest-runtime": "^26.1.0",
+        "jest-snapshot": "^26.1.0",
+        "jest-util": "^26.1.0",
+        "jest-validate": "^26.1.0",
+        "jest-watcher": "^26.1.0",
         "micromatch": "^4.0.2",
         "p-each-series": "^2.1.0",
-        "realpath-native": "^2.0.0",
         "rimraf": "^3.0.0",
         "slash": "^3.0.0",
         "strip-ansi": "^6.0.0"
@@ -1530,9 +1596,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -1585,15 +1651,6 @@
             "picomatch": "^2.0.5"
           }
         },
-        "rimraf": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        },
         "slash": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
@@ -1627,69 +1684,69 @@
       }
     },
     "@jest/environment": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz",
-      "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.1.0.tgz",
+      "integrity": "sha512-86+DNcGongbX7ai/KE/S3/NcUVZfrwvFzOOWX/W+OOTvTds7j07LtC+MgGydH5c8Ri3uIrvdmVgd1xFD5zt/xA==",
       "dev": true,
       "requires": {
-        "@jest/fake-timers": "^25.5.0",
-        "@jest/types": "^25.5.0",
-        "jest-mock": "^25.5.0"
+        "@jest/fake-timers": "^26.1.0",
+        "@jest/types": "^26.1.0",
+        "jest-mock": "^26.1.0"
       }
     },
     "@jest/fake-timers": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz",
-      "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.1.0.tgz",
+      "integrity": "sha512-Y5F3kBVWxhau3TJ825iuWy++BAuQzK/xEa+wD9vDH3RytW9f2DbMVodfUQC54rZDX3POqdxCgcKdgcOL0rYUpA==",
       "dev": true,
       "requires": {
-        "@jest/types": "^25.5.0",
-        "jest-message-util": "^25.5.0",
-        "jest-mock": "^25.5.0",
-        "jest-util": "^25.5.0",
-        "lolex": "^5.0.0"
+        "@jest/types": "^26.1.0",
+        "@sinonjs/fake-timers": "^6.0.1",
+        "jest-message-util": "^26.1.0",
+        "jest-mock": "^26.1.0",
+        "jest-util": "^26.1.0"
       }
     },
     "@jest/globals": {
-      "version": "25.5.2",
-      "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz",
-      "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.1.0.tgz",
+      "integrity": "sha512-MKiHPNaT+ZoG85oMaYUmGHEqu98y3WO2yeIDJrs2sJqHhYOy3Z6F7F/luzFomRQ8SQ1wEkmahFAz2291Iv8EAw==",
       "dev": true,
       "requires": {
-        "@jest/environment": "^25.5.0",
-        "@jest/types": "^25.5.0",
-        "expect": "^25.5.0"
+        "@jest/environment": "^26.1.0",
+        "@jest/types": "^26.1.0",
+        "expect": "^26.1.0"
       }
     },
     "@jest/reporters": {
-      "version": "25.5.1",
-      "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz",
-      "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.1.0.tgz",
+      "integrity": "sha512-SVAysur9FOIojJbF4wLP0TybmqwDkdnFxHSPzHMMIYyBtldCW9gG+Q5xWjpMFyErDiwlRuPyMSJSU64A67Pazg==",
       "dev": true,
       "requires": {
         "@bcoe/v8-coverage": "^0.2.3",
-        "@jest/console": "^25.5.0",
-        "@jest/test-result": "^25.5.0",
-        "@jest/transform": "^25.5.1",
-        "@jest/types": "^25.5.0",
-        "chalk": "^3.0.0",
+        "@jest/console": "^26.1.0",
+        "@jest/test-result": "^26.1.0",
+        "@jest/transform": "^26.1.0",
+        "@jest/types": "^26.1.0",
+        "chalk": "^4.0.0",
         "collect-v8-coverage": "^1.0.0",
         "exit": "^0.1.2",
         "glob": "^7.1.2",
         "graceful-fs": "^4.2.4",
         "istanbul-lib-coverage": "^3.0.0",
-        "istanbul-lib-instrument": "^4.0.0",
+        "istanbul-lib-instrument": "^4.0.3",
         "istanbul-lib-report": "^3.0.0",
         "istanbul-lib-source-maps": "^4.0.0",
         "istanbul-reports": "^3.0.2",
-        "jest-haste-map": "^25.5.1",
-        "jest-resolve": "^25.5.1",
-        "jest-util": "^25.5.0",
-        "jest-worker": "^25.5.0",
-        "node-notifier": "^6.0.0",
+        "jest-haste-map": "^26.1.0",
+        "jest-resolve": "^26.1.0",
+        "jest-util": "^26.1.0",
+        "jest-worker": "^26.1.0",
+        "node-notifier": "^7.0.0",
         "slash": "^3.0.0",
         "source-map": "^0.6.0",
-        "string-length": "^3.1.0",
+        "string-length": "^4.0.1",
         "terminal-link": "^2.0.0",
         "v8-to-istanbul": "^4.1.3"
       },
@@ -1705,9 +1762,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -1753,9 +1810,9 @@
       }
     },
     "@jest/source-map": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz",
-      "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.1.0.tgz",
+      "integrity": "sha512-XYRPYx4eEVX15cMT9mstnO7hkHP3krNtKfxUYd8L7gbtia8JvZZ6bMzSwa6IQJENbudTwKMw5R1BePRD+bkEmA==",
       "dev": true,
       "requires": {
         "callsites": "^3.0.0",
@@ -1764,49 +1821,48 @@
       }
     },
     "@jest/test-result": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz",
-      "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.1.0.tgz",
+      "integrity": "sha512-Xz44mhXph93EYMA8aYDz+75mFbarTV/d/x0yMdI3tfSRs/vh4CqSxgzVmCps1fPkHDCtn0tU8IH9iCKgGeGpfw==",
       "dev": true,
       "requires": {
-        "@jest/console": "^25.5.0",
-        "@jest/types": "^25.5.0",
+        "@jest/console": "^26.1.0",
+        "@jest/types": "^26.1.0",
         "@types/istanbul-lib-coverage": "^2.0.0",
         "collect-v8-coverage": "^1.0.0"
       }
     },
     "@jest/test-sequencer": {
-      "version": "25.5.4",
-      "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz",
-      "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.1.0.tgz",
+      "integrity": "sha512-Z/hcK+rTq56E6sBwMoQhSRDVjqrGtj1y14e2bIgcowARaIE1SgOanwx6gvY4Q9gTKMoZQXbXvptji+q5GYxa6Q==",
       "dev": true,
       "requires": {
-        "@jest/test-result": "^25.5.0",
+        "@jest/test-result": "^26.1.0",
         "graceful-fs": "^4.2.4",
-        "jest-haste-map": "^25.5.1",
-        "jest-runner": "^25.5.4",
-        "jest-runtime": "^25.5.4"
+        "jest-haste-map": "^26.1.0",
+        "jest-runner": "^26.1.0",
+        "jest-runtime": "^26.1.0"
       }
     },
     "@jest/transform": {
-      "version": "25.5.1",
-      "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz",
-      "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.1.0.tgz",
+      "integrity": "sha512-ICPm6sUXmZJieq45ix28k0s+d/z2E8CHDsq+WwtWI6kW8m7I8kPqarSEcUN86entHQ570ZBRci5OWaKL0wlAWw==",
       "dev": true,
       "requires": {
         "@babel/core": "^7.1.0",
-        "@jest/types": "^25.5.0",
+        "@jest/types": "^26.1.0",
         "babel-plugin-istanbul": "^6.0.0",
-        "chalk": "^3.0.0",
+        "chalk": "^4.0.0",
         "convert-source-map": "^1.4.0",
         "fast-json-stable-stringify": "^2.0.0",
         "graceful-fs": "^4.2.4",
-        "jest-haste-map": "^25.5.1",
-        "jest-regex-util": "^25.2.6",
-        "jest-util": "^25.5.0",
+        "jest-haste-map": "^26.1.0",
+        "jest-regex-util": "^26.0.0",
+        "jest-util": "^26.1.0",
         "micromatch": "^4.0.2",
         "pirates": "^4.0.1",
-        "realpath-native": "^2.0.0",
         "slash": "^3.0.0",
         "source-map": "^0.6.1",
         "write-file-atomic": "^3.0.0"
@@ -1832,9 +1888,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -1914,15 +1970,15 @@
       }
     },
     "@jest/types": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
-      "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/@jest/types/-/types-26.1.0.tgz",
+      "integrity": "sha512-GXigDDsp6ZlNMhXQDeuy/iYCDsRIHJabWtDzvnn36+aqFfG14JmFV0e/iXxY4SP9vbXSiPNOWdehU5MeqrYHBQ==",
       "dev": true,
       "requires": {
         "@types/istanbul-lib-coverage": "^2.0.0",
         "@types/istanbul-reports": "^1.1.1",
         "@types/yargs": "^15.0.0",
-        "chalk": "^3.0.0"
+        "chalk": "^4.0.0"
       },
       "dependencies": {
         "ansi-styles": {
@@ -1936,9 +1992,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -1977,17 +2033,6 @@
         }
       }
     },
-    "@marionebl/sander": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/@marionebl/sander/-/sander-0.6.1.tgz",
-      "integrity": "sha1-GViWWHTyS8Ub5Ih1/rUNZC/EH3s=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.3",
-        "mkdirp": "^0.5.1",
-        "rimraf": "^2.5.2"
-      }
-    },
     "@nodelib/fs.scandir": {
       "version": "2.1.3",
       "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
@@ -2015,18 +2060,27 @@
       }
     },
     "@sinonjs/commons": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.0.tgz",
-      "integrity": "sha512-wEj54PfsZ5jGSwMX68G8ZXFawcSglQSXqCftWX3ec8MDUzQdHgcKvw97awHbY0efQEL5iKUOAmmVtoYgmrSG4Q==",
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz",
+      "integrity": "sha512-892K+kWUUi3cl+LlqEWIDrhvLgdL79tECi8JZUyq6IviKy/DNhuzCRlbHUjxK89f4ypPMMaFnFuR9Ie6DoIMsw==",
       "dev": true,
       "requires": {
         "type-detect": "4.0.8"
       }
     },
+    "@sinonjs/fake-timers": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz",
+      "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==",
+      "dev": true,
+      "requires": {
+        "@sinonjs/commons": "^1.7.0"
+      }
+    },
     "@types/babel__core": {
-      "version": "7.1.8",
-      "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.8.tgz",
-      "integrity": "sha512-KXBiQG2OXvaPWFPDS1rD8yV9vO0OuWIqAEqLsbfX0oU2REN5KuoMnZ1gClWcBhO5I3n6oTVAmrMufOvRqdmFTQ==",
+      "version": "7.1.9",
+      "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.9.tgz",
+      "integrity": "sha512-sY2RsIJ5rpER1u3/aQ8OFSI7qGIy8o1NEEbgb2UaJcvOtXOMpd39ko723NBpjQFg9SIX7TXtjejZVGeIMLhoOw==",
       "dev": true,
       "requires": {
         "@babel/parser": "^7.1.0",
@@ -2056,9 +2110,9 @@
       }
     },
     "@types/babel__traverse": {
-      "version": "7.0.12",
-      "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.12.tgz",
-      "integrity": "sha512-t4CoEokHTfcyfb4hUaF9oOHu9RmmNWnm1CP0YmMqOOfClKascOmvlEM736vlqeScuGvBDsHkf8R2INd4DWreQA==",
+      "version": "7.0.13",
+      "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.13.tgz",
+      "integrity": "sha512-i+zS7t6/s9cdQvbqKDARrcbrPvtJGlbYsMkazo03nTAK3RX9FNrLllXys22uiTGJapPOTZTQ35nHh4ISph4SLQ==",
       "dev": true,
       "requires": {
         "@babel/types": "^7.3.0"
@@ -2071,9 +2125,9 @@
       "dev": true
     },
     "@types/glob": {
-      "version": "7.1.2",
-      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.2.tgz",
-      "integrity": "sha512-VgNIkxK+j7Nz5P7jvUZlRvhuPSmsEfS03b0alKcq5V/STUKAa3Plemsn5mrQUO7am6OErJ4rhGEGJbACclrtRA==",
+      "version": "7.1.3",
+      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
+      "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==",
       "dev": true,
       "requires": {
         "@types/minimatch": "*",
@@ -2138,9 +2192,9 @@
       "dev": true
     },
     "@types/node": {
-      "version": "14.0.13",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.13.tgz",
-      "integrity": "sha512-rouEWBImiRaSJsVA+ITTFM6ZxibuAlTuNOCyxVbwreu6k6+ujs7DfnU9o+PShFhET78pMBl3eH+AGSI5eOTkPA==",
+      "version": "14.0.26",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.26.tgz",
+      "integrity": "sha512-W+fpe5s91FBGE0pEa0lnqGLL4USgpLgs4nokw16SrBBco/gQxuua7KnArSEOd5iaMqbbSHV10vUDkJYJJqpXKA==",
       "dev": true
     },
     "@types/normalize-package-data": {
@@ -2156,9 +2210,9 @@
       "dev": true
     },
     "@types/prettier": {
-      "version": "1.19.1",
-      "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz",
-      "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==",
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.0.2.tgz",
+      "integrity": "sha512-IkVfat549ggtkZUthUzEX49562eGikhSYeVGX97SkMFn+sTZrgRewXjQ4tPKFPCykZHkX1Zfd9OoELGqKU2jJA==",
       "dev": true
     },
     "@types/stack-utils": {
@@ -2372,11 +2426,25 @@
         "user-meta": "^1.0.0"
       },
       "dependencies": {
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
+          }
         },
         "schema-utils": {
           "version": "1.0.0",
@@ -2432,13 +2500,21 @@
       "dev": true
     },
     "acorn-globals": {
-      "version": "4.3.4",
-      "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz",
-      "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==",
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
+      "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
       "dev": true,
       "requires": {
-        "acorn": "^6.0.1",
-        "acorn-walk": "^6.0.1"
+        "acorn": "^7.1.1",
+        "acorn-walk": "^7.1.1"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "7.3.1",
+          "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz",
+          "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==",
+          "dev": true
+        }
       }
     },
     "acorn-jsx": {
@@ -2448,9 +2524,9 @@
       "dev": true
     },
     "acorn-walk": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
-      "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==",
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
+      "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
       "dev": true
     },
     "add-stream": {
@@ -2470,9 +2546,9 @@
       }
     },
     "ajv": {
-      "version": "6.12.2",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
-      "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+      "version": "6.12.3",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
+      "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
       "requires": {
         "fast-deep-equal": "^3.1.1",
         "fast-json-stable-stringify": "^2.0.0",
@@ -2487,9 +2563,9 @@
       "dev": true
     },
     "ajv-keywords": {
-      "version": "3.4.1",
-      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz",
-      "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ=="
+      "version": "3.5.1",
+      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.1.tgz",
+      "integrity": "sha512-KWcq3xN8fDjSB+IMoh2VaXVhRI0BBGxoYp3rx7Pkb6z0cFjYR9Q9l4yZqqals0/zsioCmocC5H6UvsGD4MoIBA=="
     },
     "ansi": {
       "version": "0.3.1",
@@ -2498,9 +2574,9 @@
       "dev": true
     },
     "ansi-colors": {
-      "version": "3.2.4",
-      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
-      "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+      "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
       "dev": true
     },
     "ansi-escapes": {
@@ -2510,9 +2586,9 @@
       "dev": true
     },
     "ansi-regex": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+      "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
       "dev": true
     },
     "ansi-styles": {
@@ -2587,12 +2663,6 @@
       "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
       "dev": true
     },
-    "array-equal": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
-      "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
-      "dev": true
-    },
     "array-find-index": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
@@ -2742,17 +2812,17 @@
       "dev": true
     },
     "autoprefixer": {
-      "version": "9.8.0",
-      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.0.tgz",
-      "integrity": "sha512-D96ZiIHXbDmU02dBaemyAg53ez+6F5yZmapmgKcjm35yEe1uVDYI8hGW3VYoGRaG290ZFf91YxHrR518vC0u/A==",
+      "version": "9.8.5",
+      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.5.tgz",
+      "integrity": "sha512-C2p5KkumJlsTHoNv9w31NrBRgXhf6eCMteJuHZi2xhkgC+5Vm40MEtCKPhc0qdgAOhox0YPy1SQHTAky05UoKg==",
       "dev": true,
       "requires": {
         "browserslist": "^4.12.0",
-        "caniuse-lite": "^1.0.30001061",
-        "chalk": "^2.4.2",
+        "caniuse-lite": "^1.0.30001097",
+        "colorette": "^1.2.0",
         "normalize-range": "^0.1.2",
         "num2fraction": "^1.2.2",
-        "postcss": "^7.0.30",
+        "postcss": "^7.0.32",
         "postcss-value-parser": "^4.1.0"
       }
     },
@@ -2779,6 +2849,12 @@
         "js-tokens": "^3.0.2"
       },
       "dependencies": {
+        "ansi-regex": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+          "dev": true
+        },
         "ansi-styles": {
           "version": "2.2.1",
           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
@@ -2822,17 +2898,17 @@
       }
     },
     "babel-jest": {
-      "version": "25.5.1",
-      "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz",
-      "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.1.0.tgz",
+      "integrity": "sha512-Nkqgtfe7j6PxLO6TnCQQlkMm8wdTdnIF8xrdpooHCuD5hXRzVEPbPneTJKknH5Dsv3L8ip9unHDAp48YQ54Dkg==",
       "dev": true,
       "requires": {
-        "@jest/transform": "^25.5.1",
-        "@jest/types": "^25.5.0",
+        "@jest/transform": "^26.1.0",
+        "@jest/types": "^26.1.0",
         "@types/babel__core": "^7.1.7",
         "babel-plugin-istanbul": "^6.0.0",
-        "babel-preset-jest": "^25.5.0",
-        "chalk": "^3.0.0",
+        "babel-preset-jest": "^26.1.0",
+        "chalk": "^4.0.0",
         "graceful-fs": "^4.2.4",
         "slash": "^3.0.0"
       },
@@ -2848,9 +2924,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -2918,44 +2994,27 @@
       }
     },
     "babel-plugin-jest-hoist": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz",
-      "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.1.0.tgz",
+      "integrity": "sha512-qhqLVkkSlqmC83bdMhM8WW4Z9tB+JkjqAqlbbohS9sJLT5Ha2vfzuKqg5yenXrAjOPG2YC0WiXdH3a9PvB+YYw==",
       "dev": true,
       "requires": {
         "@babel/template": "^7.3.3",
         "@babel/types": "^7.3.3",
+        "@types/babel__core": "^7.0.0",
         "@types/babel__traverse": "^7.0.6"
       }
     },
-    "babel-polyfill": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz",
-      "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=",
-      "dev": true,
-      "requires": {
-        "babel-runtime": "^6.26.0",
-        "core-js": "^2.5.0",
-        "regenerator-runtime": "^0.10.5"
-      },
-      "dependencies": {
-        "regenerator-runtime": {
-          "version": "0.10.5",
-          "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
-          "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=",
-          "dev": true
-        }
-      }
-    },
     "babel-preset-current-node-syntax": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.2.tgz",
-      "integrity": "sha512-u/8cS+dEiK1SFILbOC8/rUI3ml9lboKuuMvZ/4aQnQmhecQAgPw5ew066C1ObnEAUmlx7dv/s2z52psWEtLNiw==",
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.3.tgz",
+      "integrity": "sha512-uyexu1sVwcdFnyq9o8UQYsXwXflIh8LvrF5+cKrYam93ned1CStffB3+BEcsxGSgagoA3GEyjDqO4a/58hyPYQ==",
       "dev": true,
       "requires": {
         "@babel/plugin-syntax-async-generators": "^7.8.4",
         "@babel/plugin-syntax-bigint": "^7.8.3",
         "@babel/plugin-syntax-class-properties": "^7.8.3",
+        "@babel/plugin-syntax-import-meta": "^7.8.3",
         "@babel/plugin-syntax-json-strings": "^7.8.3",
         "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
         "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
@@ -2966,33 +3025,15 @@
       }
     },
     "babel-preset-jest": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz",
-      "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-26.1.0.tgz",
+      "integrity": "sha512-na9qCqFksknlEj5iSdw1ehMVR06LCCTkZLGKeEtxDDdhg8xpUF09m29Kvh1pRbZ07h7AQ5ttLYUwpXL4tO6w7w==",
       "dev": true,
       "requires": {
-        "babel-plugin-jest-hoist": "^25.5.0",
+        "babel-plugin-jest-hoist": "^26.1.0",
         "babel-preset-current-node-syntax": "^0.1.2"
       }
     },
-    "babel-runtime": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
-      "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
-      "dev": true,
-      "requires": {
-        "core-js": "^2.4.0",
-        "regenerator-runtime": "^0.11.0"
-      },
-      "dependencies": {
-        "regenerator-runtime": {
-          "version": "0.11.1",
-          "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
-          "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
-          "dev": true
-        }
-      }
-    },
     "balanced-match": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
@@ -3153,23 +3194,6 @@
       "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
       "dev": true
     },
-    "browser-resolve": {
-      "version": "1.11.3",
-      "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz",
-      "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
-      "dev": true,
-      "requires": {
-        "resolve": "1.1.7"
-      },
-      "dependencies": {
-        "resolve": {
-          "version": "1.1.7",
-          "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
-          "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
-          "dev": true
-        }
-      }
-    },
     "browserify-aes": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
@@ -3271,15 +3295,15 @@
       }
     },
     "browserslist": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz",
-      "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==",
+      "version": "4.13.0",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz",
+      "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==",
       "dev": true,
       "requires": {
-        "caniuse-lite": "^1.0.30001043",
-        "electron-to-chromium": "^1.3.413",
-        "node-releases": "^1.1.53",
-        "pkg-up": "^2.0.0"
+        "caniuse-lite": "^1.0.30001093",
+        "electron-to-chromium": "^1.3.488",
+        "escalade": "^3.0.1",
+        "node-releases": "^1.1.58"
       }
     },
     "bser": {
@@ -3352,6 +3376,15 @@
             "yallist": "^3.0.2"
           }
         },
+        "rimraf": {
+          "version": "2.7.1",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+          "dev": true,
+          "requires": {
+            "glob": "^7.1.3"
+          }
+        },
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
@@ -3410,9 +3443,9 @@
       "dev": true
     },
     "camelcase": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
-      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz",
+      "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w=="
     },
     "camelcase-keys": {
       "version": "6.2.2",
@@ -3423,12 +3456,20 @@
         "camelcase": "^5.3.1",
         "map-obj": "^4.0.0",
         "quick-lru": "^4.0.1"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "5.3.1",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+          "dev": true
+        }
       }
     },
     "caniuse-lite": {
-      "version": "1.0.30001081",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001081.tgz",
-      "integrity": "sha512-iZdh3lu09jsUtLE6Bp8NAbJskco4Y3UDtkR3GTCJGsbMowBU5IWDFF79sV2ws7lSqTzWyKazxam2thasHymENQ==",
+      "version": "1.0.30001105",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001105.tgz",
+      "integrity": "sha512-JupOe6+dGMr7E20siZHIZQwYqrllxotAhiaej96y6x00b/48rPt42o+SzOSCPbrpsDWvRja40Hwrj0g0q6LZJg==",
       "dev": true
     },
     "caporal": {
@@ -3483,10 +3524,10 @@
         }
       }
     },
-    "chardet": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
-      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+    "char-regex": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
+      "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
       "dev": true
     },
     "chokidar": {
@@ -3587,6 +3628,39 @@
         "colors": "^1.1.2",
         "object-assign": "^4.1.0",
         "string-width": "^2.1.1"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+          "dev": true
+        },
+        "is-fullwidth-code-point": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+          "dev": true
+        },
+        "string-width": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+          "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+          "dev": true,
+          "requires": {
+            "is-fullwidth-code-point": "^2.0.0",
+            "strip-ansi": "^4.0.0"
+          }
+        },
+        "strip-ansi": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "^3.0.0"
+          }
+        }
       }
     },
     "cli-truncate": {
@@ -3630,12 +3704,6 @@
           "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
           "dev": true
         },
-        "is-fullwidth-code-point": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-          "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-          "dev": true
-        },
         "slice-ansi": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz",
@@ -3646,17 +3714,6 @@
             "astral-regex": "^2.0.0",
             "is-fullwidth-code-point": "^3.0.0"
           }
-        },
-        "string-width": {
-          "version": "4.2.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
-          "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
-          "dev": true,
-          "requires": {
-            "emoji-regex": "^8.0.0",
-            "is-fullwidth-code-point": "^3.0.0",
-            "strip-ansi": "^6.0.0"
-          }
         }
       }
     },
@@ -3675,36 +3732,6 @@
         "string-width": "^4.2.0",
         "strip-ansi": "^6.0.0",
         "wrap-ansi": "^6.2.0"
-      },
-      "dependencies": {
-        "is-fullwidth-code-point": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-          "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-          "dev": true
-        },
-        "string-width": {
-          "version": "4.2.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
-          "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
-          "dev": true,
-          "requires": {
-            "emoji-regex": "^8.0.0",
-            "is-fullwidth-code-point": "^3.0.0",
-            "strip-ansi": "^6.0.0"
-          }
-        }
-      }
-    },
-    "clone-deep": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
-      "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
-      "dev": true,
-      "requires": {
-        "is-plain-object": "^2.0.4",
-        "kind-of": "^6.0.2",
-        "shallow-clone": "^3.0.0"
       }
     },
     "co": {
@@ -3749,9 +3776,9 @@
       "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
     },
     "colorette": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.0.tgz",
-      "integrity": "sha512-soRSroY+OF/8OdA3PTQXwaDJeMc7TfknKKrxeSCencL2a4+Tx5zhxmmv7hdpCjhKBjehzp8+bwe/T68K0hpIjw==",
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz",
+      "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==",
       "dev": true
     },
     "colors": {
@@ -3844,56 +3871,33 @@
     },
     "contains-path": {
       "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
-      "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
-      "dev": true
-    },
-    "conventional-changelog": {
-      "version": "3.1.18",
-      "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.18.tgz",
-      "integrity": "sha512-aN6a3rjgV8qwAJj3sC/Lme2kvswWO7fFSGQc32gREcwIOsaiqBaO6f2p0NomFaPDnTqZ+mMZFLL3hlzvEnZ0mQ==",
-      "dev": true,
-      "requires": {
-        "conventional-changelog-angular": "^5.0.6",
-        "conventional-changelog-atom": "^2.0.3",
-        "conventional-changelog-codemirror": "^2.0.3",
-        "conventional-changelog-conventionalcommits": "^4.2.3",
-        "conventional-changelog-core": "^4.1.4",
-        "conventional-changelog-ember": "^2.0.4",
-        "conventional-changelog-eslint": "^3.0.4",
-        "conventional-changelog-express": "^2.0.1",
-        "conventional-changelog-jquery": "^3.0.6",
-        "conventional-changelog-jshint": "^2.0.3",
-        "conventional-changelog-preset-loader": "^2.3.0"
-      },
-      "dependencies": {
-        "conventional-changelog-angular": {
-          "version": "5.0.10",
-          "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.10.tgz",
-          "integrity": "sha512-k7RPPRs0vp8+BtPsM9uDxRl6KcgqtCJmzRD1wRtgqmhQ96g8ifBGo9O/TZBG23jqlXS/rg8BKRDELxfnQQGiaA==",
-          "dev": true,
-          "requires": {
-            "compare-func": "^1.3.1",
-            "q": "^1.5.1"
-          }
-        },
-        "conventional-changelog-conventionalcommits": {
-          "version": "4.3.0",
-          "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.3.0.tgz",
-          "integrity": "sha512-oYHydvZKU+bS8LnGqTMlNrrd7769EsuEHKy4fh1oMdvvDi7fem8U+nvfresJ1IDB8K00Mn4LpiA/lR+7Gs6rgg==",
-          "dev": true,
-          "requires": {
-            "compare-func": "^1.3.1",
-            "lodash": "^4.17.15",
-            "q": "^1.5.1"
-          }
-        }
+      "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
+      "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
+      "dev": true
+    },
+    "conventional-changelog": {
+      "version": "3.1.21",
+      "resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.21.tgz",
+      "integrity": "sha512-ZGecVZPEo3aC75VVE4nu85589dDhpMyqfqgUM5Myq6wfKWiNqhDJLSDMsc8qKXshZoY7dqs1hR0H/15kI/G2jQ==",
+      "dev": true,
+      "requires": {
+        "conventional-changelog-angular": "^5.0.10",
+        "conventional-changelog-atom": "^2.0.7",
+        "conventional-changelog-codemirror": "^2.0.7",
+        "conventional-changelog-conventionalcommits": "^4.3.0",
+        "conventional-changelog-core": "^4.1.7",
+        "conventional-changelog-ember": "^2.0.8",
+        "conventional-changelog-eslint": "^3.0.8",
+        "conventional-changelog-express": "^2.0.5",
+        "conventional-changelog-jquery": "^3.0.10",
+        "conventional-changelog-jshint": "^2.0.7",
+        "conventional-changelog-preset-loader": "^2.3.4"
       }
     },
     "conventional-changelog-angular": {
-      "version": "1.6.6",
-      "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz",
-      "integrity": "sha512-suQnFSqCxRwyBxY68pYTsFkG0taIdinHLNEAX5ivtw8bCRnIgnpvcHmlR/yjUyZIrNPYAoXlY1WiEKWgSE4BNg==",
+      "version": "5.0.10",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.10.tgz",
+      "integrity": "sha512-k7RPPRs0vp8+BtPsM9uDxRl6KcgqtCJmzRD1wRtgqmhQ96g8ifBGo9O/TZBG23jqlXS/rg8BKRDELxfnQQGiaA==",
       "dev": true,
       "requires": {
         "compare-func": "^1.3.1",
@@ -3925,13 +3929,13 @@
       "dev": true
     },
     "conventional-changelog-conventionalcommits": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.2.1.tgz",
-      "integrity": "sha512-vC02KucnkNNap+foDKFm7BVUSDAXktXrUJqGszUuYnt6T0J2azsbYz/w9TDc3VsrW2v6JOtiQWVcgZnporHr4Q==",
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.3.0.tgz",
+      "integrity": "sha512-oYHydvZKU+bS8LnGqTMlNrrd7769EsuEHKy4fh1oMdvvDi7fem8U+nvfresJ1IDB8K00Mn4LpiA/lR+7Gs6rgg==",
       "dev": true,
       "requires": {
         "compare-func": "^1.3.1",
-        "lodash": "^4.2.1",
+        "lodash": "^4.17.15",
         "q": "^1.5.1"
       }
     },
@@ -3990,6 +3994,15 @@
             "number-is-nan": "^1.0.0"
           }
         },
+        "find-up": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+          "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+          "dev": true,
+          "requires": {
+            "locate-path": "^2.0.0"
+          }
+        },
         "git-raw-commits": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz",
@@ -4015,194 +4028,32 @@
             }
           }
         },
-        "git-semver-tags": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.0.0.tgz",
-          "integrity": "sha512-LajaAWLYVBff+1NVircURJFL8TQ3EMIcLAfHisWYX/nPoMwnTYfWAznQDmMujlLqoD12VtLmoSrF1sQ5MhimEQ==",
-          "dev": true,
-          "requires": {
-            "meow": "^7.0.0",
-            "semver": "^6.0.0"
-          },
-          "dependencies": {
-            "arrify": {
-              "version": "2.0.1",
-              "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
-              "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
-              "dev": true
-            },
-            "camelcase": {
-              "version": "6.0.0",
-              "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz",
-              "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==",
-              "dev": true
-            },
-            "camelcase-keys": {
-              "version": "6.2.2",
-              "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
-              "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
-              "dev": true,
-              "requires": {
-                "camelcase": "^5.3.1",
-                "map-obj": "^4.0.0",
-                "quick-lru": "^4.0.1"
-              },
-              "dependencies": {
-                "camelcase": {
-                  "version": "5.3.1",
-                  "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
-                  "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-                  "dev": true
-                }
-              }
-            },
-            "find-up": {
-              "version": "4.1.0",
-              "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-              "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-              "dev": true,
-              "requires": {
-                "locate-path": "^5.0.0",
-                "path-exists": "^4.0.0"
-              }
-            },
-            "indent-string": {
-              "version": "4.0.0",
-              "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
-              "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
-              "dev": true
-            },
-            "map-obj": {
-              "version": "4.1.0",
-              "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz",
-              "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==",
-              "dev": true
-            },
-            "meow": {
-              "version": "7.0.1",
-              "resolved": "https://registry.npmjs.org/meow/-/meow-7.0.1.tgz",
-              "integrity": "sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw==",
-              "dev": true,
-              "requires": {
-                "@types/minimist": "^1.2.0",
-                "arrify": "^2.0.1",
-                "camelcase": "^6.0.0",
-                "camelcase-keys": "^6.2.2",
-                "decamelize-keys": "^1.1.0",
-                "hard-rejection": "^2.1.0",
-                "minimist-options": "^4.0.2",
-                "normalize-package-data": "^2.5.0",
-                "read-pkg-up": "^7.0.1",
-                "redent": "^3.0.0",
-                "trim-newlines": "^3.0.0",
-                "type-fest": "^0.13.1",
-                "yargs-parser": "^18.1.3"
-              }
-            },
-            "minimist-options": {
-              "version": "4.1.0",
-              "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
-              "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
-              "dev": true,
-              "requires": {
-                "arrify": "^1.0.1",
-                "is-plain-obj": "^1.1.0",
-                "kind-of": "^6.0.3"
-              },
-              "dependencies": {
-                "arrify": {
-                  "version": "1.0.1",
-                  "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
-                  "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
-                  "dev": true
-                }
-              }
-            },
-            "quick-lru": {
-              "version": "4.0.1",
-              "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
-              "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
-              "dev": true
-            },
-            "read-pkg": {
-              "version": "5.2.0",
-              "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
-              "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
-              "dev": true,
-              "requires": {
-                "@types/normalize-package-data": "^2.4.0",
-                "normalize-package-data": "^2.5.0",
-                "parse-json": "^5.0.0",
-                "type-fest": "^0.6.0"
-              },
-              "dependencies": {
-                "type-fest": {
-                  "version": "0.6.0",
-                  "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
-                  "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
-                  "dev": true
-                }
-              }
-            },
-            "read-pkg-up": {
-              "version": "7.0.1",
-              "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
-              "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
-              "dev": true,
-              "requires": {
-                "find-up": "^4.1.0",
-                "read-pkg": "^5.2.0",
-                "type-fest": "^0.8.1"
-              },
-              "dependencies": {
-                "type-fest": {
-                  "version": "0.8.1",
-                  "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-                  "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-                  "dev": true
-                }
-              }
-            },
-            "redent": {
-              "version": "3.0.0",
-              "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
-              "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
-              "dev": true,
-              "requires": {
-                "indent-string": "^4.0.0",
-                "strip-indent": "^3.0.0"
-              }
-            },
-            "strip-indent": {
-              "version": "3.0.0",
-              "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
-              "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
-              "dev": true,
-              "requires": {
-                "min-indent": "^1.0.0"
-              }
-            },
-            "trim-newlines": {
-              "version": "3.0.0",
-              "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz",
-              "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==",
-              "dev": true
-            }
-          }
-        },
         "indent-string": {
           "version": "3.2.0",
           "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
           "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
           "dev": true
         },
+        "load-json-file": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+          "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.1.2",
+            "parse-json": "^4.0.0",
+            "pify": "^3.0.0",
+            "strip-bom": "^3.0.0"
+          }
+        },
         "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+          "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
           "dev": true,
           "requires": {
-            "p-locate": "^4.1.0"
+            "p-locate": "^2.0.0",
+            "path-exists": "^3.0.0"
           }
         },
         "map-obj": {
@@ -4239,33 +4090,58 @@
           }
         },
         "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+          "version": "1.3.0",
+          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+          "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
           "dev": true,
           "requires": {
-            "p-try": "^2.0.0"
+            "p-try": "^1.0.0"
           }
         },
         "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+          "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
           "dev": true,
           "requires": {
-            "p-limit": "^2.2.0"
+            "p-limit": "^1.1.0"
           }
         },
         "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+          "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
           "dev": true
         },
-        "path-exists": {
+        "parse-json": {
           "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+          "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+          "dev": true,
+          "requires": {
+            "error-ex": "^1.3.1",
+            "json-parse-better-errors": "^1.0.1"
+          }
+        },
+        "path-exists": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+          "dev": true
+        },
+        "path-type": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+          "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+          "dev": true,
+          "requires": {
+            "pify": "^3.0.0"
+          }
+        },
+        "pify": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
           "dev": true
         },
         "quick-lru": {
@@ -4347,9 +4223,9 @@
       }
     },
     "conventional-changelog-jquery": {
-      "version": "3.0.6",
-      "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.6.tgz",
-      "integrity": "sha512-gHAABCXUNA/HjnZEm+vxAfFPJkgtrZvCDIlCKfdPVXtCIo/Q0lN5VKpx8aR5p8KdVRQFF3OuTlvv5kv6iPuRqA==",
+      "version": "3.0.10",
+      "resolved": "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.10.tgz",
+      "integrity": "sha512-QCW6wF8QgPkq2ruPaxc83jZxoWQxLkt/pNxIDn/oYjMiVgrtqNdd7lWe3vsl0hw5ENHNf/ejXuzDHk6suKsRpg==",
       "dev": true,
       "requires": {
         "q": "^1.5.1"
@@ -4389,32 +4265,11 @@
         "through2": "^3.0.0"
       },
       "dependencies": {
-        "camelcase": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz",
-          "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==",
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
           "dev": true
-        },
-        "meow": {
-          "version": "7.0.1",
-          "resolved": "https://registry.npmjs.org/meow/-/meow-7.0.1.tgz",
-          "integrity": "sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw==",
-          "dev": true,
-          "requires": {
-            "@types/minimist": "^1.2.0",
-            "arrify": "^2.0.1",
-            "camelcase": "^6.0.0",
-            "camelcase-keys": "^6.2.2",
-            "decamelize-keys": "^1.1.0",
-            "hard-rejection": "^2.1.0",
-            "minimist-options": "^4.0.2",
-            "normalize-package-data": "^2.5.0",
-            "read-pkg-up": "^7.0.1",
-            "redent": "^3.0.0",
-            "trim-newlines": "^3.0.0",
-            "type-fest": "^0.13.1",
-            "yargs-parser": "^18.1.3"
-          }
         }
       }
     },
@@ -4441,50 +4296,21 @@
         "split2": "^2.0.0",
         "through2": "^3.0.0",
         "trim-off-newlines": "^1.0.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz",
-          "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==",
-          "dev": true
-        },
-        "meow": {
-          "version": "7.0.1",
-          "resolved": "https://registry.npmjs.org/meow/-/meow-7.0.1.tgz",
-          "integrity": "sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw==",
-          "dev": true,
-          "requires": {
-            "@types/minimist": "^1.2.0",
-            "arrify": "^2.0.1",
-            "camelcase": "^6.0.0",
-            "camelcase-keys": "^6.2.2",
-            "decamelize-keys": "^1.1.0",
-            "hard-rejection": "^2.1.0",
-            "minimist-options": "^4.0.2",
-            "normalize-package-data": "^2.5.0",
-            "read-pkg-up": "^7.0.1",
-            "redent": "^3.0.0",
-            "trim-newlines": "^3.0.0",
-            "type-fest": "^0.13.1",
-            "yargs-parser": "^18.1.3"
-          }
-        }
       }
     },
     "conventional-recommended-bump": {
-      "version": "6.0.5",
-      "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.0.5.tgz",
-      "integrity": "sha512-srkferrB4kACPEbKYltZwX1CQZAEqbQkabKN444mavLRVMetzwJFJf23/+pwvtMsWbd+cc4HaleV1nHke0f8Rw==",
+      "version": "6.0.9",
+      "resolved": "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-6.0.9.tgz",
+      "integrity": "sha512-DpRmW1k8CpRrcsXHOPGgHgOd4BMGiq2gtXAveGM8B9pSd9b4r4WKnqp1Fd0vkDtk8l973mIk8KKKUYnKRr9SFw==",
       "dev": true,
       "requires": {
         "concat-stream": "^2.0.0",
-        "conventional-changelog-preset-loader": "^2.3.0",
-        "conventional-commits-filter": "^2.0.2",
-        "conventional-commits-parser": "^3.0.8",
+        "conventional-changelog-preset-loader": "^2.3.4",
+        "conventional-commits-filter": "^2.0.6",
+        "conventional-commits-parser": "^3.1.0",
         "git-raw-commits": "2.0.0",
-        "git-semver-tags": "^3.0.1",
-        "meow": "^5.0.0",
+        "git-semver-tags": "^4.0.0",
+        "meow": "^7.0.0",
         "q": "^1.5.1"
       },
       "dependencies": {
@@ -4532,6 +4358,15 @@
             "number-is-nan": "^1.0.0"
           }
         },
+        "find-up": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+          "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+          "dev": true,
+          "requires": {
+            "locate-path": "^2.0.0"
+          }
+        },
         "git-raw-commits": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz",
@@ -4570,6 +4405,28 @@
           "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
           "dev": true
         },
+        "load-json-file": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+          "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.1.2",
+            "parse-json": "^4.0.0",
+            "pify": "^3.0.0",
+            "strip-bom": "^3.0.0"
+          }
+        },
+        "locate-path": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+          "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+          "dev": true,
+          "requires": {
+            "p-locate": "^2.0.0",
+            "path-exists": "^3.0.0"
+          }
+        },
         "map-obj": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
@@ -4586,6 +4443,61 @@
             "is-plain-obj": "^1.1.0"
           }
         },
+        "p-limit": {
+          "version": "1.3.0",
+          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+          "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+          "dev": true,
+          "requires": {
+            "p-try": "^1.0.0"
+          }
+        },
+        "p-locate": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+          "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+          "dev": true,
+          "requires": {
+            "p-limit": "^1.1.0"
+          }
+        },
+        "p-try": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+          "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+          "dev": true
+        },
+        "parse-json": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+          "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+          "dev": true,
+          "requires": {
+            "error-ex": "^1.3.1",
+            "json-parse-better-errors": "^1.0.1"
+          }
+        },
+        "path-exists": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+          "dev": true
+        },
+        "path-type": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+          "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+          "dev": true,
+          "requires": {
+            "pify": "^3.0.0"
+          }
+        },
+        "pify": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+          "dev": true
+        },
         "quick-lru": {
           "version": "1.1.0",
           "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz",
@@ -4696,6 +4608,17 @@
         "mkdirp": "^0.5.1",
         "rimraf": "^2.5.4",
         "run-queue": "^1.0.0"
+      },
+      "dependencies": {
+        "rimraf": {
+          "version": "2.7.1",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+          "dev": true,
+          "requires": {
+            "glob": "^7.1.3"
+          }
+        }
       }
     },
     "copy-descriptor": {
@@ -4705,9 +4628,9 @@
       "dev": true
     },
     "core-js": {
-      "version": "2.6.11",
-      "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
-      "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==",
+      "version": "3.6.5",
+      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
+      "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==",
       "dev": true
     },
     "core-js-compat": {
@@ -4735,43 +4658,16 @@
       "dev": true
     },
     "cosmiconfig": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
-      "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
+      "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
       "dev": true,
       "requires": {
-        "import-fresh": "^2.0.0",
-        "is-directory": "^0.3.1",
-        "js-yaml": "^3.13.1",
-        "parse-json": "^4.0.0"
-      },
-      "dependencies": {
-        "import-fresh": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
-          "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
-          "dev": true,
-          "requires": {
-            "caller-path": "^2.0.0",
-            "resolve-from": "^3.0.0"
-          }
-        },
-        "parse-json": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
-          "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
-          "dev": true,
-          "requires": {
-            "error-ex": "^1.3.1",
-            "json-parse-better-errors": "^1.0.1"
-          }
-        },
-        "resolve-from": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
-          "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
-          "dev": true
-        }
+        "@types/parse-json": "^4.0.0",
+        "import-fresh": "^3.1.0",
+        "parse-json": "^5.0.0",
+        "path-type": "^4.0.0",
+        "yaml": "^1.7.2"
       }
     },
     "create-ecdh": {
@@ -5029,14 +4925,14 @@
       }
     },
     "data-urls": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
-      "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
+      "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
       "dev": true,
       "requires": {
-        "abab": "^2.0.0",
-        "whatwg-mimetype": "^2.2.0",
-        "whatwg-url": "^7.0.0"
+        "abab": "^2.0.3",
+        "whatwg-mimetype": "^2.3.0",
+        "whatwg-url": "^8.0.0"
       }
     },
     "dateformat": {
@@ -5078,6 +4974,12 @@
         }
       }
     },
+    "decimal.js": {
+      "version": "10.2.0",
+      "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.0.tgz",
+      "integrity": "sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw==",
+      "dev": true
+    },
     "decode-uri-component": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
@@ -5171,18 +5073,9 @@
         "is-path-inside": "^3.0.1",
         "p-map": "^3.0.0",
         "rimraf": "^3.0.0",
-        "slash": "^3.0.0"
-      },
-      "dependencies": {
-        "rimraf": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        },
+        "slash": "^3.0.0"
+      },
+      "dependencies": {
         "slash": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
@@ -5257,9 +5150,9 @@
       "dev": true
     },
     "diff-sequences": {
-      "version": "25.2.6",
-      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz",
-      "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==",
+      "version": "26.0.0",
+      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.0.0.tgz",
+      "integrity": "sha512-JC/eHYEC3aSS0vZGjuoc4vHA0yAQTzhQQldXMeMF+JlxLGJlCO38Gma82NV9gk1jGFz8mDzUMeaKXvjRRdJ2dg==",
       "dev": true
     },
     "diffie-hellman": {
@@ -5288,14 +5181,6 @@
       "dev": true,
       "requires": {
         "path-type": "^4.0.0"
-      },
-      "dependencies": {
-        "path-type": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
-          "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
-          "dev": true
-        }
       }
     },
     "doctrine": {
@@ -5314,12 +5199,20 @@
       "dev": true
     },
     "domexception": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
-      "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
+      "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
       "dev": true,
       "requires": {
-        "webidl-conversions": "^4.0.2"
+        "webidl-conversions": "^5.0.0"
+      },
+      "dependencies": {
+        "webidl-conversions": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
+          "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
+          "dev": true
+        }
       }
     },
     "dot-prop": {
@@ -5360,15 +5253,6 @@
             "path-exists": "^3.0.0"
           }
         },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
         "p-locate": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
@@ -5378,10 +5262,10 @@
             "p-limit": "^2.0.0"
           }
         },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+        "path-exists": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
           "dev": true
         }
       }
@@ -5435,15 +5319,15 @@
       }
     },
     "electron-to-chromium": {
-      "version": "1.3.472",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.472.tgz",
-      "integrity": "sha512-mDk+Q3dWiZo/v6x+1/vU/RdbPI5pMuylg9b1Y2qs+DAomAudcSBlAVZsNm6JuEh9JKIR2rg/eWYmxUVBKIbiOg==",
+      "version": "1.3.509",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.509.tgz",
+      "integrity": "sha512-cN4lkjNRuTG8rtAqTOVgwpecEC2kbKA04PG6YijcKGHK/kD0xLjiqExcAOmLUwtXZRF8cBeam2I0VZcih919Ug==",
       "dev": true
     },
     "elliptic": {
-      "version": "6.5.2",
-      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz",
-      "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==",
+      "version": "6.5.3",
+      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz",
+      "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==",
       "dev": true,
       "requires": {
         "bn.js": "^4.4.0",
@@ -5484,9 +5368,9 @@
       }
     },
     "enhanced-resolve": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz",
-      "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==",
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz",
+      "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==",
       "dev": true,
       "requires": {
         "graceful-fs": "^4.1.2",
@@ -5507,12 +5391,12 @@
       }
     },
     "enquirer": {
-      "version": "2.3.5",
-      "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.5.tgz",
-      "integrity": "sha512-BNT1C08P9XD0vNg3J475yIUG+mVdp9T6towYFHUv897X0KoHBjB1shyrNmhmtHWKP17iSWgo7Gqh7BBuzLZMSA==",
+      "version": "2.3.6",
+      "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+      "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
       "dev": true,
       "requires": {
-        "ansi-colors": "^3.2.1"
+        "ansi-colors": "^4.1.1"
       }
     },
     "errno": {
@@ -5534,22 +5418,22 @@
       }
     },
     "es-abstract": {
-      "version": "1.17.5",
-      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
-      "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+      "version": "1.17.6",
+      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
+      "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
       "dev": true,
       "requires": {
         "es-to-primitive": "^1.2.1",
         "function-bind": "^1.1.1",
         "has": "^1.0.3",
         "has-symbols": "^1.0.1",
-        "is-callable": "^1.1.5",
-        "is-regex": "^1.0.5",
+        "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.trimleft": "^2.1.1",
-        "string.prototype.trimright": "^2.1.1"
+        "string.prototype.trimend": "^1.0.1",
+        "string.prototype.trimstart": "^1.0.1"
       }
     },
     "es-check": {
@@ -5574,15 +5458,21 @@
         "is-symbol": "^1.0.2"
       }
     },
+    "escalade": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.2.tgz",
+      "integrity": "sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ==",
+      "dev": true
+    },
     "escape-string-regexp": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
       "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
     },
     "escodegen": {
-      "version": "1.14.2",
-      "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.2.tgz",
-      "integrity": "sha512-InuOIiKk8wwuOFg6x9BQXbzjrQhtyXh46K9bqVTPzSo2FnyMBaYGBMC6PhQy7yxxil9vIedFBweQBMK74/7o8A==",
+      "version": "1.14.3",
+      "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz",
+      "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==",
       "dev": true,
       "requires": {
         "esprima": "^4.0.1",
@@ -5590,25 +5480,73 @@
         "esutils": "^2.0.2",
         "optionator": "^0.8.1",
         "source-map": "~0.6.1"
+      },
+      "dependencies": {
+        "esprima": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+          "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+          "dev": true
+        },
+        "levn": {
+          "version": "0.3.0",
+          "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+          "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+          "dev": true,
+          "requires": {
+            "prelude-ls": "~1.1.2",
+            "type-check": "~0.3.2"
+          }
+        },
+        "optionator": {
+          "version": "0.8.3",
+          "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+          "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+          "dev": true,
+          "requires": {
+            "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"
+          }
+        },
+        "prelude-ls": {
+          "version": "1.1.2",
+          "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+          "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+          "dev": true
+        },
+        "type-check": {
+          "version": "0.3.2",
+          "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+          "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+          "dev": true,
+          "requires": {
+            "prelude-ls": "~1.1.2"
+          }
+        }
       }
     },
     "eslint": {
-      "version": "6.8.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
-      "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
+      "version": "7.5.0",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.5.0.tgz",
+      "integrity": "sha512-vlUP10xse9sWt9SGRtcr1LAC67BENcQMFeV+w5EvLEoFe3xJ8cF1Skd0msziRx/VMC+72B4DxreCE+OR12OA6Q==",
       "dev": true,
       "requires": {
         "@babel/code-frame": "^7.0.0",
         "ajv": "^6.10.0",
-        "chalk": "^2.1.0",
-        "cross-spawn": "^6.0.5",
+        "chalk": "^4.0.0",
+        "cross-spawn": "^7.0.2",
         "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",
+        "enquirer": "^2.3.5",
+        "eslint-scope": "^5.1.0",
+        "eslint-utils": "^2.1.0",
+        "eslint-visitor-keys": "^1.3.0",
+        "espree": "^7.2.0",
+        "esquery": "^1.2.0",
         "esutils": "^2.0.2",
         "file-entry-cache": "^5.0.1",
         "functional-red-black-tree": "^1.0.1",
@@ -5617,49 +5555,24 @@
         "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",
+        "levn": "^0.4.1",
+        "lodash": "^4.17.19",
         "minimatch": "^3.0.4",
-        "mkdirp": "^0.5.1",
         "natural-compare": "^1.4.0",
-        "optionator": "^0.8.3",
+        "optionator": "^0.9.1",
         "progress": "^2.0.0",
-        "regexpp": "^2.0.1",
-        "semver": "^6.1.2",
-        "strip-ansi": "^5.2.0",
-        "strip-json-comments": "^3.0.1",
+        "regexpp": "^3.1.0",
+        "semver": "^7.2.1",
+        "strip-ansi": "^6.0.0",
+        "strip-json-comments": "^3.1.0",
         "table": "^5.2.3",
         "text-table": "^0.2.0",
         "v8-compile-cache": "^2.0.3"
       },
       "dependencies": {
-        "ansi-escapes": {
-          "version": "4.3.1",
-          "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
-          "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
-          "dev": true,
-          "requires": {
-            "type-fest": "^0.11.0"
-          },
-          "dependencies": {
-            "type-fest": {
-              "version": "0.11.0",
-              "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
-              "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
-              "dev": true
-            }
-          }
-        },
-        "ansi-regex": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
-          "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
-          "dev": true
-        },
         "ansi-styles": {
           "version": "4.2.1",
           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
@@ -5670,13 +5583,14 @@
             "color-convert": "^2.0.1"
           }
         },
-        "cli-cursor": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
-          "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+        "chalk": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
-            "restore-cursor": "^3.1.0"
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
           }
         },
         "color-convert": {
@@ -5694,6 +5608,17 @@
           "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
           "dev": true
         },
+        "cross-spawn": {
+          "version": "7.0.3",
+          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+          "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+          "dev": true,
+          "requires": {
+            "path-key": "^3.1.0",
+            "shebang-command": "^2.0.0",
+            "which": "^2.0.1"
+          }
+        },
         "debug": {
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@@ -5703,26 +5628,6 @@
             "ms": "^2.1.1"
           }
         },
-        "external-editor": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
-          "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
-          "dev": true,
-          "requires": {
-            "chardet": "^0.7.0",
-            "iconv-lite": "^0.4.24",
-            "tmp": "^0.0.33"
-          }
-        },
-        "figures": {
-          "version": "3.2.0",
-          "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
-          "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
-          "dev": true,
-          "requires": {
-            "escape-string-regexp": "^1.0.5"
-          }
-        },
         "glob-parent": {
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
@@ -5753,128 +5658,37 @@
           "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
           "dev": true
         },
-        "inquirer": {
-          "version": "7.1.0",
-          "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz",
-          "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==",
-          "dev": true,
-          "requires": {
-            "ansi-escapes": "^4.2.1",
-            "chalk": "^3.0.0",
-            "cli-cursor": "^3.1.0",
-            "cli-width": "^2.0.0",
-            "external-editor": "^3.0.3",
-            "figures": "^3.0.0",
-            "lodash": "^4.17.15",
-            "mute-stream": "0.0.8",
-            "run-async": "^2.4.0",
-            "rxjs": "^6.5.3",
-            "string-width": "^4.1.0",
-            "strip-ansi": "^6.0.0",
-            "through": "^2.3.6"
-          },
-          "dependencies": {
-            "chalk": {
-              "version": "3.0.0",
-              "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-              "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
-              "dev": true,
-              "requires": {
-                "ansi-styles": "^4.1.0",
-                "supports-color": "^7.1.0"
-              }
-            },
-            "strip-ansi": {
-              "version": "6.0.0",
-              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
-              "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
-              "dev": true,
-              "requires": {
-                "ansi-regex": "^5.0.0"
-              }
-            }
-          }
-        },
-        "is-fullwidth-code-point": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-          "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-          "dev": true
-        },
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
           "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
           "dev": true
         },
-        "mute-stream": {
-          "version": "0.0.8",
-          "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
-          "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+        "path-key": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+          "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
           "dev": true
         },
-        "onetime": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
-          "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
-          "dev": true,
-          "requires": {
-            "mimic-fn": "^2.1.0"
-          }
-        },
-        "restore-cursor": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
-          "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
-          "dev": true,
-          "requires": {
-            "onetime": "^5.1.0",
-            "signal-exit": "^3.0.2"
-          }
-        },
-        "string-width": {
-          "version": "4.2.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
-          "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+        "shebang-command": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+          "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
           "dev": true,
           "requires": {
-            "emoji-regex": "^8.0.0",
-            "is-fullwidth-code-point": "^3.0.0",
-            "strip-ansi": "^6.0.0"
-          },
-          "dependencies": {
-            "strip-ansi": {
-              "version": "6.0.0",
-              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
-              "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
-              "dev": true,
-              "requires": {
-                "ansi-regex": "^5.0.0"
-              }
-            }
+            "shebang-regex": "^3.0.0"
           }
         },
-        "strip-ansi": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^4.1.0"
-          },
-          "dependencies": {
-            "ansi-regex": {
-              "version": "4.1.0",
-              "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-              "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
-              "dev": true
-            }
-          }
+        "shebang-regex": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+          "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+          "dev": true
         },
         "strip-json-comments": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz",
-          "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==",
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+          "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
           "dev": true
         },
         "supports-color": {
@@ -5886,15 +5700,6 @@
             "has-flag": "^4.0.0"
           }
         },
-        "tmp": {
-          "version": "0.0.33",
-          "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
-          "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
-          "dev": true,
-          "requires": {
-            "os-tmpdir": "~1.0.2"
-          }
-        },
         "type-fest": {
           "version": "0.8.1",
           "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
@@ -5921,9 +5726,9 @@
       }
     },
     "eslint-import-resolver-node": {
-      "version": "0.3.3",
-      "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz",
-      "integrity": "sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==",
+      "version": "0.3.4",
+      "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz",
+      "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==",
       "dev": true,
       "requires": {
         "debug": "^2.6.9",
@@ -5941,9 +5746,9 @@
       }
     },
     "eslint-plugin-import": {
-      "version": "2.21.2",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.21.2.tgz",
-      "integrity": "sha512-FEmxeGI6yaz+SnEB6YgNHlQK1Bs2DKLM+YF+vuTk5H8J9CLbJLtlPvRFgZZ2+sXiKAlN5dpdlrWOjK8ZoZJpQA==",
+      "version": "2.22.0",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz",
+      "integrity": "sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg==",
       "dev": true,
       "requires": {
         "array-includes": "^3.1.1",
@@ -5971,27 +5776,55 @@
             "isarray": "^1.0.0"
           }
         },
-        "load-json-file": {
+        "find-up": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+          "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+          "dev": true,
+          "requires": {
+            "locate-path": "^2.0.0"
+          }
+        },
+        "locate-path": {
           "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
-          "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+          "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
           "dev": true,
           "requires": {
-            "graceful-fs": "^4.1.2",
-            "parse-json": "^2.2.0",
-            "pify": "^2.0.0",
-            "strip-bom": "^3.0.0"
+            "p-locate": "^2.0.0",
+            "path-exists": "^3.0.0"
           }
         },
-        "parse-json": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
-          "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+        "p-limit": {
+          "version": "1.3.0",
+          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+          "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
           "dev": true,
           "requires": {
-            "error-ex": "^1.2.0"
+            "p-try": "^1.0.0"
+          }
+        },
+        "p-locate": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+          "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+          "dev": true,
+          "requires": {
+            "p-limit": "^1.1.0"
           }
         },
+        "p-try": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+          "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+          "dev": true
+        },
+        "path-exists": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+          "dev": true
+        },
         "path-type": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
@@ -6041,29 +5874,29 @@
       }
     },
     "eslint-utils": {
-      "version": "1.4.3",
-      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
-      "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
+      "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
       "dev": true,
       "requires": {
         "eslint-visitor-keys": "^1.1.0"
       }
     },
     "eslint-visitor-keys": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.2.0.tgz",
-      "integrity": "sha512-WFb4ihckKil6hu3Dp798xdzSfddwKKU3+nGniKF6HfeW6OLd2OUDEPP7TcHtB5+QXOKg2s6B2DaMPE1Nn/kxKQ==",
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+      "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
       "dev": true
     },
     "espree": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
-      "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/espree/-/espree-7.2.0.tgz",
+      "integrity": "sha512-H+cQ3+3JYRMEIOl87e7QdHX70ocly5iW4+dttuR8iYSPr/hXKFb+7dBsZ7+u1adC4VrnPlTkv0+OwuPnDop19g==",
       "dev": true,
       "requires": {
-        "acorn": "^7.1.1",
+        "acorn": "^7.3.1",
         "acorn-jsx": "^5.2.0",
-        "eslint-visitor-keys": "^1.1.0"
+        "eslint-visitor-keys": "^1.3.0"
       },
       "dependencies": {
         "acorn": {
@@ -6075,9 +5908,9 @@
       }
     },
     "esprima": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
-      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+      "version": "2.7.3",
+      "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+      "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
       "dev": true
     },
     "esquery": {
@@ -6119,9 +5952,9 @@
       "dev": true
     },
     "events": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz",
-      "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==",
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz",
+      "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==",
       "dev": true
     },
     "evp_bytestokey": {
@@ -6203,17 +6036,17 @@
       }
     },
     "expect": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz",
-      "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/expect/-/expect-26.1.0.tgz",
+      "integrity": "sha512-QbH4LZXDsno9AACrN9eM0zfnby9G+OsdNgZUohjg/P0mLy1O+/bzTAJGT6VSIjVCe8yKM6SzEl/ckEOFBT7Vnw==",
       "dev": true,
       "requires": {
-        "@jest/types": "^25.5.0",
+        "@jest/types": "^26.1.0",
         "ansi-styles": "^4.0.0",
-        "jest-get-type": "^25.2.6",
-        "jest-matcher-utils": "^25.5.0",
-        "jest-message-util": "^25.5.0",
-        "jest-regex-util": "^25.2.6"
+        "jest-get-type": "^26.0.0",
+        "jest-matcher-utils": "^26.1.0",
+        "jest-message-util": "^26.1.0",
+        "jest-regex-util": "^26.0.0"
       },
       "dependencies": {
         "ansi-styles": {
@@ -6364,9 +6197,9 @@
       "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
     },
     "fast-glob": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz",
-      "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==",
+      "version": "3.2.4",
+      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
+      "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
       "dev": true,
       "requires": {
         "@nodelib/fs.stat": "^2.0.2",
@@ -6493,28 +6326,6 @@
       "requires": {
         "loader-utils": "^2.0.0",
         "schema-utils": "^2.6.5"
-      },
-      "dependencies": {
-        "json5": {
-          "version": "2.1.3",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
-          "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.5"
-          }
-        },
-        "loader-utils": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
-          "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
-          "dev": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^2.1.2"
-          }
-        }
       }
     },
     "file-uri-to-path": {
@@ -6577,15 +6388,6 @@
             "path-exists": "^3.0.0"
           }
         },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
         "p-locate": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
@@ -6595,10 +6397,10 @@
             "p-limit": "^2.0.0"
           }
         },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+        "path-exists": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
           "dev": true
         },
         "pkg-dir": {
@@ -6613,12 +6415,13 @@
       }
     },
     "find-up": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
-      "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
       "dev": true,
       "requires": {
-        "locate-path": "^2.0.0"
+        "locate-path": "^5.0.0",
+        "path-exists": "^4.0.0"
       }
     },
     "find-versions": {
@@ -6732,12 +6535,12 @@
       "dev": true
     },
     "fs-extra": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
-      "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+      "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
       "dev": true,
       "requires": {
-        "graceful-fs": "^4.1.2",
+        "graceful-fs": "^4.2.0",
         "jsonfile": "^4.0.0",
         "universalify": "^0.1.0"
       }
@@ -7088,35 +6891,6 @@
         "meow": "^7.0.0",
         "split2": "^2.0.0",
         "through2": "^3.0.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.0.0.tgz",
-          "integrity": "sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w==",
-          "dev": true
-        },
-        "meow": {
-          "version": "7.0.1",
-          "resolved": "https://registry.npmjs.org/meow/-/meow-7.0.1.tgz",
-          "integrity": "sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw==",
-          "dev": true,
-          "requires": {
-            "@types/minimist": "^1.2.0",
-            "arrify": "^2.0.1",
-            "camelcase": "^6.0.0",
-            "camelcase-keys": "^6.2.2",
-            "decamelize-keys": "^1.1.0",
-            "hard-rejection": "^2.1.0",
-            "minimist-options": "^4.0.2",
-            "normalize-package-data": "^2.5.0",
-            "read-pkg-up": "^7.0.1",
-            "redent": "^3.0.0",
-            "trim-newlines": "^3.0.0",
-            "type-fest": "^0.13.1",
-            "yargs-parser": "^18.1.3"
-          }
-        }
       }
     },
     "git-remote-origin-url": {
@@ -7138,13 +6912,21 @@
       }
     },
     "git-semver-tags": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-3.0.1.tgz",
-      "integrity": "sha512-Hzd1MOHXouITfCasrpVJbRDg9uvW7LfABk3GQmXYZByerBDrfrEMP9HXpNT7RxAbieiocP6u+xq20DkvjwxnCA==",
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.0.0.tgz",
+      "integrity": "sha512-LajaAWLYVBff+1NVircURJFL8TQ3EMIcLAfHisWYX/nPoMwnTYfWAznQDmMujlLqoD12VtLmoSrF1sQ5MhimEQ==",
       "dev": true,
       "requires": {
-        "meow": "^5.0.0",
+        "meow": "^7.0.0",
         "semver": "^6.0.0"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
+        }
       }
     },
     "git-username": {
@@ -7304,6 +7086,14 @@
       "dev": true,
       "requires": {
         "ansi-regex": "^2.0.0"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+          "dev": true
+        }
       }
     },
     "has-flag": {
@@ -7422,12 +7212,12 @@
       "dev": true
     },
     "html-encoding-sniffer": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
-      "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
+      "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
       "dev": true,
       "requires": {
-        "whatwg-encoding": "^1.0.1"
+        "whatwg-encoding": "^1.0.5"
       }
     },
     "html-escaper": {
@@ -7512,80 +7302,12 @@
           "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
           "dev": true
         },
-        "cosmiconfig": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
-          "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
-          "dev": true,
-          "requires": {
-            "@types/parse-json": "^4.0.0",
-            "import-fresh": "^3.1.0",
-            "parse-json": "^5.0.0",
-            "path-type": "^4.0.0",
-            "yaml": "^1.7.2"
-          }
-        },
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
         "has-flag": {
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
           "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
           "dev": true
         },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
-        "path-type": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
-          "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
-          "dev": true
-        },
         "pkg-dir": {
           "version": "4.2.0",
           "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
@@ -7701,55 +7423,6 @@
         "resolve-cwd": "^3.0.0"
       },
       "dependencies": {
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
         "pkg-dir": {
           "version": "4.2.0",
           "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
@@ -7828,6 +7501,12 @@
         "through": "^2.3.6"
       },
       "dependencies": {
+        "ansi-regex": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+          "dev": true
+        },
         "ansi-styles": {
           "version": "2.2.1",
           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
@@ -8038,9 +7717,9 @@
       "dev": true
     },
     "is-fullwidth-code-point": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
       "dev": true
     },
     "is-generator-fn": {
@@ -8111,6 +7790,12 @@
         "isobject": "^3.0.1"
       }
     },
+    "is-potential-custom-element-name": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz",
+      "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=",
+      "dev": true
+    },
     "is-regex": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz",
@@ -8224,6 +7909,14 @@
         "@istanbuljs/schema": "^0.1.2",
         "istanbul-lib-coverage": "^3.0.0",
         "semver": "^6.3.0"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
+        }
       }
     },
     "istanbul-lib-report": {
@@ -8252,6 +7945,12 @@
             "semver": "^6.0.0"
           }
         },
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
+        },
         "supports-color": {
           "version": "7.1.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
@@ -8302,14 +8001,14 @@
       }
     },
     "jest": {
-      "version": "25.5.4",
-      "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz",
-      "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest/-/jest-26.1.0.tgz",
+      "integrity": "sha512-LIti8jppw5BcQvmNJe4w2g1N/3V68HUfAv9zDVm7v+VAtQulGhH0LnmmiVkbNE4M4I43Bj2fXPiBGKt26k9tHw==",
       "dev": true,
       "requires": {
-        "@jest/core": "^25.5.4",
+        "@jest/core": "^26.1.0",
         "import-local": "^3.0.2",
-        "jest-cli": "^25.5.4"
+        "jest-cli": "^26.1.0"
       },
       "dependencies": {
         "ansi-styles": {
@@ -8323,9 +8022,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -8354,24 +8053,23 @@
           "dev": true
         },
         "jest-cli": {
-          "version": "25.5.4",
-          "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz",
-          "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==",
+          "version": "26.1.0",
+          "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.1.0.tgz",
+          "integrity": "sha512-Imumvjgi3rU7stq6SJ1JUEMaV5aAgJYXIs0jPqdUnF47N/Tk83EXfmtvNKQ+SnFVI6t6mDOvfM3aA9Sg6kQPSw==",
           "dev": true,
           "requires": {
-            "@jest/core": "^25.5.4",
-            "@jest/test-result": "^25.5.0",
-            "@jest/types": "^25.5.0",
-            "chalk": "^3.0.0",
+            "@jest/core": "^26.1.0",
+            "@jest/test-result": "^26.1.0",
+            "@jest/types": "^26.1.0",
+            "chalk": "^4.0.0",
             "exit": "^0.1.2",
             "graceful-fs": "^4.2.4",
             "import-local": "^3.0.2",
             "is-ci": "^2.0.0",
-            "jest-config": "^25.5.4",
-            "jest-util": "^25.5.0",
-            "jest-validate": "^25.5.0",
+            "jest-config": "^26.1.0",
+            "jest-util": "^26.1.0",
+            "jest-validate": "^26.1.0",
             "prompts": "^2.0.1",
-            "realpath-native": "^2.0.0",
             "yargs": "^15.3.1"
           }
         },
@@ -8387,13 +8085,13 @@
       }
     },
     "jest-changed-files": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz",
-      "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-26.1.0.tgz",
+      "integrity": "sha512-HS5MIJp3B8t0NRKGMCZkcDUZo36mVRvrDETl81aqljT1S9tqiHRSpyoOvWg9ZilzZG9TDisDNaN1IXm54fLRZw==",
       "dev": true,
       "requires": {
-        "@jest/types": "^25.5.0",
-        "execa": "^3.2.0",
+        "@jest/types": "^26.1.0",
+        "execa": "^4.0.0",
         "throat": "^5.0.0"
       },
       "dependencies": {
@@ -8409,9 +8107,9 @@
           }
         },
         "execa": {
-          "version": "3.4.0",
-          "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz",
-          "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==",
+          "version": "4.0.3",
+          "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.3.tgz",
+          "integrity": "sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==",
           "dev": true,
           "requires": {
             "cross-spawn": "^7.0.0",
@@ -8421,7 +8119,6 @@
             "merge-stream": "^2.0.0",
             "npm-run-path": "^4.0.0",
             "onetime": "^5.1.0",
-            "p-finally": "^2.0.0",
             "signal-exit": "^3.0.2",
             "strip-final-newline": "^2.0.0"
           }
@@ -8459,12 +8156,6 @@
             "mimic-fn": "^2.1.0"
           }
         },
-        "p-finally": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz",
-          "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==",
-          "dev": true
-        },
         "path-key": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
@@ -8489,30 +8180,29 @@
       }
     },
     "jest-config": {
-      "version": "25.5.4",
-      "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz",
-      "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-26.1.0.tgz",
+      "integrity": "sha512-ONTGeoMbAwGCdq4WuKkMcdMoyfs5CLzHEkzFOlVvcDXufZSaIWh/OXMLa2fwKXiOaFcqEw8qFr4VOKJQfn4CVw==",
       "dev": true,
       "requires": {
         "@babel/core": "^7.1.0",
-        "@jest/test-sequencer": "^25.5.4",
-        "@jest/types": "^25.5.0",
-        "babel-jest": "^25.5.1",
-        "chalk": "^3.0.0",
+        "@jest/test-sequencer": "^26.1.0",
+        "@jest/types": "^26.1.0",
+        "babel-jest": "^26.1.0",
+        "chalk": "^4.0.0",
         "deepmerge": "^4.2.2",
         "glob": "^7.1.1",
         "graceful-fs": "^4.2.4",
-        "jest-environment-jsdom": "^25.5.0",
-        "jest-environment-node": "^25.5.0",
-        "jest-get-type": "^25.2.6",
-        "jest-jasmine2": "^25.5.4",
-        "jest-regex-util": "^25.2.6",
-        "jest-resolve": "^25.5.1",
-        "jest-util": "^25.5.0",
-        "jest-validate": "^25.5.0",
+        "jest-environment-jsdom": "^26.1.0",
+        "jest-environment-node": "^26.1.0",
+        "jest-get-type": "^26.0.0",
+        "jest-jasmine2": "^26.1.0",
+        "jest-regex-util": "^26.0.0",
+        "jest-resolve": "^26.1.0",
+        "jest-util": "^26.1.0",
+        "jest-validate": "^26.1.0",
         "micromatch": "^4.0.2",
-        "pretty-format": "^25.5.0",
-        "realpath-native": "^2.0.0"
+        "pretty-format": "^26.1.0"
       },
       "dependencies": {
         "ansi-styles": {
@@ -8535,9 +8225,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -8611,15 +8301,15 @@
       }
     },
     "jest-diff": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz",
-      "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.1.0.tgz",
+      "integrity": "sha512-GZpIcom339y0OXznsEKjtkfKxNdg7bVbEofK8Q6MnevTIiR1jNhDWKhRX6X0SDXJlwn3dy59nZ1z55fLkAqPWg==",
       "dev": true,
       "requires": {
-        "chalk": "^3.0.0",
-        "diff-sequences": "^25.2.6",
-        "jest-get-type": "^25.2.6",
-        "pretty-format": "^25.5.0"
+        "chalk": "^4.0.0",
+        "diff-sequences": "^26.0.0",
+        "jest-get-type": "^26.0.0",
+        "pretty-format": "^26.1.0"
       },
       "dependencies": {
         "ansi-styles": {
@@ -8633,9 +8323,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -8675,25 +8365,25 @@
       }
     },
     "jest-docblock": {
-      "version": "25.3.0",
-      "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz",
-      "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==",
+      "version": "26.0.0",
+      "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-26.0.0.tgz",
+      "integrity": "sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==",
       "dev": true,
       "requires": {
         "detect-newline": "^3.0.0"
       }
     },
     "jest-each": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz",
-      "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-26.1.0.tgz",
+      "integrity": "sha512-lYiSo4Igr81q6QRsVQq9LIkJW0hZcKxkIkHzNeTMPENYYDw/W/Raq28iJ0sLlNFYz2qxxeLnc5K2gQoFYlu2bA==",
       "dev": true,
       "requires": {
-        "@jest/types": "^25.5.0",
-        "chalk": "^3.0.0",
-        "jest-get-type": "^25.2.6",
-        "jest-util": "^25.5.0",
-        "pretty-format": "^25.5.0"
+        "@jest/types": "^26.1.0",
+        "chalk": "^4.0.0",
+        "jest-get-type": "^26.0.0",
+        "jest-util": "^26.1.0",
+        "pretty-format": "^26.1.0"
       },
       "dependencies": {
         "ansi-styles": {
@@ -8707,9 +8397,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -8749,54 +8439,53 @@
       }
     },
     "jest-environment-jsdom": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz",
-      "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-26.1.0.tgz",
+      "integrity": "sha512-dWfiJ+spunVAwzXbdVqPH1LbuJW/kDL+FyqgA5YzquisHqTi0g9hquKif9xKm7c1bKBj6wbmJuDkeMCnxZEpUw==",
       "dev": true,
       "requires": {
-        "@jest/environment": "^25.5.0",
-        "@jest/fake-timers": "^25.5.0",
-        "@jest/types": "^25.5.0",
-        "jest-mock": "^25.5.0",
-        "jest-util": "^25.5.0",
-        "jsdom": "^15.2.1"
+        "@jest/environment": "^26.1.0",
+        "@jest/fake-timers": "^26.1.0",
+        "@jest/types": "^26.1.0",
+        "jest-mock": "^26.1.0",
+        "jest-util": "^26.1.0",
+        "jsdom": "^16.2.2"
       }
     },
     "jest-environment-node": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz",
-      "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-26.1.0.tgz",
+      "integrity": "sha512-DNm5x1aQH0iRAe9UYAkZenuzuJ69VKzDCAYISFHQ5i9e+2Tbeu2ONGY7YStubCLH8a1wdKBgqScYw85+ySxqxg==",
       "dev": true,
       "requires": {
-        "@jest/environment": "^25.5.0",
-        "@jest/fake-timers": "^25.5.0",
-        "@jest/types": "^25.5.0",
-        "jest-mock": "^25.5.0",
-        "jest-util": "^25.5.0",
-        "semver": "^6.3.0"
+        "@jest/environment": "^26.1.0",
+        "@jest/fake-timers": "^26.1.0",
+        "@jest/types": "^26.1.0",
+        "jest-mock": "^26.1.0",
+        "jest-util": "^26.1.0"
       }
     },
     "jest-get-type": {
-      "version": "25.2.6",
-      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz",
-      "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==",
+      "version": "26.0.0",
+      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.0.0.tgz",
+      "integrity": "sha512-zRc1OAPnnws1EVfykXOj19zo2EMw5Hi6HLbFCSjpuJiXtOWAYIjNsHVSbpQ8bDX7L5BGYGI8m+HmKdjHYFF0kg==",
       "dev": true
     },
     "jest-haste-map": {
-      "version": "25.5.1",
-      "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz",
-      "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-26.1.0.tgz",
+      "integrity": "sha512-WeBS54xCIz9twzkEdm6+vJBXgRBQfdbbXD0dk8lJh7gLihopABlJmIQFdWSDDtuDe4PRiObsjZSUjbJ1uhWEpA==",
       "dev": true,
       "requires": {
-        "@jest/types": "^25.5.0",
+        "@jest/types": "^26.1.0",
         "@types/graceful-fs": "^4.1.2",
         "anymatch": "^3.0.3",
         "fb-watchman": "^2.0.0",
         "fsevents": "^2.1.2",
         "graceful-fs": "^4.2.4",
-        "jest-serializer": "^25.5.0",
-        "jest-util": "^25.5.0",
-        "jest-worker": "^25.5.0",
+        "jest-serializer": "^26.1.0",
+        "jest-util": "^26.1.0",
+        "jest-worker": "^26.1.0",
         "micromatch": "^4.0.2",
         "sane": "^4.0.3",
         "walker": "^1.0.7",
@@ -8866,27 +8555,27 @@
       }
     },
     "jest-jasmine2": {
-      "version": "25.5.4",
-      "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz",
-      "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-26.1.0.tgz",
+      "integrity": "sha512-1IPtoDKOAG+MeBrKvvuxxGPJb35MTTRSDglNdWWCndCB3TIVzbLThRBkwH9P081vXLgiJHZY8Bz3yzFS803xqQ==",
       "dev": true,
       "requires": {
         "@babel/traverse": "^7.1.0",
-        "@jest/environment": "^25.5.0",
-        "@jest/source-map": "^25.5.0",
-        "@jest/test-result": "^25.5.0",
-        "@jest/types": "^25.5.0",
-        "chalk": "^3.0.0",
+        "@jest/environment": "^26.1.0",
+        "@jest/source-map": "^26.1.0",
+        "@jest/test-result": "^26.1.0",
+        "@jest/types": "^26.1.0",
+        "chalk": "^4.0.0",
         "co": "^4.6.0",
-        "expect": "^25.5.0",
+        "expect": "^26.1.0",
         "is-generator-fn": "^2.0.0",
-        "jest-each": "^25.5.0",
-        "jest-matcher-utils": "^25.5.0",
-        "jest-message-util": "^25.5.0",
-        "jest-runtime": "^25.5.4",
-        "jest-snapshot": "^25.5.1",
-        "jest-util": "^25.5.0",
-        "pretty-format": "^25.5.0",
+        "jest-each": "^26.1.0",
+        "jest-matcher-utils": "^26.1.0",
+        "jest-message-util": "^26.1.0",
+        "jest-runtime": "^26.1.0",
+        "jest-snapshot": "^26.1.0",
+        "jest-util": "^26.1.0",
+        "pretty-format": "^26.1.0",
         "throat": "^5.0.0"
       },
       "dependencies": {
@@ -8901,9 +8590,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -8943,25 +8632,25 @@
       }
     },
     "jest-leak-detector": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz",
-      "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-26.1.0.tgz",
+      "integrity": "sha512-dsMnKF+4BVOZwvQDlgn3MG+Ns4JuLv8jNvXH56bgqrrboyCbI1rQg6EI5rs+8IYagVcfVP2yZFKfWNZy0rK0Hw==",
       "dev": true,
       "requires": {
-        "jest-get-type": "^25.2.6",
-        "pretty-format": "^25.5.0"
+        "jest-get-type": "^26.0.0",
+        "pretty-format": "^26.1.0"
       }
     },
     "jest-matcher-utils": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz",
-      "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.1.0.tgz",
+      "integrity": "sha512-PW9JtItbYvES/xLn5mYxjMd+Rk+/kIt88EfH3N7w9KeOrHWaHrdYPnVHndGbsFGRJ2d5gKtwggCvkqbFDoouQA==",
       "dev": true,
       "requires": {
-        "chalk": "^3.0.0",
-        "jest-diff": "^25.5.0",
-        "jest-get-type": "^25.2.6",
-        "pretty-format": "^25.5.0"
+        "chalk": "^4.0.0",
+        "jest-diff": "^26.1.0",
+        "jest-get-type": "^26.0.0",
+        "pretty-format": "^26.1.0"
       },
       "dependencies": {
         "ansi-styles": {
@@ -8975,9 +8664,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -9017,19 +8706,19 @@
       }
     },
     "jest-message-util": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz",
-      "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-26.1.0.tgz",
+      "integrity": "sha512-dY0+UlldiAJwNDJ08SF0HdF32g9PkbF2NRK/+2iMPU40O6q+iSn1lgog/u0UH8ksWoPv0+gNq8cjhYO2MFtT0g==",
       "dev": true,
       "requires": {
         "@babel/code-frame": "^7.0.0",
-        "@jest/types": "^25.5.0",
+        "@jest/types": "^26.1.0",
         "@types/stack-utils": "^1.0.1",
-        "chalk": "^3.0.0",
+        "chalk": "^4.0.0",
         "graceful-fs": "^4.2.4",
         "micromatch": "^4.0.2",
         "slash": "^3.0.0",
-        "stack-utils": "^1.0.1"
+        "stack-utils": "^2.0.2"
       },
       "dependencies": {
         "ansi-styles": {
@@ -9052,9 +8741,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -9134,39 +8823,38 @@
       }
     },
     "jest-mock": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz",
-      "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-26.1.0.tgz",
+      "integrity": "sha512-1Rm8EIJ3ZFA8yCIie92UbxZWj9SuVmUGcyhLHyAhY6WI3NIct38nVcfOPWhJteqSn8V8e3xOMha9Ojfazfpovw==",
       "dev": true,
       "requires": {
-        "@jest/types": "^25.5.0"
+        "@jest/types": "^26.1.0"
       }
     },
     "jest-pnp-resolver": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz",
-      "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==",
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
+      "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
       "dev": true
     },
     "jest-regex-util": {
-      "version": "25.2.6",
-      "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz",
-      "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==",
+      "version": "26.0.0",
+      "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz",
+      "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==",
       "dev": true
     },
     "jest-resolve": {
-      "version": "25.5.1",
-      "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz",
-      "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.1.0.tgz",
+      "integrity": "sha512-KsY1JV9FeVgEmwIISbZZN83RNGJ1CC+XUCikf/ZWJBX/tO4a4NvA21YixokhdR9UnmPKKAC4LafVixJBrwlmfg==",
       "dev": true,
       "requires": {
-        "@jest/types": "^25.5.0",
-        "browser-resolve": "^1.11.3",
-        "chalk": "^3.0.0",
+        "@jest/types": "^26.1.0",
+        "chalk": "^4.0.0",
         "graceful-fs": "^4.2.4",
         "jest-pnp-resolver": "^1.2.1",
+        "jest-util": "^26.1.0",
         "read-pkg-up": "^7.0.1",
-        "realpath-native": "^2.0.0",
         "resolve": "^1.17.0",
         "slash": "^3.0.0"
       },
@@ -9182,9 +8870,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -9230,39 +8918,39 @@
       }
     },
     "jest-resolve-dependencies": {
-      "version": "25.5.4",
-      "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz",
-      "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-26.1.0.tgz",
+      "integrity": "sha512-fQVEPHHQ1JjHRDxzlLU/buuQ9om+hqW6Vo928aa4b4yvq4ZHBtRSDsLdKQLuCqn5CkTVpYZ7ARh2fbA8WkRE6g==",
       "dev": true,
       "requires": {
-        "@jest/types": "^25.5.0",
-        "jest-regex-util": "^25.2.6",
-        "jest-snapshot": "^25.5.1"
+        "@jest/types": "^26.1.0",
+        "jest-regex-util": "^26.0.0",
+        "jest-snapshot": "^26.1.0"
       }
     },
     "jest-runner": {
-      "version": "25.5.4",
-      "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz",
-      "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-26.1.0.tgz",
+      "integrity": "sha512-elvP7y0fVDREnfqit0zAxiXkDRSw6dgCkzPCf1XvIMnSDZ8yogmSKJf192dpOgnUVykmQXwYYJnCx641uLTgcw==",
       "dev": true,
       "requires": {
-        "@jest/console": "^25.5.0",
-        "@jest/environment": "^25.5.0",
-        "@jest/test-result": "^25.5.0",
-        "@jest/types": "^25.5.0",
-        "chalk": "^3.0.0",
+        "@jest/console": "^26.1.0",
+        "@jest/environment": "^26.1.0",
+        "@jest/test-result": "^26.1.0",
+        "@jest/types": "^26.1.0",
+        "chalk": "^4.0.0",
         "exit": "^0.1.2",
         "graceful-fs": "^4.2.4",
-        "jest-config": "^25.5.4",
-        "jest-docblock": "^25.3.0",
-        "jest-haste-map": "^25.5.1",
-        "jest-jasmine2": "^25.5.4",
-        "jest-leak-detector": "^25.5.0",
-        "jest-message-util": "^25.5.0",
-        "jest-resolve": "^25.5.1",
-        "jest-runtime": "^25.5.4",
-        "jest-util": "^25.5.0",
-        "jest-worker": "^25.5.0",
+        "jest-config": "^26.1.0",
+        "jest-docblock": "^26.0.0",
+        "jest-haste-map": "^26.1.0",
+        "jest-jasmine2": "^26.1.0",
+        "jest-leak-detector": "^26.1.0",
+        "jest-message-util": "^26.1.0",
+        "jest-resolve": "^26.1.0",
+        "jest-runtime": "^26.1.0",
+        "jest-util": "^26.1.0",
+        "jest-worker": "^26.1.0",
         "source-map-support": "^0.5.6",
         "throat": "^5.0.0"
       },
@@ -9278,9 +8966,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -9320,34 +9008,34 @@
       }
     },
     "jest-runtime": {
-      "version": "25.5.4",
-      "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz",
-      "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==",
-      "dev": true,
-      "requires": {
-        "@jest/console": "^25.5.0",
-        "@jest/environment": "^25.5.0",
-        "@jest/globals": "^25.5.2",
-        "@jest/source-map": "^25.5.0",
-        "@jest/test-result": "^25.5.0",
-        "@jest/transform": "^25.5.1",
-        "@jest/types": "^25.5.0",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-26.1.0.tgz",
+      "integrity": "sha512-1qiYN+EZLmG1QV2wdEBRf+Ci8i3VSfIYLF02U18PiUDrMbhfpN/EAMMkJtT02jgJUoaEOpHAIXG6zS3QRMzRmA==",
+      "dev": true,
+      "requires": {
+        "@jest/console": "^26.1.0",
+        "@jest/environment": "^26.1.0",
+        "@jest/fake-timers": "^26.1.0",
+        "@jest/globals": "^26.1.0",
+        "@jest/source-map": "^26.1.0",
+        "@jest/test-result": "^26.1.0",
+        "@jest/transform": "^26.1.0",
+        "@jest/types": "^26.1.0",
         "@types/yargs": "^15.0.0",
-        "chalk": "^3.0.0",
+        "chalk": "^4.0.0",
         "collect-v8-coverage": "^1.0.0",
         "exit": "^0.1.2",
         "glob": "^7.1.3",
         "graceful-fs": "^4.2.4",
-        "jest-config": "^25.5.4",
-        "jest-haste-map": "^25.5.1",
-        "jest-message-util": "^25.5.0",
-        "jest-mock": "^25.5.0",
-        "jest-regex-util": "^25.2.6",
-        "jest-resolve": "^25.5.1",
-        "jest-snapshot": "^25.5.1",
-        "jest-util": "^25.5.0",
-        "jest-validate": "^25.5.0",
-        "realpath-native": "^2.0.0",
+        "jest-config": "^26.1.0",
+        "jest-haste-map": "^26.1.0",
+        "jest-message-util": "^26.1.0",
+        "jest-mock": "^26.1.0",
+        "jest-regex-util": "^26.0.0",
+        "jest-resolve": "^26.1.0",
+        "jest-snapshot": "^26.1.0",
+        "jest-util": "^26.1.0",
+        "jest-validate": "^26.1.0",
         "slash": "^3.0.0",
         "strip-bom": "^4.0.0",
         "yargs": "^15.3.1"
@@ -9364,9 +9052,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -9418,35 +9106,35 @@
       }
     },
     "jest-serializer": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz",
-      "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-26.1.0.tgz",
+      "integrity": "sha512-eqZOQG/0+MHmr25b2Z86g7+Kzd5dG9dhCiUoyUNJPgiqi38DqbDEOlHcNijyfZoj74soGBohKBZuJFS18YTJ5w==",
       "dev": true,
       "requires": {
         "graceful-fs": "^4.2.4"
       }
     },
     "jest-snapshot": {
-      "version": "25.5.1",
-      "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz",
-      "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-26.1.0.tgz",
+      "integrity": "sha512-YhSbU7eMTVQO/iRbNs8j0mKRxGp4plo7sJ3GzOQ0IYjvsBiwg0T1o0zGQAYepza7lYHuPTrG5J2yDd0CE2YxSw==",
       "dev": true,
       "requires": {
         "@babel/types": "^7.0.0",
-        "@jest/types": "^25.5.0",
-        "@types/prettier": "^1.19.0",
-        "chalk": "^3.0.0",
-        "expect": "^25.5.0",
+        "@jest/types": "^26.1.0",
+        "@types/prettier": "^2.0.0",
+        "chalk": "^4.0.0",
+        "expect": "^26.1.0",
         "graceful-fs": "^4.2.4",
-        "jest-diff": "^25.5.0",
-        "jest-get-type": "^25.2.6",
-        "jest-matcher-utils": "^25.5.0",
-        "jest-message-util": "^25.5.0",
-        "jest-resolve": "^25.5.1",
-        "make-dir": "^3.0.0",
+        "jest-diff": "^26.1.0",
+        "jest-get-type": "^26.0.0",
+        "jest-haste-map": "^26.1.0",
+        "jest-matcher-utils": "^26.1.0",
+        "jest-message-util": "^26.1.0",
+        "jest-resolve": "^26.1.0",
         "natural-compare": "^1.4.0",
-        "pretty-format": "^25.5.0",
-        "semver": "^6.3.0"
+        "pretty-format": "^26.1.0",
+        "semver": "^7.3.2"
       },
       "dependencies": {
         "ansi-styles": {
@@ -9460,9 +9148,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -9490,15 +9178,6 @@
           "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
           "dev": true
         },
-        "make-dir": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
-          "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
-          "dev": true,
-          "requires": {
-            "semver": "^6.0.0"
-          }
-        },
         "supports-color": {
           "version": "7.1.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
@@ -9511,16 +9190,16 @@
       }
     },
     "jest-util": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz",
-      "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.1.0.tgz",
+      "integrity": "sha512-rNMOwFQevljfNGvbzNQAxdmXQ+NawW/J72dmddsK0E8vgxXCMtwQ/EH0BiWEIxh0hhMcTsxwAxINt7Lh46Uzbg==",
       "dev": true,
       "requires": {
-        "@jest/types": "^25.5.0",
-        "chalk": "^3.0.0",
+        "@jest/types": "^26.1.0",
+        "chalk": "^4.0.0",
         "graceful-fs": "^4.2.4",
         "is-ci": "^2.0.0",
-        "make-dir": "^3.0.0"
+        "micromatch": "^4.0.2"
       },
       "dependencies": {
         "ansi-styles": {
@@ -9533,10 +9212,19 @@
             "color-convert": "^2.0.1"
           }
         },
+        "braces": {
+          "version": "3.0.2",
+          "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+          "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+          "dev": true,
+          "requires": {
+            "fill-range": "^7.0.1"
+          }
+        },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -9558,19 +9246,35 @@
           "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
           "dev": true
         },
+        "fill-range": {
+          "version": "7.0.1",
+          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+          "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+          "dev": true,
+          "requires": {
+            "to-regex-range": "^5.0.1"
+          }
+        },
         "has-flag": {
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
           "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
           "dev": true
         },
-        "make-dir": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
-          "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+        "is-number": {
+          "version": "7.0.0",
+          "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+          "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+          "dev": true
+        },
+        "micromatch": {
+          "version": "4.0.2",
+          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+          "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
           "dev": true,
           "requires": {
-            "semver": "^6.0.0"
+            "braces": "^3.0.1",
+            "picomatch": "^2.0.5"
           }
         },
         "supports-color": {
@@ -9581,21 +9285,30 @@
           "requires": {
             "has-flag": "^4.0.0"
           }
+        },
+        "to-regex-range": {
+          "version": "5.0.1",
+          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+          "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+          "dev": true,
+          "requires": {
+            "is-number": "^7.0.0"
+          }
         }
       }
     },
     "jest-validate": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz",
-      "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-26.1.0.tgz",
+      "integrity": "sha512-WPApOOnXsiwhZtmkDsxnpye+XLb/tUISP+H6cHjfUIXvlG+eKwP+isnivsxlHCPaO9Q5wvbhloIBkdF3qUn+Nw==",
       "dev": true,
       "requires": {
-        "@jest/types": "^25.5.0",
-        "camelcase": "^5.3.1",
-        "chalk": "^3.0.0",
-        "jest-get-type": "^25.2.6",
+        "@jest/types": "^26.1.0",
+        "camelcase": "^6.0.0",
+        "chalk": "^4.0.0",
+        "jest-get-type": "^26.0.0",
         "leven": "^3.1.0",
-        "pretty-format": "^25.5.0"
+        "pretty-format": "^26.1.0"
       },
       "dependencies": {
         "ansi-styles": {
@@ -9609,9 +9322,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -9651,17 +9364,17 @@
       }
     },
     "jest-watcher": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz",
-      "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-26.1.0.tgz",
+      "integrity": "sha512-ffEOhJl2EvAIki613oPsSG11usqnGUzIiK7MMX6hE4422aXOcVEG3ySCTDFLn1+LZNXGPE8tuJxhp8OBJ1pgzQ==",
       "dev": true,
       "requires": {
-        "@jest/test-result": "^25.5.0",
-        "@jest/types": "^25.5.0",
+        "@jest/test-result": "^26.1.0",
+        "@jest/types": "^26.1.0",
         "ansi-escapes": "^4.2.1",
-        "chalk": "^3.0.0",
-        "jest-util": "^25.5.0",
-        "string-length": "^3.1.0"
+        "chalk": "^4.0.0",
+        "jest-util": "^26.1.0",
+        "string-length": "^4.0.1"
       },
       "dependencies": {
         "ansi-escapes": {
@@ -9684,9 +9397,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -9732,9 +9445,9 @@
       }
     },
     "jest-worker": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz",
-      "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.1.0.tgz",
+      "integrity": "sha512-Z9P5pZ6UC+kakMbNJn+tA2RdVdNX5WH1x+5UCBZ9MxIK24pjYtFt96fK+UwBTrjLYm232g1xz0L3eTh51OW+yQ==",
       "dev": true,
       "requires": {
         "merge-stream": "^2.0.0",
@@ -9772,6 +9485,14 @@
       "requires": {
         "argparse": "^1.0.7",
         "esprima": "^4.0.0"
+      },
+      "dependencies": {
+        "esprima": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+          "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+          "dev": true
+        }
       }
     },
     "jsbn": {
@@ -9781,36 +9502,36 @@
       "dev": true
     },
     "jsdom": {
-      "version": "15.2.1",
-      "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz",
-      "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==",
-      "dev": true,
-      "requires": {
-        "abab": "^2.0.0",
-        "acorn": "^7.1.0",
-        "acorn-globals": "^4.3.2",
-        "array-equal": "^1.0.0",
-        "cssom": "^0.4.1",
-        "cssstyle": "^2.0.0",
-        "data-urls": "^1.1.0",
-        "domexception": "^1.0.1",
-        "escodegen": "^1.11.1",
-        "html-encoding-sniffer": "^1.0.2",
+      "version": "16.3.0",
+      "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.3.0.tgz",
+      "integrity": "sha512-zggeX5UuEknpdZzv15+MS1dPYG0J/TftiiNunOeNxSl3qr8Z6cIlQpN0IdJa44z9aFxZRIVqRncvEhQ7X5DtZg==",
+      "dev": true,
+      "requires": {
+        "abab": "^2.0.3",
+        "acorn": "^7.1.1",
+        "acorn-globals": "^6.0.0",
+        "cssom": "^0.4.4",
+        "cssstyle": "^2.2.0",
+        "data-urls": "^2.0.0",
+        "decimal.js": "^10.2.0",
+        "domexception": "^2.0.1",
+        "escodegen": "^1.14.1",
+        "html-encoding-sniffer": "^2.0.1",
+        "is-potential-custom-element-name": "^1.0.0",
         "nwsapi": "^2.2.0",
-        "parse5": "5.1.0",
-        "pn": "^1.1.0",
-        "request": "^2.88.0",
-        "request-promise-native": "^1.0.7",
-        "saxes": "^3.1.9",
-        "symbol-tree": "^3.2.2",
+        "parse5": "5.1.1",
+        "request": "^2.88.2",
+        "request-promise-native": "^1.0.8",
+        "saxes": "^5.0.0",
+        "symbol-tree": "^3.2.4",
         "tough-cookie": "^3.0.1",
-        "w3c-hr-time": "^1.0.1",
-        "w3c-xmlserializer": "^1.1.2",
-        "webidl-conversions": "^4.0.2",
+        "w3c-hr-time": "^1.0.2",
+        "w3c-xmlserializer": "^2.0.0",
+        "webidl-conversions": "^6.1.0",
         "whatwg-encoding": "^1.0.5",
         "whatwg-mimetype": "^2.3.0",
-        "whatwg-url": "^7.0.0",
-        "ws": "^7.0.0",
+        "whatwg-url": "^8.0.0",
+        "ws": "^7.2.3",
         "xml-name-validator": "^3.0.0"
       },
       "dependencies": {
@@ -9841,14 +9562,6 @@
       "dev": true,
       "requires": {
         "esprima": "^2.7.0"
-      },
-      "dependencies": {
-        "esprima": {
-          "version": "2.7.3",
-          "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
-          "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
-          "dev": true
-        }
       }
     },
     "json-schema": {
@@ -9875,11 +9588,11 @@
       "dev": true
     },
     "json5": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-      "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
+      "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
       "requires": {
-        "minimist": "^1.2.0"
+        "minimist": "^1.2.5"
       }
     },
     "jsonfile": {
@@ -9921,6 +9634,12 @@
       "integrity": "sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ==",
       "dev": true
     },
+    "klona": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/klona/-/klona-1.1.2.tgz",
+      "integrity": "sha512-xf88rTeHiXk+XE2Vhi6yj8Wm3gMZrygGdKjJqN8HkV+PwF/t50/LdAKHoHpPcxFAlmQszTZ1CugrK25S7qDRLA==",
+      "dev": true
+    },
     "leven": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
@@ -9937,13 +9656,13 @@
       }
     },
     "levn": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
-      "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+      "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
       "dev": true,
       "requires": {
-        "prelude-ls": "~1.1.2",
-        "type-check": "~0.3.2"
+        "prelude-ls": "^1.2.1",
+        "type-check": "~0.4.0"
       }
     },
     "lines-and-columns": {
@@ -9953,9 +9672,9 @@
       "dev": true
     },
     "lint-staged": {
-      "version": "10.2.10",
-      "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.2.10.tgz",
-      "integrity": "sha512-dgelFaNH6puUGAcU+OVMgbfpKSerNYsPSn6+nlbRDjovL0KigpsVpCu0PFZG6BJxX8gnHJqaZlR9krZamQsb0w==",
+      "version": "10.2.11",
+      "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.2.11.tgz",
+      "integrity": "sha512-LRRrSogzbixYaZItE2APaS4l2eJMjjf5MbclRZpLJtcQJShcvUzKXsNeZgsLIZ0H0+fg2tL4B59fU9wHIHtFIA==",
       "dev": true,
       "requires": {
         "chalk": "^4.0.0",
@@ -10025,19 +9744,6 @@
           "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
           "dev": true
         },
-        "cosmiconfig": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
-          "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
-          "dev": true,
-          "requires": {
-            "@types/parse-json": "^4.0.0",
-            "import-fresh": "^3.1.0",
-            "parse-json": "^5.0.0",
-            "path-type": "^4.0.0",
-            "yaml": "^1.7.2"
-          }
-        },
         "cross-spawn": {
           "version": "7.0.3",
           "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
@@ -10059,9 +9765,9 @@
           }
         },
         "execa": {
-          "version": "4.0.2",
-          "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.2.tgz",
-          "integrity": "sha512-QI2zLa6CjGWdiQsmSkZoGtDx2N+cQIGb3yNolGTdjSQzydzLgYYf8LRuagp7S7fPimjcrzUDSUFd/MgzELMi4Q==",
+          "version": "4.0.3",
+          "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.3.tgz",
+          "integrity": "sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==",
           "dev": true,
           "requires": {
             "cross-spawn": "^7.0.0",
@@ -10151,12 +9857,6 @@
           "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
           "dev": true
         },
-        "path-type": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
-          "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
-          "dev": true
-        },
         "shebang-command": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@@ -10199,9 +9899,9 @@
       "dev": true
     },
     "listr2": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmjs.org/listr2/-/listr2-2.1.3.tgz",
-      "integrity": "sha512-6oy3QhrZAlJGrG8oPcRp1hix1zUpb5AvyvZ5je979HCyf48tIj3Hn1TG5+rfyhz30t7HfySH/OIaVbwrI2kruA==",
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/listr2/-/listr2-2.3.3.tgz",
+      "integrity": "sha512-vU2eiFEzUEaDjgwRJ/n8RB79K2cBcaTw1DigIGHnXGp/BEeQqxGwiM8R17Itit5l2ykrrST11kw2l9vSpCbqUQ==",
       "dev": true,
       "requires": {
         "chalk": "^4.0.0",
@@ -10285,31 +9985,30 @@
       }
     },
     "load-json-file": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
-      "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+      "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
       "dev": true,
       "requires": {
         "graceful-fs": "^4.1.2",
-        "parse-json": "^4.0.0",
-        "pify": "^3.0.0",
+        "parse-json": "^2.2.0",
+        "pify": "^2.0.0",
         "strip-bom": "^3.0.0"
       },
       "dependencies": {
         "parse-json": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
-          "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+          "version": "2.2.0",
+          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+          "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
           "dev": true,
           "requires": {
-            "error-ex": "^1.3.1",
-            "json-parse-better-errors": "^1.0.1"
+            "error-ex": "^1.2.0"
           }
         },
         "pify": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
-          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+          "version": "2.3.0",
+          "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
           "dev": true
         }
       }
@@ -10321,29 +10020,28 @@
       "dev": true
     },
     "loader-utils": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-      "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
+      "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
       "requires": {
         "big.js": "^5.2.2",
         "emojis-list": "^3.0.0",
-        "json5": "^1.0.1"
+        "json5": "^2.1.2"
       }
     },
     "locate-path": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
-      "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
       "dev": true,
       "requires": {
-        "p-locate": "^2.0.0",
-        "path-exists": "^3.0.0"
+        "p-locate": "^4.1.0"
       }
     },
     "lodash": {
-      "version": "4.17.15",
-      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
-      "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+      "version": "4.17.19",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
+      "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
       "dev": true
     },
     "lodash._reinterpolate": {
@@ -10541,12 +10239,6 @@
           "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
           "dev": true
         },
-        "is-fullwidth-code-point": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-          "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-          "dev": true
-        },
         "onetime": {
           "version": "5.1.0",
           "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
@@ -10585,15 +10277,6 @@
         }
       }
     },
-    "lolex": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz",
-      "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==",
-      "dev": true,
-      "requires": {
-        "@sinonjs/commons": "^1.7.0"
-      }
-    },
     "loose-envify": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -10708,125 +10391,24 @@
       "dev": true
     },
     "meow": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz",
-      "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==",
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/meow/-/meow-7.0.1.tgz",
+      "integrity": "sha512-tBKIQqVrAHqwit0vfuFPY3LlzJYkEOFyKa3bPgxzNl6q/RtN8KQ+ALYEASYuFayzSAsjlhXj/JZ10rH85Q6TUw==",
       "dev": true,
       "requires": {
-        "camelcase-keys": "^4.0.0",
-        "decamelize-keys": "^1.0.0",
-        "loud-rejection": "^1.0.0",
-        "minimist-options": "^3.0.1",
-        "normalize-package-data": "^2.3.4",
-        "read-pkg-up": "^3.0.0",
-        "redent": "^2.0.0",
-        "trim-newlines": "^2.0.0",
-        "yargs-parser": "^10.0.0"
-      },
-      "dependencies": {
-        "arrify": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
-          "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
-          "dev": true
-        },
-        "camelcase": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
-          "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
-          "dev": true
-        },
-        "camelcase-keys": {
-          "version": "4.2.0",
-          "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz",
-          "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
-          "dev": true,
-          "requires": {
-            "camelcase": "^4.1.0",
-            "map-obj": "^2.0.0",
-            "quick-lru": "^1.0.0"
-          }
-        },
-        "indent-string": {
-          "version": "3.2.0",
-          "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
-          "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
-          "dev": true
-        },
-        "map-obj": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
-          "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=",
-          "dev": true
-        },
-        "minimist-options": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz",
-          "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==",
-          "dev": true,
-          "requires": {
-            "arrify": "^1.0.1",
-            "is-plain-obj": "^1.1.0"
-          }
-        },
-        "quick-lru": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz",
-          "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
-          "dev": true
-        },
-        "read-pkg": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
-          "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
-          "dev": true,
-          "requires": {
-            "load-json-file": "^4.0.0",
-            "normalize-package-data": "^2.3.2",
-            "path-type": "^3.0.0"
-          }
-        },
-        "read-pkg-up": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
-          "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
-          "dev": true,
-          "requires": {
-            "find-up": "^2.0.0",
-            "read-pkg": "^3.0.0"
-          }
-        },
-        "redent": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz",
-          "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
-          "dev": true,
-          "requires": {
-            "indent-string": "^3.0.0",
-            "strip-indent": "^2.0.0"
-          }
-        },
-        "strip-indent": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz",
-          "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
-          "dev": true
-        },
-        "trim-newlines": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz",
-          "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=",
-          "dev": true
-        },
-        "yargs-parser": {
-          "version": "10.1.0",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
-          "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
-          "dev": true,
-          "requires": {
-            "camelcase": "^4.1.0"
-          }
-        }
+        "@types/minimist": "^1.2.0",
+        "arrify": "^2.0.1",
+        "camelcase": "^6.0.0",
+        "camelcase-keys": "^6.2.2",
+        "decamelize-keys": "^1.1.0",
+        "hard-rejection": "^2.1.0",
+        "minimist-options": "^4.0.2",
+        "normalize-package-data": "^2.5.0",
+        "read-pkg-up": "^7.0.1",
+        "redent": "^3.0.0",
+        "trim-newlines": "^3.0.0",
+        "type-fest": "^0.13.1",
+        "yargs-parser": "^18.1.3"
       }
     },
     "merge-stream": {
@@ -10916,6 +10498,51 @@
       "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
       "dev": true
     },
+    "mini-css-extract-plugin": {
+      "version": "0.9.0",
+      "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz",
+      "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==",
+      "dev": true,
+      "requires": {
+        "loader-utils": "^1.1.0",
+        "normalize-url": "1.9.1",
+        "schema-utils": "^1.0.0",
+        "webpack-sources": "^1.1.0"
+      },
+      "dependencies": {
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
+          }
+        },
+        "schema-utils": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
+          "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+          "dev": true,
+          "requires": {
+            "ajv": "^6.1.0",
+            "ajv-errors": "^1.0.0",
+            "ajv-keywords": "^3.1.0"
+          }
+        }
+      }
+    },
     "minimalistic-assert": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
@@ -11039,6 +10666,17 @@
         "mkdirp": "^0.5.1",
         "rimraf": "^2.5.4",
         "run-queue": "^1.0.3"
+      },
+      "dependencies": {
+        "rimraf": {
+          "version": "2.7.1",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+          "dev": true,
+          "requires": {
+            "glob": "^7.1.3"
+          }
+        }
       }
     },
     "mrm-core": {
@@ -11076,6 +10714,17 @@
             "locate-path": "^3.0.0"
           }
         },
+        "fs-extra": {
+          "version": "7.0.1",
+          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
+          "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.1.2",
+            "jsonfile": "^4.0.0",
+            "universalify": "^0.1.0"
+          }
+        },
         "locate-path": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
@@ -11086,15 +10735,6 @@
             "path-exists": "^3.0.0"
           }
         },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
         "p-locate": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
@@ -11104,10 +10744,10 @@
             "p-limit": "^2.0.0"
           }
         },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+        "path-exists": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
           "dev": true
         },
         "semver": {
@@ -11163,9 +10803,9 @@
       "dev": true
     },
     "neo-async": {
-      "version": "2.6.1",
-      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
-      "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
+      "version": "2.6.2",
+      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+      "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
       "dev": true
     },
     "nice-try": {
@@ -11226,35 +10866,24 @@
       "dev": true
     },
     "node-notifier": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz",
-      "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==",
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-7.0.2.tgz",
+      "integrity": "sha512-ux+n4hPVETuTL8+daJXTOC6uKLgMsl1RYfFv7DKRzyvzBapqco0rZZ9g72ZN8VS6V+gvNYHYa/ofcCY8fkJWsA==",
       "dev": true,
       "optional": true,
       "requires": {
-        "growly": "^1.3.0",
-        "is-wsl": "^2.1.1",
-        "semver": "^6.3.0",
-        "shellwords": "^0.1.1",
-        "which": "^1.3.1"
-      },
-      "dependencies": {
-        "which": {
-          "version": "1.3.1",
-          "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
-          "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "isexe": "^2.0.0"
-          }
-        }
+        "growly": "^1.3.0",
+        "is-wsl": "^2.2.0",
+        "semver": "^7.3.2",
+        "shellwords": "^0.1.1",
+        "uuid": "^8.2.0",
+        "which": "^2.0.2"
       }
     },
     "node-releases": {
-      "version": "1.1.58",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz",
-      "integrity": "sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==",
+      "version": "1.1.60",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.60.tgz",
+      "integrity": "sha512-gsO4vjEdQaTusZAEebUWp2a5d7dF5DYoIpDG7WySnk7BuZDW+GPpHXoXXuYawRBr/9t5q54tirPz79kFIWg4dA==",
       "dev": true
     },
     "normalize-package-data": {
@@ -11288,6 +10917,18 @@
       "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
       "dev": true
     },
+    "normalize-url": {
+      "version": "1.9.1",
+      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
+      "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
+      "dev": true,
+      "requires": {
+        "object-assign": "^4.0.1",
+        "prepend-http": "^1.0.0",
+        "query-string": "^4.1.0",
+        "sort-keys": "^1.0.0"
+      }
+    },
     "npm-run-all": {
       "version": "4.1.5",
       "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
@@ -11305,6 +10946,43 @@
         "string.prototype.padend": "^3.0.0"
       },
       "dependencies": {
+        "load-json-file": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+          "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.1.2",
+            "parse-json": "^4.0.0",
+            "pify": "^3.0.0",
+            "strip-bom": "^3.0.0"
+          }
+        },
+        "parse-json": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+          "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+          "dev": true,
+          "requires": {
+            "error-ex": "^1.3.1",
+            "json-parse-better-errors": "^1.0.1"
+          }
+        },
+        "path-type": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+          "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+          "dev": true,
+          "requires": {
+            "pify": "^3.0.0"
+          }
+        },
+        "pify": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+          "dev": true
+        },
         "read-pkg": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
@@ -11406,9 +11084,9 @@
       }
     },
     "object-inspect": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
-      "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
+      "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
       "dev": true
     },
     "object-keys": {
@@ -11481,17 +11159,17 @@
       "dev": true
     },
     "optionator": {
-      "version": "0.8.3",
-      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
-      "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+      "version": "0.9.1",
+      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+      "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
       "dev": true,
       "requires": {
-        "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"
+        "deep-is": "^0.1.3",
+        "fast-levenshtein": "^2.0.6",
+        "levn": "^0.4.1",
+        "prelude-ls": "^1.2.1",
+        "type-check": "^0.4.0",
+        "word-wrap": "^1.2.3"
       }
     },
     "os-browserify": {
@@ -11525,21 +11203,21 @@
       "dev": true
     },
     "p-limit": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
-      "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
       "dev": true,
       "requires": {
-        "p-try": "^1.0.0"
+        "p-try": "^2.0.0"
       }
     },
     "p-locate": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
-      "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
       "dev": true,
       "requires": {
-        "p-limit": "^1.1.0"
+        "p-limit": "^2.2.0"
       }
     },
     "p-map": {
@@ -11552,9 +11230,9 @@
       }
     },
     "p-try": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
-      "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
       "dev": true
     },
     "pako": {
@@ -11633,9 +11311,9 @@
       "dev": true
     },
     "parse-json": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
-      "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.1.tgz",
+      "integrity": "sha512-ztoZ4/DYeXQq4E21v169sC8qWINGpcosGv9XhTDvg9/hWvx/zrFkc9BiWxR58OJLHGk28j5BL0SDLeV2WmFZlQ==",
       "dev": true,
       "requires": {
         "@babel/code-frame": "^7.0.0",
@@ -11651,9 +11329,9 @@
       "dev": true
     },
     "parse5": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
-      "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==",
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
+      "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
       "dev": true
     },
     "pascalcase": {
@@ -11675,9 +11353,9 @@
       "dev": true
     },
     "path-exists": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
       "dev": true
     },
     "path-is-absolute": {
@@ -11699,21 +11377,10 @@
       "dev": true
     },
     "path-type": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
-      "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
-      "dev": true,
-      "requires": {
-        "pify": "^3.0.0"
-      },
-      "dependencies": {
-        "pify": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
-          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
-          "dev": true
-        }
-      }
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+      "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+      "dev": true
     },
     "pbkdf2": {
       "version": "3.1.1",
@@ -11783,15 +11450,57 @@
       "dev": true,
       "requires": {
         "find-up": "^2.1.0"
-      }
-    },
-    "pkg-up": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
-      "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
-      "dev": true,
-      "requires": {
-        "find-up": "^2.1.0"
+      },
+      "dependencies": {
+        "find-up": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+          "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+          "dev": true,
+          "requires": {
+            "locate-path": "^2.0.0"
+          }
+        },
+        "locate-path": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+          "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+          "dev": true,
+          "requires": {
+            "p-locate": "^2.0.0",
+            "path-exists": "^3.0.0"
+          }
+        },
+        "p-limit": {
+          "version": "1.3.0",
+          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+          "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+          "dev": true,
+          "requires": {
+            "p-try": "^1.0.0"
+          }
+        },
+        "p-locate": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+          "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+          "dev": true,
+          "requires": {
+            "p-limit": "^1.1.0"
+          }
+        },
+        "p-try": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+          "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+          "dev": true
+        },
+        "path-exists": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+          "dev": true
+        }
       }
     },
     "please-upgrade-node": {
@@ -11803,12 +11512,6 @@
         "semver-compare": "^1.0.0"
       }
     },
-    "pn": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
-      "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
-      "dev": true
-    },
     "posix-character-classes": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
@@ -12059,6 +11762,46 @@
       "requires": {
         "cosmiconfig": "^5.0.0",
         "import-cwd": "^2.0.0"
+      },
+      "dependencies": {
+        "cosmiconfig": {
+          "version": "5.2.1",
+          "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
+          "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
+          "dev": true,
+          "requires": {
+            "import-fresh": "^2.0.0",
+            "is-directory": "^0.3.1",
+            "js-yaml": "^3.13.1",
+            "parse-json": "^4.0.0"
+          }
+        },
+        "import-fresh": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
+          "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
+          "dev": true,
+          "requires": {
+            "caller-path": "^2.0.0",
+            "resolve-from": "^3.0.0"
+          }
+        },
+        "parse-json": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+          "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+          "dev": true,
+          "requires": {
+            "error-ex": "^1.3.1",
+            "json-parse-better-errors": "^1.0.1"
+          }
+        },
+        "resolve-from": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+          "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+          "dev": true
+        }
       }
     },
     "postcss-loader": {
@@ -12073,6 +11816,26 @@
         "schema-utils": "^1.0.0"
       },
       "dependencies": {
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
+          }
+        },
         "schema-utils": {
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
@@ -12113,14 +11876,14 @@
       }
     },
     "postcss-modules-local-by-default": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz",
-      "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==",
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz",
+      "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==",
       "requires": {
         "icss-utils": "^4.1.1",
-        "postcss": "^7.0.16",
+        "postcss": "^7.0.32",
         "postcss-selector-parser": "^6.0.2",
-        "postcss-value-parser": "^4.0.0"
+        "postcss-value-parser": "^4.1.0"
       }
     },
     "postcss-modules-scope": {
@@ -12308,9 +12071,15 @@
       }
     },
     "prelude-ls": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
-      "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+      "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+      "dev": true
+    },
+    "prepend-http": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
+      "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
       "dev": true
     },
     "prettier": {
@@ -12320,23 +12089,17 @@
       "dev": true
     },
     "pretty-format": {
-      "version": "25.5.0",
-      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz",
-      "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==",
+      "version": "26.1.0",
+      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.1.0.tgz",
+      "integrity": "sha512-GmeO1PEYdM+non4BKCj+XsPJjFOJIPnsLewqhDVoqY1xo0yNmDas7tC2XwpMrRAHR3MaE2hPo37deX5OisJ2Wg==",
       "dev": true,
       "requires": {
-        "@jest/types": "^25.5.0",
+        "@jest/types": "^26.1.0",
         "ansi-regex": "^5.0.0",
         "ansi-styles": "^4.0.0",
         "react-is": "^16.12.0"
       },
       "dependencies": {
-        "ansi-regex": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
-          "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
-          "dev": true
-        },
         "ansi-styles": {
           "version": "4.2.1",
           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
@@ -12374,12 +12137,6 @@
         "minimist": "^1.2.0"
       }
     },
-    "private": {
-      "version": "0.1.8",
-      "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
-      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
-      "dev": true
-    },
     "process": {
       "version": "0.11.10",
       "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
@@ -12521,6 +12278,16 @@
       "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
       "dev": true
     },
+    "query-string": {
+      "version": "4.3.4",
+      "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
+      "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
+      "dev": true,
+      "requires": {
+        "object-assign": "^4.1.0",
+        "strict-uri-encode": "^1.0.0"
+      }
+    },
     "querystring": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
@@ -12607,55 +12374,6 @@
         "type-fest": "^0.8.1"
       },
       "dependencies": {
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
         "type-fest": {
           "version": "0.8.1",
           "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
@@ -12699,12 +12417,6 @@
         "balanced-match": "^1.0.0"
       }
     },
-    "realpath-native": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz",
-      "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==",
-      "dev": true
-    },
     "rechoir": {
       "version": "0.6.2",
       "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
@@ -12740,19 +12452,18 @@
       }
     },
     "regenerator-runtime": {
-      "version": "0.13.5",
-      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz",
-      "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==",
+      "version": "0.13.7",
+      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
+      "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==",
       "dev": true
     },
     "regenerator-transform": {
-      "version": "0.14.4",
-      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz",
-      "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==",
+      "version": "0.14.5",
+      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz",
+      "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==",
       "dev": true,
       "requires": {
-        "@babel/runtime": "^7.8.4",
-        "private": "^0.1.8"
+        "@babel/runtime": "^7.8.4"
       }
     },
     "regex-not": {
@@ -12766,9 +12477,9 @@
       }
     },
     "regexpp": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
-      "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
+      "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
       "dev": true
     },
     "regexpu-core": {
@@ -12881,25 +12592,31 @@
             "psl": "^1.1.28",
             "punycode": "^2.1.1"
           }
+        },
+        "uuid": {
+          "version": "3.4.0",
+          "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+          "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+          "dev": true
         }
       }
     },
     "request-promise-core": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz",
-      "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==",
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz",
+      "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==",
       "dev": true,
       "requires": {
-        "lodash": "^4.17.15"
+        "lodash": "^4.17.19"
       }
     },
     "request-promise-native": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz",
-      "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==",
+      "version": "1.0.9",
+      "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz",
+      "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==",
       "dev": true,
       "requires": {
-        "request-promise-core": "1.1.3",
+        "request-promise-core": "1.1.4",
         "stealthy-require": "^1.1.1",
         "tough-cookie": "^2.3.3"
       },
@@ -12990,9 +12707,9 @@
       "dev": true
     },
     "rimraf": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
-      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
       "dev": true,
       "requires": {
         "glob": "^7.1.3"
@@ -13042,9 +12759,9 @@
       "dev": true
     },
     "rxjs": {
-      "version": "6.5.5",
-      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
-      "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
+      "version": "6.6.0",
+      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.0.tgz",
+      "integrity": "sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg==",
       "dev": true,
       "requires": {
         "tslib": "^1.9.0"
@@ -13089,34 +12806,34 @@
       }
     },
     "sass": {
-      "version": "1.26.8",
-      "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.8.tgz",
-      "integrity": "sha512-yvtzyrKLGiXQu7H12ekXqsfoGT/aTKeMDyVzCB675k1HYuaj0py63i8Uf4SI9CHXj6apDhpfwbUr3gGOjdpu2Q==",
+      "version": "1.26.10",
+      "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.10.tgz",
+      "integrity": "sha512-bzN0uvmzfsTvjz0qwccN1sPm2HxxpNI/Xa+7PlUEMS+nQvbyuEK7Y0qFqxlPHhiNHb1Ze8WQJtU31olMObkAMw==",
       "dev": true,
       "requires": {
         "chokidar": ">=2.0.0 <4.0.0"
       }
     },
     "sass-loader": {
-      "version": "8.0.2",
-      "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz",
-      "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==",
+      "version": "9.0.2",
+      "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-9.0.2.tgz",
+      "integrity": "sha512-nphcum3jNI442njnrZ5wJgSNX5lfEOHOKHCLf+PrTIaleploKqAMUuT9CVKjf+lyi6c2MCGPHh1vb9nGsjnZJA==",
       "dev": true,
       "requires": {
-        "clone-deep": "^4.0.1",
-        "loader-utils": "^1.2.3",
+        "klona": "^1.1.1",
+        "loader-utils": "^2.0.0",
         "neo-async": "^2.6.1",
-        "schema-utils": "^2.6.1",
-        "semver": "^6.3.0"
+        "schema-utils": "^2.7.0",
+        "semver": "^7.3.2"
       }
     },
     "saxes": {
-      "version": "3.1.11",
-      "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz",
-      "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==",
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
+      "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
       "dev": true,
       "requires": {
-        "xmlchars": "^2.1.1"
+        "xmlchars": "^2.2.0"
       }
     },
     "schema-utils": {
@@ -13130,9 +12847,9 @@
       }
     },
     "semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+      "version": "7.3.2",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+      "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ=="
     },
     "semver-compare": {
       "version": "1.0.0",
@@ -13200,15 +12917,6 @@
         "safe-buffer": "^5.0.1"
       }
     },
-    "shallow-clone": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
-      "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
-      "dev": true,
-      "requires": {
-        "kind-of": "^6.0.2"
-      }
-    },
     "shebang-command": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
@@ -13281,6 +12989,14 @@
         "ansi-styles": "^3.2.0",
         "astral-regex": "^1.0.0",
         "is-fullwidth-code-point": "^2.0.0"
+      },
+      "dependencies": {
+        "is-fullwidth-code-point": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+          "dev": true
+        }
       }
     },
     "smpltmpl": {
@@ -13405,6 +13121,15 @@
         }
       }
     },
+    "sort-keys": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
+      "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+      "dev": true,
+      "requires": {
+        "is-plain-obj": "^1.0.0"
+      }
+    },
     "source-list-map": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
@@ -13571,45 +13296,45 @@
       "dev": true
     },
     "stack-utils": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz",
-      "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==",
-      "dev": true
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.2.tgz",
+      "integrity": "sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg==",
+      "dev": true,
+      "requires": {
+        "escape-string-regexp": "^2.0.0"
+      },
+      "dependencies": {
+        "escape-string-regexp": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
+          "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
+          "dev": true
+        }
+      }
     },
     "standard-version": {
-      "version": "8.0.0",
-      "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-8.0.0.tgz",
-      "integrity": "sha512-cS/U9yhYPHfyokFce6e/H3U8MaKwZKSGzH25J776sChrae/doDQjsl3vCQ0hW1MSzdrUTb7pir4ApjnbDt/TAg==",
+      "version": "8.0.2",
+      "resolved": "https://registry.npmjs.org/standard-version/-/standard-version-8.0.2.tgz",
+      "integrity": "sha512-L8X9KFq2SmVmaeZgUmWHFJMOsEWpjgFAwqic6yIIoveM1kdw1vH4Io03WWxUDjypjGqGU6qUtcJoR8UvOv5w3g==",
       "dev": true,
       "requires": {
-        "chalk": "2.4.2",
-        "conventional-changelog": "3.1.18",
+        "chalk": "^2.4.2",
+        "conventional-changelog": "3.1.21",
         "conventional-changelog-config-spec": "2.1.0",
-        "conventional-changelog-conventionalcommits": "4.2.3",
-        "conventional-recommended-bump": "6.0.5",
-        "detect-indent": "6.0.0",
-        "detect-newline": "3.1.0",
-        "dotgitignore": "2.1.0",
-        "figures": "3.1.0",
-        "find-up": "4.1.0",
-        "fs-access": "1.0.1",
-        "git-semver-tags": "3.0.1",
-        "semver": "7.1.1",
-        "stringify-package": "1.0.1",
-        "yargs": "15.3.1"
+        "conventional-changelog-conventionalcommits": "4.3.0",
+        "conventional-recommended-bump": "6.0.9",
+        "detect-indent": "^6.0.0",
+        "detect-newline": "^3.1.0",
+        "dotgitignore": "^2.1.0",
+        "figures": "^3.1.0",
+        "find-up": "^4.1.0",
+        "fs-access": "^1.0.1",
+        "git-semver-tags": "^4.0.0",
+        "semver": "^7.1.1",
+        "stringify-package": "^1.0.1",
+        "yargs": "^15.3.1"
       },
       "dependencies": {
-        "conventional-changelog-conventionalcommits": {
-          "version": "4.2.3",
-          "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.2.3.tgz",
-          "integrity": "sha512-atGa+R4vvEhb8N/8v3IoW59gCBJeeFiX6uIbPu876ENAmkMwsenyn0R21kdDHJFLQdy6zW4J6b4xN8KI3b9oww==",
-          "dev": true,
-          "requires": {
-            "compare-func": "^1.3.1",
-            "lodash": "^4.17.15",
-            "q": "^1.5.1"
-          }
-        },
         "detect-indent": {
           "version": "6.0.0",
           "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz",
@@ -13617,68 +13342,13 @@
           "dev": true
         },
         "figures": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz",
-          "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==",
+          "version": "3.2.0",
+          "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+          "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
           "dev": true,
           "requires": {
             "escape-string-regexp": "^1.0.5"
           }
-        },
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
-        "semver": {
-          "version": "7.1.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz",
-          "integrity": "sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A==",
-          "dev": true
         }
       }
     },
@@ -13748,6 +13418,12 @@
       "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
       "dev": true
     },
+    "strict-uri-encode": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
+      "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
+      "dev": true
+    },
     "string-argv": {
       "version": "0.3.1",
       "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz",
@@ -13755,57 +13431,24 @@
       "dev": true
     },
     "string-length": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz",
-      "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==",
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.1.tgz",
+      "integrity": "sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw==",
       "dev": true,
       "requires": {
-        "astral-regex": "^1.0.0",
-        "strip-ansi": "^5.2.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
-          "dev": true
-        },
-        "strip-ansi": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^4.1.0"
-          }
-        }
+        "char-regex": "^1.0.2",
+        "strip-ansi": "^6.0.0"
       }
     },
     "string-width": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
-      "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+      "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
       "dev": true,
       "requires": {
-        "is-fullwidth-code-point": "^2.0.0",
-        "strip-ansi": "^4.0.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
-          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
-          "dev": true
-        },
-        "strip-ansi": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
-          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^3.0.0"
-          }
-        }
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.0"
       }
     },
     "string.prototype.padend": {
@@ -13828,28 +13471,6 @@
         "es-abstract": "^1.17.5"
       }
     },
-    "string.prototype.trimleft": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
-      "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
-      "dev": true,
-      "requires": {
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.17.5",
-        "string.prototype.trimstart": "^1.0.0"
-      }
-    },
-    "string.prototype.trimright": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
-      "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
-      "dev": true,
-      "requires": {
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.17.5",
-        "string.prototype.trimend": "^1.0.0"
-      }
-    },
     "string.prototype.trimstart": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
@@ -13893,14 +13514,6 @@
       "dev": true,
       "requires": {
         "ansi-regex": "^5.0.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
-          "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
-          "dev": true
-        }
       }
     },
     "strip-bom": {
@@ -13936,6 +13549,16 @@
       "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
       "dev": true
     },
+    "style-loader": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.2.1.tgz",
+      "integrity": "sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==",
+      "dev": true,
+      "requires": {
+        "loader-utils": "^2.0.0",
+        "schema-utils": "^2.6.6"
+      }
+    },
     "supports-color": {
       "version": "6.1.0",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -14001,6 +13624,12 @@
           "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
           "dev": true
         },
+        "is-fullwidth-code-point": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+          "dev": true
+        },
         "string-width": {
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
@@ -14073,9 +13702,9 @@
       }
     },
     "terser": {
-      "version": "4.7.0",
-      "resolved": "https://registry.npmjs.org/terser/-/terser-4.7.0.tgz",
-      "integrity": "sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw==",
+      "version": "4.8.0",
+      "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
+      "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
       "dev": true,
       "requires": {
         "commander": "^2.20.0",
@@ -14163,11 +13792,12 @@
       "dev": true
     },
     "through2": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.1.tgz",
-      "integrity": "sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww==",
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz",
+      "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==",
       "dev": true,
       "requires": {
+        "inherits": "^2.0.4",
         "readable-stream": "2 || 3"
       }
     },
@@ -14261,12 +13891,12 @@
       }
     },
     "tr46": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
-      "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz",
+      "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==",
       "dev": true,
       "requires": {
-        "punycode": "^2.1.0"
+        "punycode": "^2.1.1"
       }
     },
     "trim-newlines": {
@@ -14291,6 +13921,17 @@
         "json5": "^1.0.1",
         "minimist": "^1.2.0",
         "strip-bom": "^3.0.0"
+      },
+      "dependencies": {
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        }
       }
     },
     "tslib": {
@@ -14321,12 +13962,12 @@
       "dev": true
     },
     "type-check": {
-      "version": "0.3.2",
-      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
-      "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+      "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
       "dev": true,
       "requires": {
-        "prelude-ls": "~1.1.2"
+        "prelude-ls": "^1.2.1"
       }
     },
     "type-detect": {
@@ -14357,23 +13998,11 @@
       }
     },
     "uglify-js": {
-      "version": "3.9.4",
-      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.4.tgz",
-      "integrity": "sha512-8RZBJq5smLOa7KslsNsVcSH+KOXf1uDU8yqLeNuVKwmT0T3FA0ZoXlinQfRad7SDcbZZRZE4ov+2v71EnxNyCA==",
+      "version": "3.10.0",
+      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.10.0.tgz",
+      "integrity": "sha512-Esj5HG5WAyrLIdYU74Z3JdG2PxdIusvj6IWHMtlyESxc7kcDz7zYlYjpnSokn1UbpV0d/QX9fan7gkCNd/9BQA==",
       "dev": true,
-      "optional": true,
-      "requires": {
-        "commander": "~2.20.3"
-      },
-      "dependencies": {
-        "commander": {
-          "version": "2.20.3",
-          "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
-          "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
-          "dev": true,
-          "optional": true
-        }
-      }
+      "optional": true
     },
     "unicode-canonical-property-names-ecmascript": {
       "version": "1.0.4",
@@ -14531,28 +14160,6 @@
         "loader-utils": "^2.0.0",
         "mime-types": "^2.1.26",
         "schema-utils": "^2.6.5"
-      },
-      "dependencies": {
-        "json5": {
-          "version": "2.1.3",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
-          "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.5"
-          }
-        },
-        "loader-utils": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
-          "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
-          "dev": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^2.1.2"
-          }
-        }
       }
     },
     "use": {
@@ -14594,10 +14201,11 @@
       "dev": true
     },
     "uuid": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
-      "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
-      "dev": true
+      "version": "8.2.0",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.2.0.tgz",
+      "integrity": "sha512-CYpGiFTUrmI6OBMkAdjSDM0k5h8SkkiTP4WAjQgDgNB1S3Ou9VBEvr6q0Kv2H1mMk7IWfxYGpMH5sd5AvcIV2Q==",
+      "dev": true,
+      "optional": true
     },
     "v8-compile-cache": {
       "version": "2.1.1",
@@ -14661,13 +14269,11 @@
       }
     },
     "w3c-xmlserializer": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz",
-      "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==",
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
+      "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
       "dev": true,
       "requires": {
-        "domexception": "^1.0.1",
-        "webidl-conversions": "^4.0.2",
         "xml-name-validator": "^3.0.0"
       }
     },
@@ -14681,12 +14287,12 @@
       }
     },
     "watchpack": {
-      "version": "1.7.2",
-      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz",
-      "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==",
+      "version": "1.7.4",
+      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz",
+      "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==",
       "dev": true,
       "requires": {
-        "chokidar": "^3.4.0",
+        "chokidar": "^3.4.1",
         "graceful-fs": "^4.1.2",
         "neo-async": "^2.5.0",
         "watchpack-chokidar2": "^2.0.0"
@@ -14704,9 +14310,9 @@
           }
         },
         "binary-extensions": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
-          "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
+          "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==",
           "dev": true,
           "optional": true
         },
@@ -14721,9 +14327,9 @@
           }
         },
         "chokidar": {
-          "version": "3.4.0",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz",
-          "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==",
+          "version": "3.4.1",
+          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.1.tgz",
+          "integrity": "sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g==",
           "dev": true,
           "optional": true,
           "requires": {
@@ -14814,15 +14420,15 @@
       }
     },
     "webidl-conversions": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
-      "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
+      "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
       "dev": true
     },
     "webpack": {
-      "version": "4.43.0",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz",
-      "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==",
+      "version": "4.44.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.0.tgz",
+      "integrity": "sha512-wAuJxK123sqAw31SpkPiPW3iKHgFUiKvO7E7UZjtdExcsRe3fgav4mvoMM7vvpjLHVoJ6a0Mtp2fzkoA13e0Zw==",
       "dev": true,
       "requires": {
         "@webassemblyjs/ast": "1.9.0",
@@ -14833,7 +14439,7 @@
         "ajv": "^6.10.2",
         "ajv-keywords": "^3.4.1",
         "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^4.1.0",
+        "enhanced-resolve": "^4.3.0",
         "eslint-scope": "^4.0.3",
         "json-parse-better-errors": "^1.0.2",
         "loader-runner": "^2.4.0",
@@ -14846,7 +14452,7 @@
         "schema-utils": "^1.0.0",
         "tapable": "^1.1.3",
         "terser-webpack-plugin": "^1.4.3",
-        "watchpack": "^1.6.1",
+        "watchpack": "^1.7.4",
         "webpack-sources": "^1.4.1"
       },
       "dependencies": {
@@ -14866,6 +14472,26 @@
             "estraverse": "^4.1.1"
           }
         },
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
+          }
+        },
         "schema-utils": {
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
@@ -14914,14 +14540,22 @@
       "dev": true
     },
     "whatwg-url": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
-      "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.1.0.tgz",
+      "integrity": "sha512-vEIkwNi9Hqt4TV9RdnaBPNt+E2Sgmo3gePebCRgZ1R7g6d23+53zCTnuB0amKI4AXq6VM8jj2DUAa0S1vjJxkw==",
       "dev": true,
       "requires": {
         "lodash.sortby": "^4.7.0",
-        "tr46": "^1.0.1",
-        "webidl-conversions": "^4.0.2"
+        "tr46": "^2.0.2",
+        "webidl-conversions": "^5.0.0"
+      },
+      "dependencies": {
+        "webidl-conversions": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
+          "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
+          "dev": true
+        }
       }
     },
     "which": {
@@ -14946,9 +14580,9 @@
       "dev": true
     },
     "winston": {
-      "version": "2.4.4",
-      "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.4.tgz",
-      "integrity": "sha512-NBo2Pepn4hK4V01UfcWcDlmiVTs7VTB1h7bgnB0rgP146bYhMxX0ypCz3lBOfNxCO4Zuek7yeT+y/zM1OfMw4Q==",
+      "version": "2.4.5",
+      "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.5.tgz",
+      "integrity": "sha512-TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==",
       "dev": true,
       "requires": {
         "async": "~1.0.0",
@@ -15023,23 +14657,6 @@
           "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
           "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
           "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-          "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-          "dev": true
-        },
-        "string-width": {
-          "version": "4.2.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
-          "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
-          "dev": true,
-          "requires": {
-            "emoji-regex": "^8.0.0",
-            "is-fullwidth-code-point": "^3.0.0",
-            "strip-ansi": "^6.0.0"
-          }
         }
       }
     },
@@ -15071,9 +14688,9 @@
       }
     },
     "ws": {
-      "version": "7.3.0",
-      "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz",
-      "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==",
+      "version": "7.3.1",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz",
+      "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==",
       "dev": true
     },
     "xml-name-validator": {
@@ -15113,9 +14730,9 @@
       "dev": true
     },
     "yargs": {
-      "version": "15.3.1",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz",
-      "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==",
+      "version": "15.4.1",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
+      "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
       "dev": true,
       "requires": {
         "cliui": "^6.0.0",
@@ -15128,75 +14745,7 @@
         "string-width": "^4.2.0",
         "which-module": "^2.0.0",
         "y18n": "^4.0.0",
-        "yargs-parser": "^18.1.1"
-      },
-      "dependencies": {
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-          "dev": true,
-          "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
-          }
-        },
-        "is-fullwidth-code-point": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-          "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-          "dev": true
-        },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
-        },
-        "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-          "dev": true,
-          "requires": {
-            "p-limit": "^2.2.0"
-          }
-        },
-        "p-try": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-          "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-          "dev": true
-        },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
-        "string-width": {
-          "version": "4.2.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
-          "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
-          "dev": true,
-          "requires": {
-            "emoji-regex": "^8.0.0",
-            "is-fullwidth-code-point": "^3.0.0",
-            "strip-ansi": "^6.0.0"
-          }
-        }
+        "yargs-parser": "^18.1.2"
       }
     },
     "yargs-parser": {
@@ -15207,6 +14756,14 @@
       "requires": {
         "camelcase": "^5.0.0",
         "decamelize": "^1.2.0"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "5.3.1",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+          "dev": true
+        }
       }
     }
   }
diff --git a/package.json b/package.json
index b328631c..c15c4538 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "css-loader",
-  "version": "3.6.0",
+  "version": "4.0.0",
   "description": "css loader module for webpack",
   "license": "MIT",
   "repository": "webpack-contrib/css-loader",
@@ -13,7 +13,7 @@
   },
   "main": "dist/cjs.js",
   "engines": {
-    "node": ">= 8.9.0"
+    "node": ">= 10.13.0"
   },
   "scripts": {
     "start": "npm run build -- -w",
@@ -40,54 +40,56 @@
     "dist"
   ],
   "peerDependencies": {
-    "webpack": "^4.0.0 || ^5.0.0"
+    "webpack": "^4.27.0 || ^5.0.0"
   },
   "dependencies": {
-    "camelcase": "^5.3.1",
+    "camelcase": "^6.0.0",
     "cssesc": "^3.0.0",
     "icss-utils": "^4.1.1",
-    "loader-utils": "^1.2.3",
+    "loader-utils": "^2.0.0",
     "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-local-by-default": "^3.0.3",
     "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"
+    "semver": "^7.3.2"
   },
   "devDependencies": {
-    "@babel/cli": "^7.10.1",
-    "@babel/core": "^7.10.2",
-    "@babel/preset-env": "^7.10.2",
-    "@commitlint/cli": "^8.3.5",
-    "@commitlint/config-conventional": "^8.3.4",
+    "@babel/cli": "^7.10.5",
+    "@babel/core": "^7.10.5",
+    "@babel/preset-env": "^7.10.4",
+    "@commitlint/cli": "^9.1.2",
+    "@commitlint/config-conventional": "^9.1.1",
     "@webpack-contrib/defaults": "^6.3.0",
     "@webpack-contrib/eslint-config-webpack": "^3.0.0",
-    "babel-jest": "^25.5.1",
+    "babel-jest": "^26.1.0",
     "cross-env": "^7.0.2",
     "del": "^5.1.0",
     "del-cli": "^3.0.1",
     "es-check": "^5.1.0",
-    "eslint": "^6.8.0",
+    "eslint": "^7.5.0",
     "eslint-config-prettier": "^6.11.0",
-    "eslint-plugin-import": "^2.21.2",
+    "eslint-plugin-import": "^2.22.0",
     "file-loader": "^6.0.0",
     "husky": "^4.2.5",
-    "jest": "^25.5.4",
-    "lint-staged": "^10.2.10",
+    "jest": "^26.1.0",
+    "lint-staged": "^10.2.11",
     "memfs": "^3.2.0",
+    "mini-css-extract-plugin": "^0.9.0",
     "npm-run-all": "^4.1.5",
     "postcss-loader": "^3.0.0",
     "postcss-preset-env": "^6.7.0",
     "prettier": "^2.0.5",
-    "sass": "^1.26.8",
-    "sass-loader": "^8.0.2",
-    "standard-version": "^8.0.0",
+    "sass": "^1.26.10",
+    "sass-loader": "^9.0.2",
+    "standard-version": "^8.0.2",
     "strip-ansi": "^6.0.0",
+    "style-loader": "^1.2.1",
     "url-loader": "^4.1.0",
-    "webpack": "^4.43.0"
+    "webpack": "^4.44.0"
   },
   "keywords": [
     "webpack",
diff --git a/src/index.js b/src/index.js
index 11830615..06d30585 100644
--- a/src/index.js
+++ b/src/index.js
@@ -2,7 +2,7 @@
   MIT License http://www.opensource.org/licenses/mit-license.php
   Author Tobias Koppers @sokra
 */
-import { getOptions, isUrlRequest, stringifyRequest } from 'loader-utils';
+import { getOptions, stringifyRequest } from 'loader-utils';
 import postcss from 'postcss';
 import postcssPkg from 'postcss/package.json';
 import validateOptions from 'schema-utils';
@@ -13,6 +13,10 @@ import Warning from './Warning';
 import schema from './options.json';
 import { icssParser, importParser, urlParser } from './plugins';
 import {
+  normalizeOptions,
+  shouldUseModulesPlugins,
+  shouldUseImportPlugin,
+  shouldUseURLPlugin,
   getPreRequester,
   getExportCode,
   getFilter,
@@ -20,52 +24,119 @@ import {
   getModuleCode,
   getModulesPlugins,
   normalizeSourceMap,
-  shouldUseModulesPlugins,
+  sort,
 } from './utils';
 
-export default function loader(content, map, meta) {
-  const options = getOptions(this) || {};
+export default async function loader(content, map, meta) {
+  const rawOptions = getOptions(this);
 
-  validateOptions(schema, options, {
+  validateOptions(schema, rawOptions, {
     name: 'CSS Loader',
     baseDataPath: 'options',
   });
 
-  const callback = this.async();
-  const sourceMap = options.sourceMap || false;
   const plugins = [];
+  const callback = this.async();
+
+  let options;
+
+  try {
+    options = normalizeOptions(rawOptions, this);
+  } catch (error) {
+    callback(error);
+
+    return;
+  }
+
+  const replacements = [];
+  const exports = [];
+
+  const needUseModulesPlugins = shouldUseModulesPlugins(options);
 
-  if (shouldUseModulesPlugins(options.modules, this.resourcePath)) {
+  if (needUseModulesPlugins) {
     plugins.push(...getModulesPlugins(options, this));
   }
 
-  const exportType = options.onlyLocals ? 'locals' : 'full';
-  const preRequester = getPreRequester(this);
-  const urlHandler = (url) =>
-    stringifyRequest(this, preRequester(options.importLoaders) + url);
+  const importPluginImports = [];
+  const importPluginApi = [];
 
-  plugins.push(icssParser({ urlHandler }));
+  if (shouldUseImportPlugin(options)) {
+    const resolver = this.getResolve({
+      mainFields: ['css', 'style', 'main', '...'],
+      mainFiles: ['index', '...'],
+      extensions: ['.css'],
+      restrictions: [/\.css$/i],
+      conditionNames: ['style'],
+    });
 
-  if (options.import !== false && exportType === 'full') {
     plugins.push(
       importParser({
+        imports: importPluginImports,
+        api: importPluginApi,
+        context: this.context,
+        rootContext: this.rootContext,
         filter: getFilter(options.import, this.resourcePath),
-        urlHandler,
+        resolver,
+        urlHandler: (url) =>
+          stringifyRequest(
+            this,
+            getPreRequester(this)(options.importLoaders) + url
+          ),
       })
     );
   }
 
-  if (options.url !== false && exportType === 'full') {
+  const urlPluginImports = [];
+
+  if (shouldUseURLPlugin(options)) {
+    const urlResolver = this.getResolve({
+      mainFields: ['asset'],
+      conditionNames: ['asset'],
+      extensions: [],
+    });
+
     plugins.push(
       urlParser({
-        filter: getFilter(options.url, this.resourcePath, (value) =>
-          isUrlRequest(value)
-        ),
+        imports: urlPluginImports,
+        replacements,
+        context: this.context,
+        rootContext: this.rootContext,
+        filter: getFilter(options.url, this.resourcePath),
+        resolver: urlResolver,
         urlHandler: (url) => stringifyRequest(this, url),
       })
     );
   }
 
+  const icssPluginImports = [];
+  const icssPluginApi = [];
+
+  if (needUseModulesPlugins) {
+    const icssResolver = this.getResolve({
+      mainFields: ['css', 'style', 'main', '...'],
+      mainFiles: ['index', '...'],
+      extensions: [],
+      conditionNames: ['style'],
+    });
+
+    plugins.push(
+      icssParser({
+        imports: icssPluginImports,
+        api: icssPluginApi,
+        replacements,
+        exports,
+        context: this.context,
+        rootContext: this.rootContext,
+        resolver: icssResolver,
+        urlHandler: (url) =>
+          stringifyRequest(
+            this,
+            getPreRequester(this)(options.importLoaders) + url
+          ),
+      })
+    );
+  }
+
   // Reuse CSS AST (PostCSS AST e.g 'postcss-loader') to avoid reparsing
   if (meta) {
     const { ast } = meta;
@@ -80,82 +151,55 @@ export default function loader(content, map, meta) {
     }
   }
 
-  postcss(plugins)
-    .process(content, {
+  let result;
+
+  try {
+    result = await postcss(plugins).process(content, {
       from: this.resourcePath,
       to: this.resourcePath,
       map: options.sourceMap
         ? {
             // Some loaders (example `"postcss-loader": "1.x.x"`) always generates source map, we should remove it
-            prev: sourceMap && map ? normalizeSourceMap(map) : null,
+            prev: map ? normalizeSourceMap(map) : null,
             inline: false,
             annotation: false,
           }
         : false,
-    })
-    .then((result) => {
-      for (const warning of result.warnings()) {
-        this.emitWarning(new Warning(warning));
-      }
-
-      const imports = [];
-      const apiImports = [];
-      const urlReplacements = [];
-      const icssReplacements = [];
-      const exports = [];
-
-      for (const message of result.messages) {
-        // eslint-disable-next-line default-case
-        switch (message.type) {
-          case 'import':
-            imports.push(message.value);
-            break;
-          case 'api-import':
-            apiImports.push(message.value);
-            break;
-          case 'url-replacement':
-            urlReplacements.push(message.value);
-            break;
-          case 'icss-replacement':
-            icssReplacements.push(message.value);
-            break;
-          case 'export':
-            exports.push(message.value);
-            break;
-        }
-      }
-
-      const { localsConvention } = options;
-      const esModule =
-        typeof options.esModule !== 'undefined' ? options.esModule : false;
-
-      const importCode = getImportCode(this, exportType, imports, esModule);
-      const moduleCode = getModuleCode(
-        result,
-        exportType,
-        sourceMap,
-        apiImports,
-        urlReplacements,
-        icssReplacements,
-        esModule
-      );
-      const exportCode = getExportCode(
-        exports,
-        exportType,
-        localsConvention,
-        icssReplacements,
-        esModule
-      );
-
-      return callback(null, `${importCode}${moduleCode}${exportCode}`);
-    })
-    .catch((error) => {
-      if (error.file) {
-        this.addDependency(error.file);
-      }
-
-      callback(
-        error.name === 'CssSyntaxError' ? new CssSyntaxError(error) : error
-      );
     });
+  } catch (error) {
+    if (error.file) {
+      this.addDependency(error.file);
+    }
+
+    callback(
+      error.name === 'CssSyntaxError' ? new CssSyntaxError(error) : error
+    );
+
+    return;
+  }
+
+  for (const warning of result.warnings()) {
+    this.emitWarning(new Warning(warning));
+  }
+
+  const imports = []
+    .concat(icssPluginImports.sort(sort))
+    .concat(importPluginImports.sort(sort))
+    .concat(urlPluginImports.sort(sort));
+  const api = []
+    .concat(importPluginApi.sort(sort))
+    .concat(icssPluginApi.sort(sort));
+
+  if (options.modules.exportOnlyLocals !== true) {
+    imports.unshift({
+      importName: '___CSS_LOADER_API_IMPORT___',
+      url: stringifyRequest(this, require.resolve('./runtime/api')),
+    });
+  }
+
+  const importCode = getImportCode(imports, options);
+  const moduleCode = getModuleCode(result, api, replacements, options);
+  const exportCode = getExportCode(exports, replacements, options);
+
+  callback(null, `${importCode}${moduleCode}${exportCode}`);
 }
diff --git a/src/options.json b/src/options.json
index 43ac0f9c..9629553a 100644
--- a/src/options.json
+++ b/src/options.json
@@ -37,6 +37,7 @@
           "additionalProperties": false,
           "properties": {
             "auto": {
+              "description": "Allows auto enable CSS modules based on filename (https://github.com/webpack-contrib/css-loader#auto).",
               "anyOf": [
                 {
                   "instanceof": "RegExp"
@@ -50,6 +51,7 @@
               ]
             },
             "mode": {
+              "description": "Setup `mode` option (https://github.com/webpack-contrib/css-loader#mode).",
               "anyOf": [
                 {
                   "enum": ["local", "global", "pure"]
@@ -59,37 +61,58 @@
                 }
               ]
             },
-            "exportGlobals": {
-              "type": "boolean"
-            },
             "localIdentName": {
-              "type": "string"
+              "description": "Allows to configure the generated local ident name (https://github.com/webpack-contrib/css-loader#localidentname).",
+              "type": "string",
+              "minLength": 1
+            },
+            "localIdentContext": {
+              "description": "Allows to redefine basic loader context for local ident name (https://github.com/webpack-contrib/css-loader#localidentcontext).",
+              "type": "string",
+              "minLength": 1
+            },
+            "localIdentHashPrefix": {
+              "description": "Allows to add custom hash to generate more unique classes (https://github.com/webpack-contrib/css-loader#localidenthashprefix).",
+              "type": "string",
+              "minLength": 1
             },
             "localIdentRegExp": {
+              "description": "Allows to specify custom RegExp for local ident name (https://github.com/webpack-contrib/css-loader#localidentregexp).",
               "anyOf": [
                 {
-                  "type": "string"
+                  "type": "string",
+                  "minLength": 1
                 },
                 {
                   "instanceof": "RegExp"
                 }
               ]
             },
-            "context": {
-              "type": "string"
+            "getLocalIdent": {
+              "description": "Allows to specify a function to generate the classname (https://github.com/webpack-contrib/css-loader#getlocalident).",
+              "instanceof": "Function"
             },
-            "hashPrefix": {
-              "type": "string"
+            "namedExport": {
+              "description": "Enables/disables ES modules named export for locals (https://github.com/webpack-contrib/css-loader#namedexport).",
+              "type": "boolean"
             },
-            "getLocalIdent": {
-              "anyOf": [
-                {
-                  "type": "boolean"
-                },
-                {
-                  "instanceof": "Function"
-                }
+            "exportGlobals": {
+              "description": "Allows to export names from global class or id, so you can use that as local name (https://github.com/webpack-contrib/css-loader#exportglobals).",
+              "type": "boolean"
+            },
+            "exportLocalsConvention": {
+              "description": "Style of exported classnames (https://github.com/webpack-contrib/css-loader#localsconvention).",
+              "enum": [
+                "asIs",
+                "camelCase",
+                "camelCaseOnly",
+                "dashes",
+                "dashesOnly"
               ]
+            },
+            "exportOnlyLocals": {
+              "description": "Export only locals (https://github.com/webpack-contrib/css-loader#exportonlylocals).",
+              "type": "boolean"
             }
           }
         }
@@ -110,14 +133,6 @@
         }
       ]
     },
-    "localsConvention": {
-      "description": "Style of exported classnames (https://github.com/webpack-contrib/css-loader#localsconvention).",
-      "enum": ["asIs", "camelCase", "camelCaseOnly", "dashes", "dashesOnly"]
-    },
-    "onlyLocals": {
-      "description": "Export only locals (https://github.com/webpack-contrib/css-loader#onlylocals).",
-      "type": "boolean"
-    },
     "esModule": {
       "description": "Use the ES modules syntax (https://github.com/webpack-contrib/css-loader#esmodule).",
       "type": "boolean"
diff --git a/src/plugins/postcss-icss-parser.js b/src/plugins/postcss-icss-parser.js
index f8023c34..939c78a9 100644
--- a/src/plugins/postcss-icss-parser.js
+++ b/src/plugins/postcss-icss-parser.js
@@ -1,70 +1,80 @@
 import postcss from 'postcss';
 import { extractICSS, replaceValueSymbols, replaceSymbols } from 'icss-utils';
-import { urlToRequest } from 'loader-utils';
 
-function makeRequestableIcssImports(icssImports) {
-  return Object.keys(icssImports).reduce((accumulator, url) => {
-    const tokensMap = icssImports[url];
-    const tokens = Object.keys(tokensMap);
+import { normalizeUrl, resolveRequests, requestify } from '../utils';
 
-    if (tokens.length === 0) {
-      return accumulator;
-    }
+export default postcss.plugin(
+  'postcss-icss-parser',
+  (options) => async (css) => {
+    const importReplacements = Object.create(null);
+    const { icssImports, icssExports } = extractICSS(css);
+    const imports = new Map();
+    const tasks = [];
+
+    // eslint-disable-next-line guard-for-in
+    for (const url in icssImports) {
+      const tokens = icssImports[url];
+
+      if (Object.keys(tokens).length === 0) {
+        // eslint-disable-next-line no-continue
+        continue;
+      }
+
+      let normalizedUrl = url;
+      let prefix = '';
+
+      const queryParts = normalizedUrl.split('!');
 
-    const normalizedUrl = urlToRequest(url);
+      if (queryParts.length > 1) {
+        normalizedUrl = queryParts.pop();
+        prefix = queryParts.join('!');
+      }
+
+      const request = requestify(
+        normalizeUrl(normalizedUrl, true),
+        options.rootContext
+      );
+      const doResolve = async () => {
+        const { resolver, context } = options;
+        const resolvedUrl = await resolveRequests(resolver, context, [
+          ...new Set([normalizedUrl, request]),
+        ]);
 
-    if (!accumulator[normalizedUrl]) {
-      // eslint-disable-next-line no-param-reassign
-      accumulator[normalizedUrl] = tokensMap;
-    } else {
-      // eslint-disable-next-line no-param-reassign
-      accumulator[normalizedUrl] = {
-        ...accumulator[normalizedUrl],
-        ...tokensMap,
+        return { url: resolvedUrl, prefix, tokens };
       };
+
+      tasks.push(doResolve());
     }
 
-    return accumulator;
-  }, {});
-}
+    const results = await Promise.all(tasks);
 
-export default postcss.plugin(
-  'postcss-icss-parser',
-  (options) => (css, result) => {
-    const importReplacements = Object.create(null);
-    const extractedICSS = extractICSS(css);
-    const icssImports = makeRequestableIcssImports(extractedICSS.icssImports);
-
-    for (const [importIndex, url] of Object.keys(icssImports).entries()) {
-      const importName = `___CSS_LOADER_ICSS_IMPORT_${importIndex}___`;
-
-      result.messages.push(
-        {
-          type: 'import',
-          value: {
-            importName,
-            url: options.urlHandler ? options.urlHandler(url) : url,
-          },
-        },
-        {
-          type: 'api-import',
-          value: { type: 'internal', importName, dedupe: true },
-        }
-      );
+    for (let index = 0; index <= results.length - 1; index++) {
+      const { url, prefix, tokens } = results[index];
+      const newUrl = prefix ? `${prefix}!${url}` : url;
+      const importKey = newUrl;
+      let importName = imports.get(importKey);
 
-      const tokenMap = icssImports[url];
-      const tokens = Object.keys(tokenMap);
+      if (!importName) {
+        importName = `___CSS_LOADER_ICSS_IMPORT_${imports.size}___`;
+        imports.set(importKey, importName);
 
-      for (const [replacementIndex, token] of tokens.entries()) {
-        const replacementName = `___CSS_LOADER_ICSS_IMPORT_${importIndex}_REPLACEMENT_${replacementIndex}___`;
-        const localName = tokenMap[token];
+        options.imports.push({
+          importName,
+          url: options.urlHandler(newUrl),
+          icss: true,
+          index,
+        });
+
+        options.api.push({ importName, dedupe: true, index });
+      }
+
+      for (const [replacementIndex, token] of Object.keys(tokens).entries()) {
+        const replacementName = `___CSS_LOADER_ICSS_IMPORT_${index}_REPLACEMENT_${replacementIndex}___`;
+        const localName = tokens[token];
 
         importReplacements[token] = replacementName;
 
-        result.messages.push({
-          type: 'icss-replacement',
-          value: { replacementName, importName, localName },
-        });
+        options.replacements.push({ replacementName, importName, localName });
       }
     }
 
@@ -72,12 +82,10 @@ export default postcss.plugin(
       replaceSymbols(css, importReplacements);
     }
 
-    const { icssExports } = extractedICSS;
-
     for (const name of Object.keys(icssExports)) {
       const value = replaceValueSymbols(icssExports[name], importReplacements);
 
-      result.messages.push({ type: 'export', value: { name, value } });
+      options.exports.push({ name, value });
     }
   }
 );
diff --git a/src/plugins/postcss-import-parser.js b/src/plugins/postcss-import-parser.js
index 591ee3a9..9fc64ce3 100644
--- a/src/plugins/postcss-import-parser.js
+++ b/src/plugins/postcss-import-parser.js
@@ -1,13 +1,19 @@
+import { promisify } from 'util';
+
 import postcss from 'postcss';
 import valueParser from 'postcss-value-parser';
-import { isUrlRequest } from 'loader-utils';
 
-import { normalizeUrl } from '../utils';
+import {
+  normalizeUrl,
+  resolveRequests,
+  isUrlRequestable,
+  requestify,
+} from '../utils';
 
 const pluginName = 'postcss-import-parser';
 
-export default postcss.plugin(pluginName, (options) => (css, result) => {
-  const importsMap = new Map();
+function walkAtRules(css, result, options, callback) {
+  const accumulator = [];
 
   css.walkAtRules(/^import$/i, (atRule) => {
     // Convert only top-level @import
@@ -25,13 +31,13 @@ export default postcss.plugin(pluginName, (options) => (css, result) => {
       return;
     }
 
-    const { nodes } = valueParser(atRule.params);
+    const { nodes: paramsNodes } = valueParser(atRule.params);
 
     // No nodes - `@import ;`
     // Invalid type - `@import foo-bar;`
     if (
-      nodes.length === 0 ||
-      (nodes[0].type !== 'string' && nodes[0].type !== 'function')
+      paramsNodes.length === 0 ||
+      (paramsNodes[0].type !== 'string' && paramsNodes[0].type !== 'function')
     ) {
       result.warn(`Unable to find uri in "${atRule.toString()}"`, {
         node: atRule,
@@ -43,12 +49,12 @@ export default postcss.plugin(pluginName, (options) => (css, result) => {
     let isStringValue;
     let url;
 
-    if (nodes[0].type === 'string') {
+    if (paramsNodes[0].type === 'string') {
       isStringValue = true;
-      url = nodes[0].value;
-    } else if (nodes[0].type === 'function') {
+      url = paramsNodes[0].value;
+    } else {
       // Invalid function - `@import nourl(test.css);`
-      if (nodes[0].value.toLowerCase() !== 'url') {
+      if (paramsNodes[0].value.toLowerCase() !== 'url') {
         result.warn(`Unable to find uri in "${atRule.toString()}"`, {
           node: atRule,
         });
@@ -57,10 +63,11 @@ export default postcss.plugin(pluginName, (options) => (css, result) => {
       }
 
       isStringValue =
-        nodes[0].nodes.length !== 0 && nodes[0].nodes[0].type === 'string';
+        paramsNodes[0].nodes.length !== 0 &&
+        paramsNodes[0].nodes[0].type === 'string';
       url = isStringValue
-        ? nodes[0].nodes[0].value
-        : valueParser.stringify(nodes[0].nodes);
+        ? paramsNodes[0].nodes[0].value
+        : valueParser.stringify(paramsNodes[0].nodes);
     }
 
     // Empty url - `@import "";` or `@import url();`
@@ -72,61 +79,121 @@ export default postcss.plugin(pluginName, (options) => (css, result) => {
       return;
     }
 
-    const isRequestable = isUrlRequest(url);
+    accumulator.push({
+      atRule,
+      url,
+      isStringValue,
+      mediaNodes: paramsNodes.slice(1),
+    });
+  });
+
+  callback(null, accumulator);
+}
+
+const asyncWalkAtRules = promisify(walkAtRules);
+
+export default postcss.plugin(pluginName, (options) => async (css, result) => {
+  const parsedResults = await asyncWalkAtRules(css, result, options);
+
+  if (parsedResults.length === 0) {
+    return Promise.resolve();
+  }
+
+  const imports = new Map();
+  const tasks = [];
+
+  for (const parsedResult of parsedResults) {
+    const { atRule, url, isStringValue, mediaNodes } = parsedResult;
+
+    let normalizedUrl = url;
+    let prefix = '';
+
+    const queryParts = normalizedUrl.split('!');
+
+    if (queryParts.length > 1) {
+      normalizedUrl = queryParts.pop();
+      prefix = queryParts.join('!');
+    }
+
+    const isRequestable = isUrlRequestable(normalizedUrl);
 
     if (isRequestable) {
-      url = normalizeUrl(url, isStringValue);
+      normalizedUrl = normalizeUrl(normalizedUrl, isStringValue);
 
       // Empty url after normalize - `@import '\
       // \
       // \
       // ';
-      if (url.trim().length === 0) {
+      if (normalizedUrl.trim().length === 0) {
         result.warn(`Unable to find uri in "${atRule.toString()}"`, {
           node: atRule,
         });
 
-        return;
+        // eslint-disable-next-line no-continue
+        continue;
       }
     }
 
-    const media = valueParser.stringify(nodes.slice(1)).trim().toLowerCase();
+    let media;
 
-    if (options.filter && !options.filter({ url, media })) {
-      return;
+    if (mediaNodes.length > 0) {
+      media = valueParser.stringify(mediaNodes).trim().toLowerCase();
+    }
+
+    if (options.filter && !options.filter(normalizedUrl, media)) {
+      // eslint-disable-next-line no-continue
+      continue;
     }
 
     atRule.remove();
 
     if (isRequestable) {
-      const importKey = url;
-      let importName = importsMap.get(importKey);
+      const request = requestify(normalizedUrl, options.rootContext);
+      const doResolve = async () => {
+        const { resolver, context } = options;
+        const resolvedUrl = await resolveRequests(resolver, context, [
+          ...new Set([request, normalizedUrl]),
+        ]);
+
+        return { url: resolvedUrl, media, prefix, isRequestable };
+      };
+
+      tasks.push(doResolve());
+    } else {
+      tasks.push({ url, media, prefix, isRequestable });
+    }
+  }
+
+  const results = await Promise.all(tasks);
+
+  for (let index = 0; index <= results.length - 1; index++) {
+    const { url, isRequestable, media } = results[index];
+
+    if (isRequestable) {
+      const { prefix } = results[index];
+      const newUrl = prefix ? `${prefix}!${url}` : url;
+      const importKey = newUrl;
+      let importName = imports.get(importKey);
 
       if (!importName) {
-        importName = `___CSS_LOADER_AT_RULE_IMPORT_${importsMap.size}___`;
-        importsMap.set(importKey, importName);
-
-        result.messages.push({
-          type: 'import',
-          value: {
-            importName,
-            url: options.urlHandler ? options.urlHandler(url) : url,
-          },
+        importName = `___CSS_LOADER_AT_RULE_IMPORT_${imports.size}___`;
+        imports.set(importKey, importName);
+
+        options.imports.push({
+          importName,
+          url: options.urlHandler(newUrl),
+          index,
         });
       }
 
-      result.messages.push({
-        type: 'api-import',
-        value: { type: 'internal', importName, media },
-      });
+      options.api.push({ importName, media, index });
 
-      return;
+      // eslint-disable-next-line no-continue
+      continue;
     }
 
-    result.messages.push({
-      pluginName,
-      type: 'api-import',
-      value: { type: 'external', url, media },
-    });
-  });
+    options.api.push({ url, media, index });
+  }
+
+  return Promise.resolve();
 });
diff --git a/src/plugins/postcss-url-parser.js b/src/plugins/postcss-url-parser.js
index 54de6d8a..2a5ee694 100644
--- a/src/plugins/postcss-url-parser.js
+++ b/src/plugins/postcss-url-parser.js
@@ -1,7 +1,14 @@
+import { promisify } from 'util';
+
 import postcss from 'postcss';
 import valueParser from 'postcss-value-parser';
 
-import { normalizeUrl } from '../utils';
+import {
+  normalizeUrl,
+  requestify,
+  resolveRequests,
+  isUrlRequestable,
+} from '../utils';
 
 const pluginName = 'postcss-url-parser';
 
@@ -13,146 +20,216 @@ function getNodeFromUrlFunc(node) {
   return node.nodes && node.nodes[0];
 }
 
-function walkUrls(parsed, callback) {
-  parsed.walk((node) => {
-    if (node.type !== 'function') {
-      return;
-    }
+function shouldHandleRule(rule, decl, result) {
+  // https://www.w3.org/TR/css-syntax-3/#typedef-url-token
+  if (rule.url.replace(/^[\s]+|[\s]+$/g, '').length === 0) {
+    result.warn(`Unable to find uri in '${decl.toString()}'`, { node: decl });
 
-    if (isUrlFunc.test(node.value)) {
-      const { nodes } = node;
-      const isStringValue = nodes.length !== 0 && nodes[0].type === 'string';
-      const url = isStringValue ? nodes[0].value : valueParser.stringify(nodes);
+    return false;
+  }
 
-      callback(getNodeFromUrlFunc(node), url, false, isStringValue);
+  return true;
+}
 
-      // Do not traverse inside `url`
-      // eslint-disable-next-line consistent-return
-      return false;
-    }
+function walkCss(css, result, options, callback) {
+  const accumulator = [];
 
-    if (isImageSetFunc.test(node.value)) {
-      for (const nNode of node.nodes) {
-        const { type, value } = nNode;
+  css.walkDecls((decl) => {
+    if (!needParseDecl.test(decl.value)) {
+      return;
+    }
 
-        if (type === 'function' && isUrlFunc.test(value)) {
-          const { nodes } = nNode;
+    const parsed = valueParser(decl.value);
 
-          const isStringValue =
-            nodes.length !== 0 && nodes[0].type === 'string';
-          const url = isStringValue
-            ? nodes[0].value
-            : valueParser.stringify(nodes);
+    parsed.walk((node) => {
+      if (node.type !== 'function') {
+        return;
+      }
 
-          callback(getNodeFromUrlFunc(nNode), url, false, isStringValue);
+      if (isUrlFunc.test(node.value)) {
+        const { nodes } = node;
+        const isStringValue = nodes.length !== 0 && nodes[0].type === 'string';
+        const url = isStringValue
+          ? nodes[0].value
+          : valueParser.stringify(nodes);
+
+        const rule = {
+          node: getNodeFromUrlFunc(node),
+          url,
+          needQuotes: false,
+          isStringValue,
+        };
+
+        if (shouldHandleRule(rule, decl, result)) {
+          accumulator.push({ decl, rule, parsed });
         }
 
-        if (type === 'string') {
-          callback(nNode, value, true, true);
+        // Do not traverse inside `url`
+        // eslint-disable-next-line consistent-return
+        return false;
+      } else if (isImageSetFunc.test(node.value)) {
+        for (const nNode of node.nodes) {
+          const { type, value } = nNode;
+
+          if (type === 'function' && isUrlFunc.test(value)) {
+            const { nodes } = nNode;
+            const isStringValue =
+              nodes.length !== 0 && nodes[0].type === 'string';
+            const url = isStringValue
+              ? nodes[0].value
+              : valueParser.stringify(nodes);
+
+            const rule = {
+              node: getNodeFromUrlFunc(nNode),
+              url,
+              needQuotes: false,
+              isStringValue,
+            };
+
+            if (shouldHandleRule(rule, decl, result)) {
+              accumulator.push({ decl, rule, parsed });
+            }
+          } else if (type === 'string') {
+            const rule = {
+              node: nNode,
+              url: value,
+              needQuotes: true,
+              isStringValue: true,
+            };
+
+            if (shouldHandleRule(rule, decl, result)) {
+              accumulator.push({ decl, rule, parsed });
+            }
+          }
         }
-      }
 
-      // Do not traverse inside `image-set`
-      // eslint-disable-next-line consistent-return
-      return false;
-    }
+        // Do not traverse inside `image-set`
+        // eslint-disable-next-line consistent-return
+        return false;
+      }
+    });
   });
+
+  callback(null, accumulator);
 }
 
-export default postcss.plugin(pluginName, (options) => (css, result) => {
-  const importsMap = new Map();
-  const replacementsMap = new Map();
+const asyncWalkCss = promisify(walkCss);
 
-  let hasHelper = false;
+export default postcss.plugin(pluginName, (options) => async (css, result) => {
+  const parsedResults = await asyncWalkCss(css, result, options);
 
-  css.walkDecls((decl) => {
-    if (!needParseDecl.test(decl.value)) {
-      return;
+  if (parsedResults.length === 0) {
+    return Promise.resolve();
+  }
+
+  const tasks = [];
+  const imports = new Map();
+  const replacements = new Map();
+
+  let hasUrlImportHelper = false;
+
+  for (const parsedResult of parsedResults) {
+    const { url, isStringValue } = parsedResult.rule;
+
+    let normalizedUrl = url;
+    let prefix = '';
+
+    const queryParts = normalizedUrl.split('!');
+
+    if (queryParts.length > 1) {
+      normalizedUrl = queryParts.pop();
+      prefix = queryParts.join('!');
     }
 
-    const parsed = valueParser(decl.value);
+    normalizedUrl = normalizeUrl(normalizedUrl, isStringValue);
 
-    walkUrls(parsed, (node, url, needQuotes, isStringValue) => {
-      // https://www.w3.org/TR/css-syntax-3/#typedef-url-token
-      if (url.replace(/^[\s]+|[\s]+$/g, '').length === 0) {
-        result.warn(
-          `Unable to find uri in '${decl ? decl.toString() : decl.value}'`,
-          { node: decl }
-        );
+    if (!isUrlRequestable(normalizedUrl)) {
+      // eslint-disable-next-line no-continue
+      continue;
+    }
 
-        return;
-      }
+    if (!options.filter(normalizedUrl)) {
+      // eslint-disable-next-line no-continue
+      continue;
+    }
 
-      if (options.filter && !options.filter(url)) {
-        return;
-      }
+    if (!hasUrlImportHelper) {
+      options.imports.push({
+        importName: '___CSS_LOADER_GET_URL_IMPORT___',
+        url: options.urlHandler(require.resolve('../runtime/getUrl.js')),
+        index: -1,
+      });
 
-      const splittedUrl = url.split(/(\?)?#/);
-      const [urlWithoutHash, singleQuery, hashValue] = splittedUrl;
-      const hash =
-        singleQuery || hashValue
-          ? `${singleQuery ? '?' : ''}${hashValue ? `#${hashValue}` : ''}`
-          : '';
-
-      const normalizedUrl = normalizeUrl(urlWithoutHash, isStringValue);
-
-      const importKey = normalizedUrl;
-      let importName = importsMap.get(importKey);
-
-      if (!importName) {
-        importName = `___CSS_LOADER_URL_IMPORT_${importsMap.size}___`;
-        importsMap.set(importKey, importName);
-
-        if (!hasHelper) {
-          const urlToHelper = require.resolve('../runtime/getUrl.js');
-
-          result.messages.push({
-            pluginName,
-            type: 'import',
-            value: {
-              importName: '___CSS_LOADER_GET_URL_IMPORT___',
-              url: options.urlHandler
-                ? options.urlHandler(urlToHelper)
-                : urlToHelper,
-            },
-          });
-
-          hasHelper = true;
-        }
+      hasUrlImportHelper = true;
+    }
 
-        result.messages.push({
-          pluginName,
-          type: 'import',
-          value: {
-            importName,
-            url: options.urlHandler
-              ? options.urlHandler(normalizedUrl)
-              : normalizedUrl,
-          },
-        });
-      }
+    const splittedUrl = normalizedUrl.split(/(\?)?#/);
+    const [pathname, query, hashOrQuery] = splittedUrl;
+
+    let hash = query ? '?' : '';
+    hash += hashOrQuery ? `#${hashOrQuery}` : '';
+
+    const request = requestify(pathname, options.rootContext);
+    const doResolve = async () => {
+      const { resolver, context } = options;
+      const resolvedUrl = await resolveRequests(resolver, context, [
+        ...new Set([request, normalizedUrl]),
+      ]);
+
+      return { url: resolvedUrl, prefix, hash, parsedResult };
+    };
+
+    tasks.push(doResolve());
+  }
+
+  const results = await Promise.all(tasks);
+
+  for (let index = 0; index <= results.length - 1; index++) {
+    const {
+      url,
+      prefix,
+      hash,
+      parsedResult: { decl, rule, parsed },
+    } = results[index];
+    const newUrl = prefix ? `${prefix}!${url}` : url;
+    const importKey = newUrl;
+    let importName = imports.get(importKey);
+
+    if (!importName) {
+      importName = `___CSS_LOADER_URL_IMPORT_${imports.size}___`;
+      imports.set(importKey, importName);
+
+      options.imports.push({
+        importName,
+        url: options.urlHandler(newUrl),
+        index,
+      });
+    }
 
-      const replacementKey = JSON.stringify({ importKey, hash, needQuotes });
-      let replacementName = replacementsMap.get(replacementKey);
+    const { needQuotes } = rule;
+    const replacementKey = JSON.stringify({ newUrl, hash, needQuotes });
+    let replacementName = replacements.get(replacementKey);
 
-      if (!replacementName) {
-        replacementName = `___CSS_LOADER_URL_REPLACEMENT_${replacementsMap.size}___`;
-        replacementsMap.set(replacementKey, replacementName);
+    if (!replacementName) {
+      replacementName = `___CSS_LOADER_URL_REPLACEMENT_${replacements.size}___`;
+      replacements.set(replacementKey, replacementName);
 
-        result.messages.push({
-          pluginName,
-          type: 'url-replacement',
-          value: { replacementName, importName, hash, needQuotes },
-        });
-      }
+      options.replacements.push({
+        replacementName,
+        importName,
+        hash,
+        needQuotes,
+      });
+    }
 
-      // eslint-disable-next-line no-param-reassign
-      node.type = 'word';
-      // eslint-disable-next-line no-param-reassign
-      node.value = replacementName;
-    });
+    // eslint-disable-next-line no-param-reassign
+    rule.node.type = 'word';
+    // eslint-disable-next-line no-param-reassign
+    rule.node.value = replacementName;
 
     // eslint-disable-next-line no-param-reassign
     decl.value = parsed.toString();
-  });
+  }
+
+  return Promise.resolve();
 });
diff --git a/src/utils.js b/src/utils.js
index 8bc0a625..e14f2db2 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -2,9 +2,10 @@
   MIT License http://www.opensource.org/licenses/mit-license.php
   Author Tobias Koppers @sokra
 */
+import { fileURLToPath } from 'url';
 import path from 'path';
 
-import { stringifyRequest, urlToRequest, interpolateName } from 'loader-utils';
+import { urlToRequest, interpolateName, isUrlRequest } from 'loader-utils';
 import normalizePath from 'normalize-path';
 import cssesc from 'cssesc';
 import modulesValues from 'postcss-modules-values';
@@ -18,6 +19,7 @@ const unescapeRegExp = new RegExp(
   `\\\\([\\da-f]{1,6}${whitespace}?|(${whitespace})|.)`,
   'ig'
 );
+const matchNativeWin32Path = /^[A-Z]:[/\\]|^\\\\/i;
 
 function unescape(str) {
   return str.replace(unescapeRegExp, (_, escaped, escapedWhitespace) => {
@@ -40,23 +42,22 @@ function unescape(str) {
 }
 
 // eslint-disable-next-line no-control-regex
-const filenameReservedRegex = /[<>:"/\\|?*\x00-\x1F]/g;
+const filenameReservedRegex = /[<>:"/\\|?*]/g;
 // eslint-disable-next-line no-control-regex
 const reControlChars = /[\u0000-\u001f\u0080-\u009f]/g;
-const reRelativePath = /^\.+/;
 
-function getLocalIdent(loaderContext, localIdentName, localName, options) {
-  if (!options.context) {
-    // eslint-disable-next-line no-param-reassign
-    options.context = loaderContext.rootContext;
-  }
-
-  const request = normalizePath(
-    path.relative(options.context || '', loaderContext.resourcePath)
-  );
+function defaultGetLocalIdent(
+  loaderContext,
+  localIdentName,
+  localName,
+  options
+) {
+  const { context, hashPrefix } = options;
+  const { resourcePath } = loaderContext;
+  const request = normalizePath(path.relative(context, resourcePath));
 
   // eslint-disable-next-line no-param-reassign
-  options.content = `${options.hashPrefix + request}+${unescape(localName)}`;
+  options.content = `${hashPrefix + request}\x00${unescape(localName)}`;
 
   // Using `[path]` placeholder outputs `/` we need escape their
   // Also directories can contains invalid characters for css we need escape their too
@@ -66,10 +67,9 @@ function getLocalIdent(loaderContext, localIdentName, localName, options) {
       .replace(/^((-?[0-9])|--)/, '_$1')
       .replace(filenameReservedRegex, '-')
       .replace(reControlChars, '-')
-      .replace(reRelativePath, '-')
       .replace(/\./g, '-'),
     { isIdentifier: true }
-  ).replace(/\\\[local\\\]/gi, localName);
+  ).replace(/\\\[local\\]/gi, localName);
 }
 
 function normalizeUrl(url, isStringValue) {
@@ -79,111 +79,192 @@ function normalizeUrl(url, isStringValue) {
     normalizedUrl = normalizedUrl.replace(/\\[\n]/g, '');
   }
 
-  return urlToRequest(decodeURIComponent(unescape(normalizedUrl)));
+  return decodeURIComponent(unescape(normalizedUrl));
 }
 
-function getFilter(filter, resourcePath, defaultFilter = null) {
-  return (item) => {
-    if (defaultFilter && !defaultFilter(item)) {
-      return false;
-    }
+function requestify(url, rootContext) {
+  if (/^file:/i.test(url)) {
+    return fileURLToPath(url);
+  }
 
+  return mayBeServerRelativeUrl(url)
+    ? urlToRequest(url, rootContext)
+    : urlToRequest(url);
+}
+
+function getFilter(filter, resourcePath) {
+  return (...args) => {
     if (typeof filter === 'function') {
-      return filter(item, resourcePath);
+      return filter(...args, resourcePath);
     }
 
     return true;
   };
 }
 
-function shouldUseModulesPlugins(modules, resourcePath) {
-  if (typeof modules === 'undefined') {
-    return false;
-  }
-
-  if (typeof modules === 'boolean') {
-    return modules;
-  }
-
-  if (typeof modules === 'string') {
-    return true;
-  }
+const moduleRegExp = /\.module\.\w+$/i;
 
-  if (typeof modules.auto === 'boolean') {
-    return modules.auto ? /\.module\.\w+$/i.test(resourcePath) : false;
-  }
+function getModulesOptions(rawOptions, loaderContext) {
+  const { resourcePath } = loaderContext;
 
-  if (modules.auto instanceof RegExp) {
-    return modules.auto.test(resourcePath);
-  }
+  if (typeof rawOptions.modules === 'undefined') {
+    const isModules = moduleRegExp.test(resourcePath);
 
-  if (typeof modules.auto === 'function') {
-    return modules.auto(resourcePath);
+    if (!isModules) {
+      return false;
+    }
+  } else if (
+    typeof rawOptions.modules === 'boolean' &&
+    rawOptions.modules === false
+  ) {
+    return false;
   }
 
-  return true;
-}
-
-function getModulesPlugins(options, loaderContext) {
   let modulesOptions = {
+    auto: true,
     mode: 'local',
     exportGlobals: false,
     localIdentName: '[hash:base64]',
-    getLocalIdent,
-    hashPrefix: '',
-    localIdentRegExp: null,
+    localIdentContext: loaderContext.rootContext,
+    localIdentHashPrefix: '',
+    // eslint-disable-next-line no-undefined
+    localIdentRegExp: undefined,
+    getLocalIdent: defaultGetLocalIdent,
+    namedExport: false,
+    exportLocalsConvention: 'asIs',
+    exportOnlyLocals: false,
   };
 
   if (
-    typeof options.modules === 'boolean' ||
-    typeof options.modules === 'string'
+    typeof rawOptions.modules === 'boolean' ||
+    typeof rawOptions.modules === 'string'
   ) {
     modulesOptions.mode =
-      typeof options.modules === 'string' ? options.modules : 'local';
+      typeof rawOptions.modules === 'string' ? rawOptions.modules : 'local';
   } else {
-    modulesOptions = Object.assign({}, modulesOptions, options.modules);
+    if (rawOptions.modules) {
+      if (typeof rawOptions.modules.auto === 'boolean') {
+        const isModules =
+          rawOptions.modules.auto && moduleRegExp.test(resourcePath);
+
+        if (!isModules) {
+          return false;
+        }
+      } else if (rawOptions.modules.auto instanceof RegExp) {
+        const isModules = rawOptions.modules.auto.test(resourcePath);
+
+        if (!isModules) {
+          return false;
+        }
+      } else if (typeof rawOptions.modules.auto === 'function') {
+        const isModule = rawOptions.modules.auto(resourcePath);
+
+        if (!isModule) {
+          return false;
+        }
+      }
+
+      if (
+        rawOptions.modules.namedExport === true &&
+        typeof rawOptions.modules.exportLocalsConvention === 'undefined'
+      ) {
+        modulesOptions.exportLocalsConvention = 'camelCaseOnly';
+      }
+    }
+
+    modulesOptions = { ...modulesOptions, ...(rawOptions.modules || {}) };
   }
 
   if (typeof modulesOptions.mode === 'function') {
     modulesOptions.mode = modulesOptions.mode(loaderContext.resourcePath);
   }
 
+  if (modulesOptions.namedExport === true) {
+    if (rawOptions.esModule === false) {
+      throw new Error(
+        'The "modules.namedExport" option requires the "esModules" option to be enabled'
+      );
+    }
+
+    if (modulesOptions.exportLocalsConvention !== 'camelCaseOnly') {
+      throw new Error(
+        'The "modules.namedExport" option requires the "modules.exportLocalsConvention" option to be "camelCaseOnly"'
+      );
+    }
+  }
+
+  return modulesOptions;
+}
+
+function normalizeOptions(rawOptions, loaderContext) {
+  return {
+    url: typeof rawOptions.url === 'undefined' ? true : rawOptions.url,
+    import: typeof rawOptions.import === 'undefined' ? true : rawOptions.import,
+    modules: getModulesOptions(rawOptions, loaderContext),
+    sourceMap:
+      typeof rawOptions.sourceMap === 'boolean'
+        ? rawOptions.sourceMap
+        : loaderContext.sourceMap,
+    importLoaders: rawOptions.importLoaders,
+    esModule:
+      typeof rawOptions.esModule === 'undefined' ? true : rawOptions.esModule,
+  };
+}
+
+function shouldUseImportPlugin(options) {
+  if (options.modules.exportOnlyLocals) {
+    return false;
+  }
+
+  if (typeof options.import === 'boolean') {
+    return options.import;
+  }
+
+  return true;
+}
+
+function shouldUseURLPlugin(options) {
+  if (options.modules.exportOnlyLocals) {
+    return false;
+  }
+
+  if (typeof options.url === 'boolean') {
+    return options.url;
+  }
+
+  return true;
+}
+
+function shouldUseModulesPlugins(options) {
+  return Boolean(options.modules);
+}
+
+function getModulesPlugins(options, loaderContext) {
+  const {
+    mode,
+    getLocalIdent,
+    localIdentName,
+    localIdentContext,
+    localIdentHashPrefix,
+    localIdentRegExp,
+  } = options.modules;
+
   let plugins = [];
 
   try {
     plugins = [
       modulesValues,
-      localByDefault({ mode: modulesOptions.mode }),
+      localByDefault({ mode }),
       extractImports(),
       modulesScope({
-        generateScopedName: function generateScopedName(exportName) {
-          let localIdent = modulesOptions.getLocalIdent(
-            loaderContext,
-            modulesOptions.localIdentName,
-            exportName,
-            {
-              context: modulesOptions.context,
-              hashPrefix: modulesOptions.hashPrefix,
-              regExp: modulesOptions.localIdentRegExp,
-            }
-          );
-
-          if (!localIdent) {
-            localIdent = getLocalIdent(
-              loaderContext,
-              modulesOptions.localIdentName,
-              exportName,
-              {
-                context: modulesOptions.context,
-                hashPrefix: modulesOptions.hashPrefix,
-                regExp: modulesOptions.localIdentRegExp,
-              }
-            );
-          }
-
-          return localIdent;
+        generateScopedName(exportName) {
+          return getLocalIdent(loaderContext, localIdentName, exportName, {
+            context: localIdentContext,
+            hashPrefix: localIdentHashPrefix,
+            regExp: localIdentRegExp,
+          });
         },
-        exportGlobals: modulesOptions.exportGlobals,
+        exportGlobals: options.modules.exportGlobals,
       }),
     ];
   } catch (error) {
@@ -246,94 +327,72 @@ function getPreRequester({ loaders, loaderIndex }) {
   };
 }
 
-function getImportCode(loaderContext, exportType, imports, esModule) {
+function getImportCode(imports, options) {
   let code = '';
 
-  if (exportType === 'full') {
-    const apiUrl = stringifyRequest(
-      loaderContext,
-      require.resolve('./runtime/api')
-    );
-
-    code += esModule
-      ? `import ___CSS_LOADER_API_IMPORT___ from ${apiUrl};\n`
-      : `var ___CSS_LOADER_API_IMPORT___ = require(${apiUrl});\n`;
-  }
-
   for (const item of imports) {
-    const { importName, url } = item;
+    const { importName, url, icss } = item;
 
-    code += esModule
-      ? `import ${importName} from ${url};\n`
+    code += options.esModule
+      ? icss && options.modules.namedExport
+        ? `import ${importName}, * as ${importName}_NAMED___ from ${url};\n`
+        : `import ${importName} from ${url};\n`
       : `var ${importName} = require(${url});\n`;
   }
 
   return code ? `// Imports\n${code}` : '';
 }
 
-function getModuleCode(
-  result,
-  exportType,
-  sourceMap,
-  apiImports,
-  urlReplacements,
-  icssReplacements,
-  esModule
-) {
-  if (exportType !== 'full') {
-    return '';
+function getModuleCode(result, api, replacements, options) {
+  if (options.modules.exportOnlyLocals === true) {
+    return 'var ___CSS_LOADER_EXPORT___ = {};\n';
   }
 
   const { css, map } = result;
-  const sourceMapValue = sourceMap && map ? `,${map}` : '';
-
+  const sourceMapValue = options.sourceMap && map ? `,${map}` : '';
   let code = JSON.stringify(css);
-  let beforeCode = '';
-
-  beforeCode += esModule
-    ? `var exports = ___CSS_LOADER_API_IMPORT___(${sourceMap});\n`
-    : `exports = ___CSS_LOADER_API_IMPORT___(${sourceMap});\n`;
-
-  for (const item of apiImports) {
-    const { type, media, dedupe } = item;
-
-    beforeCode +=
-      type === 'internal'
-        ? `exports.i(${item.importName}${
-            media ? `, ${JSON.stringify(media)}` : dedupe ? ', ""' : ''
-          }${dedupe ? ', true' : ''});\n`
-        : `exports.push([module.id, ${JSON.stringify(
-            `@import url(${item.url});`
-          )}${media ? `, ${JSON.stringify(media)}` : ''}]);\n`;
+  let beforeCode = `var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(${options.sourceMap});\n`;
+
+  for (const item of api) {
+    const { url, media, dedupe } = item;
+
+    beforeCode += url
+      ? `___CSS_LOADER_EXPORT___.push([module.id, ${JSON.stringify(
+          `@import url(${url});`
+        )}${media ? `, ${JSON.stringify(media)}` : ''}]);\n`
+      : `___CSS_LOADER_EXPORT___.i(${item.importName}${
+          media ? `, ${JSON.stringify(media)}` : dedupe ? ', ""' : ''
+        }${dedupe ? ', true' : ''});\n`;
   }
 
-  for (const item of urlReplacements) {
-    const { replacementName, importName, hash, needQuotes } = item;
-
-    const getUrlOptions = []
-      .concat(hash ? [`hash: ${JSON.stringify(hash)}`] : [])
-      .concat(needQuotes ? 'needQuotes: true' : []);
-    const preparedOptions =
-      getUrlOptions.length > 0 ? `, { ${getUrlOptions.join(', ')} }` : '';
-
-    beforeCode += `var ${replacementName} = ___CSS_LOADER_GET_URL_IMPORT___(${importName}${preparedOptions});\n`;
-
-    code = code.replace(
-      new RegExp(replacementName, 'g'),
-      () => `" + ${replacementName} + "`
-    );
-  }
-
-  for (const replacement of icssReplacements) {
-    const { replacementName, importName, localName } = replacement;
-
-    code = code.replace(
-      new RegExp(replacementName, 'g'),
-      () => `" + ${importName}.locals[${JSON.stringify(localName)}] + "`
-    );
+  for (const item of replacements) {
+    const { replacementName, importName, localName } = item;
+
+    if (localName) {
+      code = code.replace(new RegExp(replacementName, 'g'), () =>
+        options.modules.namedExport
+          ? `" + ${importName}_NAMED___[${JSON.stringify(
+              camelCase(localName)
+            )}] + "`
+          : `" + ${importName}.locals[${JSON.stringify(localName)}] + "`
+      );
+    } else {
+      const { hash, needQuotes } = item;
+      const getUrlOptions = []
+        .concat(hash ? [`hash: ${JSON.stringify(hash)}`] : [])
+        .concat(needQuotes ? 'needQuotes: true' : []);
+      const preparedOptions =
+        getUrlOptions.length > 0 ? `, { ${getUrlOptions.join(', ')} }` : '';
+
+      beforeCode += `var ${replacementName} = ___CSS_LOADER_GET_URL_IMPORT___(${importName}${preparedOptions});\n`;
+      code = code.replace(
+        new RegExp(replacementName, 'g'),
+        () => `" + ${replacementName} + "`
+      );
+    }
   }
 
-  return `${beforeCode}// Module\nexports.push([module.id, ${code}, ""${sourceMapValue}]);\n`;
+  return `${beforeCode}// Module\n___CSS_LOADER_EXPORT___.push([module.id, ${code}, ""${sourceMapValue}]);\n`;
 }
 
 function dashesCamelCase(str) {
@@ -342,26 +401,26 @@ function dashesCamelCase(str) {
   );
 }
 
-function getExportCode(
-  exports,
-  exportType,
-  localsConvention,
-  icssReplacements,
-  esModule
-) {
+function getExportCode(exports, replacements, options) {
   let code = '';
   let localsCode = '';
 
   const addExportToLocalsCode = (name, value) => {
-    if (localsCode) {
-      localsCode += `,\n`;
-    }
+    if (options.modules.namedExport) {
+      localsCode += `export const ${camelCase(name)} = ${JSON.stringify(
+        value
+      )};\n`;
+    } else {
+      if (localsCode) {
+        localsCode += `,\n`;
+      }
 
-    localsCode += `\t${JSON.stringify(name)}: ${JSON.stringify(value)}`;
+      localsCode += `\t${JSON.stringify(name)}: ${JSON.stringify(value)}`;
+    }
   };
 
   for (const { name, value } of exports) {
-    switch (localsConvention) {
+    switch (options.modules.exportLocalsConvention) {
       case 'camelCase': {
         addExportToLocalsCode(name, value);
 
@@ -397,39 +456,103 @@ function getExportCode(
     }
   }
 
-  for (const replacement of icssReplacements) {
-    const { replacementName, importName, localName } = replacement;
+  for (const item of replacements) {
+    const { replacementName, localName } = item;
 
-    localsCode = localsCode.replace(new RegExp(replacementName, 'g'), () =>
-      exportType === 'locals'
-        ? `" + ${importName}[${JSON.stringify(localName)}] + "`
-        : `" + ${importName}.locals[${JSON.stringify(localName)}] + "`
-    );
-  }
+    if (localName) {
+      const { importName } = item;
 
-  if (exportType === 'locals') {
-    code += `${esModule ? 'export default' : 'module.exports ='} ${
-      localsCode ? `{\n${localsCode}\n}` : '{}'
-    };\n`;
-  } else {
-    if (localsCode) {
-      code += `exports.locals = {\n${localsCode}\n};\n`;
+      localsCode = localsCode.replace(new RegExp(replacementName, 'g'), () =>
+        options.modules.namedExport
+          ? `" + ${importName}_NAMED___[${JSON.stringify(
+              camelCase(localName)
+            )}] + "`
+          : `" + ${importName}.locals[${JSON.stringify(localName)}] + "`
+      );
+    } else {
+      localsCode = localsCode.replace(
+        new RegExp(replacementName, 'g'),
+        () => `" + ${replacementName} + "`
+      );
     }
+  }
 
-    code += `${esModule ? 'export default' : 'module.exports ='} exports;\n`;
+  if (localsCode) {
+    code += options.modules.namedExport
+      ? `${localsCode}`
+      : `___CSS_LOADER_EXPORT___.locals = {\n${localsCode}\n};\n`;
   }
 
+  code += `${
+    options.esModule ? 'export default' : 'module.exports ='
+  } ___CSS_LOADER_EXPORT___;\n`;
+
   return `// Exports\n${code}`;
 }
 
+async function resolveRequests(resolve, context, possibleRequests) {
+  return resolve(context, possibleRequests[0])
+    .then((result) => {
+      return result;
+    })
+    .catch((error) => {
+      const [, ...tailPossibleRequests] = possibleRequests;
+
+      if (tailPossibleRequests.length === 0) {
+        throw error;
+      }
+
+      return resolveRequests(resolve, context, tailPossibleRequests);
+    });
+}
+
+/*
+ * May be url is server-relative url, but not //example.com
+ * */
+function mayBeServerRelativeUrl(url) {
+  if (url.charAt(0) === '/' && !/^\/\//.test(url)) {
+    return true;
+  }
+
+  return false;
+}
+
+function isUrlRequestable(url) {
+  if (matchNativeWin32Path.test(url)) {
+    return false;
+  }
+
+  if (mayBeServerRelativeUrl(url)) {
+    return true;
+  }
+
+  if (/^file:/i.test(url)) {
+    return true;
+  }
+
+  return isUrlRequest(url);
+}
+
+function sort(a, b) {
+  return a.index - b.index;
+}
+
 export {
+  normalizeOptions,
+  shouldUseModulesPlugins,
+  shouldUseImportPlugin,
+  shouldUseURLPlugin,
   normalizeUrl,
+  requestify,
   getFilter,
+  getModulesOptions,
   getModulesPlugins,
   normalizeSourceMap,
   getPreRequester,
   getImportCode,
   getModuleCode,
   getExportCode,
-  shouldUseModulesPlugins,
+  resolveRequests,
+  isUrlRequestable,
+  sort,
 };
diff --git a/test/__snapshots__/esModule-option.test.js.snap b/test/__snapshots__/esModule-option.test.js.snap
index 9aca855e..f6efb7f9 100644
--- a/test/__snapshots__/esModule-option.test.js.snap
+++ b/test/__snapshots__/esModule-option.test.js.snap
@@ -4,17 +4,17 @@ exports[`"esModule" option should work when not specified: errors 1`] = `Array [
 
 exports[`"esModule" option should work when not specified: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./imported.css\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./imported.css\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n  color: red;\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n  color: red;\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -54,13 +54,13 @@ var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
 var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./imported.css\\");
 var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\");
 var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n  color: red;\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n  color: red;\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+module.exports = ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -100,13 +100,13 @@ import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
 import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./imported.css\\";
 import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../src/runtime/getUrl.js\\";
 import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
-var exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n  color: red;\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n  color: red;\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-export default exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -146,16 +146,16 @@ import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
 import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./imported.css\\";
 import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../src/runtime/getUrl.js\\";
 import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
-var exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n._3S58jeCkC6SOPhVLbU-Bwn {\\\\n  color: red;\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.oFwPvuANP2XsfGir7HPVz {\\\\n  color: red;\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"class\\": \\"_3S58jeCkC6SOPhVLbU-Bwn\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"class\\": \\"oFwPvuANP2XsfGir7HPVz\\"
 };
-export default exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -163,7 +163,7 @@ exports[`"esModule" option should work with a value equal to "true" and the "mod
 Array [
   Array [
     "../../src/index.js?[ident]!./es-module/imported.css",
-    "._3xfjtZ03Dx7Cld7Debi-wl {
+    "._2sn2s-Iv44Mnv3FmSmFVuI {
   color: red;
 }
 ",
@@ -175,7 +175,7 @@ Array [
 
 /* Comment */
 
-._3S58jeCkC6SOPhVLbU-Bwn {
+.oFwPvuANP2XsfGir7HPVz {
   color: red;
   background: url(/webpack/public/path/img.png);
 }
@@ -195,16 +195,16 @@ import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
 import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./imported.css\\";
 import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../src/runtime/getUrl.js\\";
 import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
-var exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n._3S58jeCkC6SOPhVLbU-Bwn {\\\\n  color: red;\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.oFwPvuANP2XsfGir7HPVz {\\\\n  color: red;\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"class\\": \\"_3S58jeCkC6SOPhVLbU-Bwn\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"class\\": \\"oFwPvuANP2XsfGir7HPVz\\"
 };
-export default exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -212,7 +212,7 @@ exports[`"esModule" option should work with a value equal to "true" and the "mod
 Array [
   Array [
     "../../src/index.js?[ident]!./es-module/imported.css",
-    "._3xfjtZ03Dx7Cld7Debi-wl {
+    "._2sn2s-Iv44Mnv3FmSmFVuI {
   color: red;
 }
 ",
@@ -224,7 +224,7 @@ Array [
 
 /* Comment */
 
-._3S58jeCkC6SOPhVLbU-Bwn {
+.oFwPvuANP2XsfGir7HPVz {
   color: red;
   background: url(/webpack/public/path/img.png);
 }
@@ -244,13 +244,13 @@ import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
 import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./imported.css\\";
 import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../src/runtime/getUrl.js\\";
 import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
-var exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n  color: red;\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n  color: red;\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-export default exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -281,3 +281,103 @@ Array [
 `;
 
 exports[`"esModule" option should work with a value equal to "true": warnings 1`] = `Array []`;
+
+exports[`"esModule" option should work with commonjs css-loader + commonjs mini-css-extract-plugin: errors 1`] = `Array []`;
+
+exports[`"esModule" option should work with commonjs css-loader + commonjs mini-css-extract-plugin: result 1`] = `undefined`;
+
+exports[`"esModule" option should work with commonjs css-loader + commonjs mini-css-extract-plugin: warnings 1`] = `Array []`;
+
+exports[`"esModule" option should work with commonjs css-loader + commonjs style-loader: errors 1`] = `Array []`;
+
+exports[`"esModule" option should work with commonjs css-loader + commonjs style-loader: result 1`] = `
+Object {
+  "css": Object {
+    "body": "BwpsNB5_0Pze7vq8KQOAN",
+    "footer": "_10gZ0Ke9A0uqq8u0Z2eRKA",
+    "header-baz": "_2n-RuEOd5cLXo65ILWgtue",
+  },
+  "html": "
+<div class=\\"_2n-RuEOd5cLXo65ILWgtue\\">
+<div class=\\"BwpsNB5_0Pze7vq8KQOAN\\">
+<div class=\\"_10gZ0Ke9A0uqq8u0Z2eRKA\\">
+",
+}
+`;
+
+exports[`"esModule" option should work with commonjs css-loader + commonjs style-loader: warnings 1`] = `Array []`;
+
+exports[`"esModule" option should work with commonjs css-loader + esModule mini-css-extract-plugin: errors 1`] = `Array []`;
+
+exports[`"esModule" option should work with commonjs css-loader + esModule mini-css-extract-plugin: result 1`] = `undefined`;
+
+exports[`"esModule" option should work with commonjs css-loader + esModule mini-css-extract-plugin: warnings 1`] = `Array []`;
+
+exports[`"esModule" option should work with commonjs css-loader + esModule style-loader: errors 1`] = `Array []`;
+
+exports[`"esModule" option should work with commonjs css-loader + esModule style-loader: result 1`] = `
+Object {
+  "css": Object {
+    "body": "BwpsNB5_0Pze7vq8KQOAN",
+    "footer": "_10gZ0Ke9A0uqq8u0Z2eRKA",
+    "header-baz": "_2n-RuEOd5cLXo65ILWgtue",
+  },
+  "html": "
+<div class=\\"_2n-RuEOd5cLXo65ILWgtue\\">
+<div class=\\"BwpsNB5_0Pze7vq8KQOAN\\">
+<div class=\\"_10gZ0Ke9A0uqq8u0Z2eRKA\\">
+",
+}
+`;
+
+exports[`"esModule" option should work with commonjs css-loader + esModule style-loader: warnings 1`] = `Array []`;
+
+exports[`"esModule" option should work with esModule css-loader + commonjs mini-css-extract-plugin: errors 1`] = `Array []`;
+
+exports[`"esModule" option should work with esModule css-loader + commonjs mini-css-extract-plugin: result 1`] = `undefined`;
+
+exports[`"esModule" option should work with esModule css-loader + commonjs mini-css-extract-plugin: warnings 1`] = `Array []`;
+
+exports[`"esModule" option should work with esModule css-loader + commonjs style-loader: errors 1`] = `Array []`;
+
+exports[`"esModule" option should work with esModule css-loader + commonjs style-loader: result 1`] = `
+Object {
+  "css": Object {
+    "body": "BwpsNB5_0Pze7vq8KQOAN",
+    "footer": "_10gZ0Ke9A0uqq8u0Z2eRKA",
+    "header-baz": "_2n-RuEOd5cLXo65ILWgtue",
+  },
+  "html": "
+<div class=\\"_2n-RuEOd5cLXo65ILWgtue\\">
+<div class=\\"BwpsNB5_0Pze7vq8KQOAN\\">
+<div class=\\"_10gZ0Ke9A0uqq8u0Z2eRKA\\">
+",
+}
+`;
+
+exports[`"esModule" option should work with esModule css-loader + commonjs style-loader: warnings 1`] = `Array []`;
+
+exports[`"esModule" option should work with esModule css-loader + esModule mini-css-extract-plugin: errors 1`] = `Array []`;
+
+exports[`"esModule" option should work with esModule css-loader + esModule mini-css-extract-plugin: result 1`] = `undefined`;
+
+exports[`"esModule" option should work with esModule css-loader + esModule mini-css-extract-plugin: warnings 1`] = `Array []`;
+
+exports[`"esModule" option should work with esModule css-loader + esModule style-loader: errors 1`] = `Array []`;
+
+exports[`"esModule" option should work with esModule css-loader + esModule style-loader: result 1`] = `
+Object {
+  "css": Object {
+    "body": "BwpsNB5_0Pze7vq8KQOAN",
+    "footer": "_10gZ0Ke9A0uqq8u0Z2eRKA",
+    "header-baz": "_2n-RuEOd5cLXo65ILWgtue",
+  },
+  "html": "
+<div class=\\"_2n-RuEOd5cLXo65ILWgtue\\">
+<div class=\\"BwpsNB5_0Pze7vq8KQOAN\\">
+<div class=\\"_10gZ0Ke9A0uqq8u0Z2eRKA\\">
+",
+}
+`;
+
+exports[`"esModule" option should work with esModule css-loader + esModule style-loader: warnings 1`] = `Array []`;
diff --git a/test/__snapshots__/icss.test.js.snap b/test/__snapshots__/icss.test.js.snap
index 7dfd9713..d7dd69c6 100644
--- a/test/__snapshots__/icss.test.js.snap
+++ b/test/__snapshots__/icss.test.js.snap
@@ -4,15 +4,15 @@ exports[`ICSS show work with the case "duplicate-export": errors 1`] = `Array []
 
 exports[`ICSS show work with the case "duplicate-export": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"_test\\": \\"_right_value\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -33,15 +33,15 @@ exports[`ICSS show work with the case "duplicate-export-in-multiple-export": err
 
 exports[`ICSS show work with the case "duplicate-export-in-multiple-export": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"_test\\": \\"_right_value\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -62,12 +62,12 @@ exports[`ICSS show work with the case "empty-export": errors 1`] = `Array []`;
 
 exports[`ICSS show work with the case "empty-export": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -88,12 +88,12 @@ exports[`ICSS show work with the case "empty-import": errors 1`] = `Array []`;
 
 exports[`ICSS show work with the case "empty-import": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -114,15 +114,15 @@ exports[`ICSS show work with the case "export": errors 1`] = `Array []`;
 
 exports[`ICSS show work with the case "export": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"_test\\": \\"_test\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -143,16 +143,16 @@ exports[`ICSS show work with the case "export-reserved-keywords": errors 1`] = `
 
 exports[`ICSS show work with the case "export-reserved-keywords": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"constructor\\": \\"constructor\\",
 	\\"toString\\": \\"toString\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -173,17 +173,17 @@ exports[`ICSS show work with the case "import": errors 1`] = `Array []`;
 
 exports[`ICSS show work with the case "import": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./vars.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./vars.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\".className {\\\\n  color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"primary-color\\"] + \\";\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".className {\\\\n  color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"primary-color\\"] + \\";\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"primary-color\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"primary-color\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -212,18 +212,18 @@ exports[`ICSS show work with the case "import-reserved-keywords": errors 1`] = `
 
 exports[`ICSS show work with the case "import-reserved-keywords": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./vars.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./vars.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\".className {\\\\n  color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"primary-color\\"] + \\";\\\\n  display: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"secondary-color\\"] + \\";\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".className {\\\\n  color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"primary-color\\"] + \\";\\\\n  display: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"secondary-color\\"] + \\";\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"primary-color\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"primary-color\\"] + \\"\\",
 	\\"secondary-color\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"secondary-color\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -253,16 +253,16 @@ exports[`ICSS show work with the case "multiple-export": errors 1`] = `Array []`
 
 exports[`ICSS show work with the case "multiple-export": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"_test\\": \\"_test\\",
 	\\"_foo\\": \\"_bar\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -283,19 +283,19 @@ exports[`ICSS show work with the case "multiple-keys-values-in-export": errors 1
 
 exports[`ICSS show work with the case "multiple-keys-values-in-export": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"_test\\": \\"_test\\",
 	\\"_test1\\": \\"1\\",
 	\\"_test2\\": \\"'string'\\",
 	\\"_test3\\": \\"1px 2px 3px\\",
 	\\"_test4\\": \\"1px 2px 3px, 1px 2px 3px\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
diff --git a/test/__snapshots__/import-option.test.js.snap b/test/__snapshots__/import-option.test.js.snap
index 746eca20..fd5cb49c 100644
--- a/test/__snapshots__/import-option.test.js.snap
+++ b/test/__snapshots__/import-option.test.js.snap
@@ -4,27 +4,27 @@ exports[`"import" option should keep original order: errors 1`] = `Array []`;
 
 exports[`"import" option should keep original order: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./order-1.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_1___ = require(\\"-!../../../src/index.js??[ident]!./order-2.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_2___ = require(\\"-!../../../src/index.js??[ident]!./order-3.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_3___ = require(\\"-!../../../src/index.js??[ident]!./order-4.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___);
-exports.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___, \\"screen and (min-width: 2000px)\\");
-exports.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_2___);
-exports.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_3___, \\"screen\\");
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./order-1.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_1___ from \\"-!../../../src/index.js??[ident]!./order-2.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_2___ from \\"-!../../../src/index.js??[ident]!./order-3.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_3___ from \\"-!../../../src/index.js??[ident]!./order-4.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___, \\"screen and (min-width: 2000px)\\");
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_2___);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_3___, \\"screen\\");
 // Module
-exports.push([module.id, \\"div {\\\\n  width: 100%;\\\\n  height: 200px;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"div {\\\\n  width: 100%;\\\\n  height: 200px;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -152,54 +152,264 @@ Array [
 
 exports[`"import" option should keep original order: warnings 1`] = `Array []`;
 
+exports[`"import" option should resolve server-relative url relative rootContext: errors 1`] = `Array []`;
+
+exports[`"import" option should resolve server-relative url relative rootContext: module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./test.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n  a: b c d;\\\\n}\\\\n\\", \\"\\"]);
+// Exports
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"import" option should resolve server-relative url relative rootContext: result 1`] = `
+Array [
+  Array [
+    "../../src/index.js?[ident]!./import/test.css",
+    ".test {
+  a: a;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/test.css",
+    ".test {
+  a: a;
+}
+",
+    "",
+  ],
+  Array [
+    "./import/import-server-relative-url.css",
+    ".class {
+  a: b c d;
+}
+",
+    "",
+  ],
+]
+`;
+
+exports[`"import" option should resolve server-relative url relative rootContext: warnings 1`] = `Array []`;
+
+exports[`"import" option should respect conditionNames: errors 1`] = `Array []`;
+
+exports[`"import" option should respect conditionNames: module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./node_modules/package-with-exports/style.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\"\\\\n\\", \\"\\"]);
+// Exports
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"import" option should respect conditionNames: result 1`] = `
+Array [
+  Array [
+    "../../src/index.js?[ident]!./import/node_modules/package-with-exports/style.css",
+    ".load-me {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "./import/import-conditionNames.css",
+    "
+",
+    "",
+  ],
+]
+`;
+
+exports[`"import" option should respect conditionNames: warnings 1`] = `Array []`;
+
+exports[`"import" option should respect style field in package.json: errors 1`] = `Array []`;
+
+exports[`"import" option should respect style field in package.json: module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\".test {\\\\n  color: coral;\\\\n}\\\\n\\", \\"\\"]);
+// Exports
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"import" option should respect style field in package.json: result 1`] = `
+Array [
+  Array [
+    "../../src/index.js?[ident]!./import/node_modules/issue-683/test.css",
+    ".test {
+  color: coral;
+}
+",
+    "",
+  ],
+  Array [
+    "./import/issue-683.css",
+    "
+",
+    "",
+  ],
+]
+`;
+
+exports[`"import" option should respect style field in package.json: warnings 1`] = `Array []`;
+
+exports[`"import" option should throw an error on unresolved import: errors 1`] = `
+Array [
+  "ModuleBuildError: Module build failed (from \`replaced original path\`):
+Error: Can't resolve 'unresolved-file.css' in '/test/fixtures/import'",
+]
+`;
+
+exports[`"import" option should throw an error on unresolved import: warnings 1`] = `Array []`;
+
+exports[`"import" option should work resolve order: local -> node_modules -> alias: errors 1`] = `Array []`;
+
+exports[`"import" option should work resolve order: local -> node_modules -> alias: module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./test.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_1___ from \\"-!../../../src/index.js??[ident]!./issue-683.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_2___ from \\"-!../../../src/index.js??[ident]!./node_modules/package/tilde.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_2___);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\"\\\\n\\", \\"\\"]);
+// Exports
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"import" option should work resolve order: local -> node_modules -> alias: result 1`] = `
+Array [
+  Array [
+    "../../src/index.js?[ident]!./import/test.css",
+    ".test {
+  a: a;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/node_modules/issue-683/test.css",
+    ".test {
+  color: coral;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/issue-683.css",
+    "
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/node_modules/package/tilde.css",
+    ".tilde {
+  color: yellow;
+}
+",
+    "",
+  ],
+  Array [
+    "./import/import-order.css",
+    "
+",
+    "",
+  ],
+]
+`;
+
+exports[`"import" option should work resolve order: local -> node_modules -> alias: warnings 1`] = `Array []`;
+
 exports[`"import" option should work when "Function": errors 1`] = `Array []`;
 
 exports[`"import" option should work when "Function": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./test-media.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_1___ = require(\\"-!../../../src/index.js??[ident]!./test-other.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_2___ = require(\\"-!../../../src/index.js??[ident]!./query.css?foo=1&bar=1\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_3___ = require(\\"-!../../../src/index.js??[ident]!./other-query.css?foo=1&bar=1#hash\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_4___ = require(\\"-!../../../src/index.js??[ident]!./relative.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_5___ = require(\\"-!../../../src/index.js??[ident]!../import/top-relative.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_6___ = require(\\"-!../../../src/index.js??[ident]!package/tilde.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_7___ = require(\\"-!../../../src/index.js??[ident]!aliasesImport/alias.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_8___ = require(\\"-!../../../src/index.js??[ident]!./url.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_9___ = require(\\"-!../../../src/index.js??[ident]!./te'st.css\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and (orientation:landscape)\\");
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___, \\"(min-width: 100px)\\");
-exports.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
-exports.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
-exports.push([module.id, \\"@import url(http://example.com/style.css#hash);\\"]);
-exports.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\"]);
-exports.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\"]);
-exports.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and (orientation:landscape)\\"]);
-exports.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and (orientation:landscape)\\"]);
-exports.push([module.id, \\"@import url(//example.com/style.css);\\"]);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_2___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_3___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_3___, \\"screen and (orientation:landscape)\\");
-exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\"]);
-exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\"]);
-exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\"]);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_4___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_5___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_6___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_7___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_8___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_9___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_9___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_9___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_9___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./test-media.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_1___ from \\"-!../../../src/index.js??[ident]!./test-other.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_2___ from \\"-!../../../src/index.js??[ident]!./query.css?foo=1&bar=1\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_3___ from \\"-!../../../src/index.js??[ident]!./other-query.css?foo=1&bar=1#hash\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_4___ from \\"-!../../../src/index.js??[ident]!./relative.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_5___ from \\"-!../../../src/index.js??[ident]!./top-relative.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_6___ from \\"-!../../../src/index.js??[ident]!./node_modules/package/tilde.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_7___ from \\"-!../../../src/index.js??[ident]!./alias.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_8___ from \\"-!../../../src/index.js??[ident]!./url.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_9___ from \\"-!../../../src/index.js??[ident]!./te'st.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_10___ from \\"-!../../../src/index.js??[ident]!./node_modules/package/tilde.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_11___ from \\"-!../../../src/index.js??[ident]!./something.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_12___ from \\"-!../../../src/index.js??[ident]!./something.css?foo=bar\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_13___ from \\"-!../../../src/index.js??[ident]!./something.css?foo=bar#hash\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_14___ from \\"-!../../../src/index.js??[ident]!./something.css?bar=foo\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_15___ from \\"-!../../../src/index.js??[ident]!./something.css?foo=bar#one\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_16___ from \\"-!../../../src/index.js??[ident]!./something.css?foo=bar#two\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_17___ from \\"-!../../../src/index.js??[ident]!./something.css?foo=1&bar=2\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_18___ from \\"-!../../../src/index.js??[ident]!./something.css?foo=2&bar=1\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and (orientation:landscape)\\");
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___, \\"(min-width: 100px)\\");
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css#hash);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and (orientation:landscape)\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and (orientation:landscape)\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(//example.com/style.css);\\"]);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_2___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_3___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_3___, \\"screen and (orientation:landscape)\\");
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\"]);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_4___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_5___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_6___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_7___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_8___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_9___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_9___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_9___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_9___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_10___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_13___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_13___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_14___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_15___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_16___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_17___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_18___);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"@import url(test.css);\\\\n@import url('test.css');\\\\n@import url(\\\\\\"test.css\\\\\\");\\\\n@IMPORT url(test.css);\\\\n@import URL(test.css);\\\\n@import url(test.css );\\\\n@import url( test.css);\\\\n@import url( test.css );\\\\n@import url(\\\\n  test.css\\\\n);\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import \\\\\\"test.css\\\\\\";\\\\n@import 'test.css';\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\"   \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import url(test.css) screen and (orientation:landscape);\\\\n@import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);\\\\n@import url(test.css)screen and (orientation:landscape);\\\\n@import url(test.css)  screen and (orientation:landscape);\\\\n@import url(~package/test.css);\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n  a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n  @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n@import url(./test.css);\\\\n\\\\n@import './te\\\\\\\\\\\\nst.css';\\\\n@import './te\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\nst.css';\\\\n@import url('./te\\\\\\\\\\\\nst.css');\\\\n@import url('./te\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\nst.css');\\\\n@import './test test.css';\\\\n@import url('./test test.css');\\\\n@import './test\\\\\\\\ test.css';\\\\n@import url('./test\\\\\\\\ test.css');\\\\n@import './test%20test.css';\\\\n@import url('./test%20test.css');\\\\n@import './\\\\\\\\74\\\\\\\\65\\\\\\\\73\\\\\\\\74.css';\\\\n@import url('./\\\\\\\\74\\\\\\\\65\\\\\\\\73\\\\\\\\74.css');\\\\n@import './t\\\\\\\\65\\\\\\\\73\\\\\\\\74.css';\\\\n@import url('./t\\\\\\\\65\\\\\\\\73\\\\\\\\74.css');\\\\n@import url(./test\\\\\\\\ test.css);\\\\n@import url(./t\\\\\\\\65st%20test.css);\\\\n@import url('./t\\\\\\\\65st%20test.css');\\\\n@import url(\\\\\\"./t\\\\\\\\65st%20test.css\\\\\\");\\\\n@import \\\\\\"./t\\\\\\\\65st%20test.css\\\\\\";\\\\n@import './t\\\\\\\\65st%20test.css';\\\\n@import url(                 test.css                      );\\\\n@import nourl(test.css);\\\\n/* TODO need fix */\\\\n/*@import '\\\\\\\\*/\\\\n/*\\\\\\\\*/\\\\n/*\\\\\\\\*/\\\\n/*';*/\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(test.css);\\\\n@import url('test.css');\\\\n@import url(\\\\\\"test.css\\\\\\");\\\\n@IMPORT url(test.css);\\\\n@import URL(test.css);\\\\n@import url(test.css );\\\\n@import url( test.css);\\\\n@import url( test.css );\\\\n@import url(\\\\n  test.css\\\\n);\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import \\\\\\"test.css\\\\\\";\\\\n@import 'test.css';\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\"   \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import url(test.css) screen and (orientation:landscape);\\\\n@import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);\\\\n@import url(test.css)screen and (orientation:landscape);\\\\n@import url(test.css)  screen and (orientation:landscape);\\\\n@import url(~package/test.css);\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n  a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n  @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n@import url(./test.css);\\\\n\\\\n@import './te\\\\\\\\\\\\nst.css';\\\\n@import './te\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\nst.css';\\\\n@import url('./te\\\\\\\\\\\\nst.css');\\\\n@import url('./te\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\nst.css');\\\\n@import './test test.css';\\\\n@import url('./test test.css');\\\\n@import './test\\\\\\\\ test.css';\\\\n@import url('./test\\\\\\\\ test.css');\\\\n@import './test%20test.css';\\\\n@import url('./test%20test.css');\\\\n@import './\\\\\\\\74\\\\\\\\65\\\\\\\\73\\\\\\\\74.css';\\\\n@import url('./\\\\\\\\74\\\\\\\\65\\\\\\\\73\\\\\\\\74.css');\\\\n@import './t\\\\\\\\65\\\\\\\\73\\\\\\\\74.css';\\\\n@import url('./t\\\\\\\\65\\\\\\\\73\\\\\\\\74.css');\\\\n@import url(./test\\\\\\\\ test.css);\\\\n@import url(./t\\\\\\\\65st%20test.css);\\\\n@import url('./t\\\\\\\\65st%20test.css');\\\\n@import url(\\\\\\"./t\\\\\\\\65st%20test.css\\\\\\");\\\\n@import \\\\\\"./t\\\\\\\\65st%20test.css\\\\\\";\\\\n@import './t\\\\\\\\65st%20test.css';\\\\n@import url(                 test.css                      );\\\\n@import nourl(test.css);\\\\n@import '\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n';\\\\n@import url(test.css?foo=bar);\\\\n@import url(test.css?foo=bar#hash);\\\\n@import url(test.css?#hash);\\\\n@import \\\\\\"test.css\\\\\\" supports(display: flex);\\\\n@import \\\\\\"test.css\\\\\\" supports(display: flex) screen and (orientation:landscape);\\\\n\\\\n/* Should be one import and two css modules */\\\\n\\\\n/* Should be one import and two css modules */\\\\n\\\\n/* Should be one import and two css modules */\\\\n\\\\n/* Should be two import and two css modules */\\\\n\\\\n/* Should be two import and two css modules */\\\\n\\\\n/* Should be two import and two css modules */\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -368,6 +578,107 @@ Array [
     ".strange {
   color: red;
 }
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/node_modules/package/tilde.css",
+    "a { color: red };",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar#hash",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar#hash",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?bar=foo",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar#one",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar#two",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=1&bar=2",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=2&bar=1",
+    ".my-box {
+  color: red;
+}
 ",
     "",
   ],
@@ -451,11 +762,27 @@ st.css');
 @import './t\\\\65st%20test.css';
 @import url(                 test.css                      );
 @import nourl(test.css);
-/* TODO need fix */
-/*@import '\\\\*/
-/*\\\\*/
-/*\\\\*/
-/*';*/
+@import '\\\\
+\\\\
+\\\\
+';
+@import url(test.css?foo=bar);
+@import url(test.css?foo=bar#hash);
+@import url(test.css?#hash);
+@import \\"test.css\\" supports(display: flex);
+@import \\"test.css\\" supports(display: flex) screen and (orientation:landscape);
+
+/* Should be one import and two css modules */
+
+/* Should be one import and two css modules */
+
+/* Should be one import and two css modules */
+
+/* Should be two import and two css modules */
+
+/* Should be two import and two css modules */
+
+/* Should be two import and two css modules */
 ",
     "",
   ],
@@ -471,6 +798,13 @@ Warning
   "ModuleWarning: Module Warning (from \`replaced original path\`):
 Warning
 
+(106:1) Unable to find uri in \\"@import '\\\\
+\\\\
+\\\\
+'\\"",
+  "ModuleWarning: Module Warning (from \`replaced original path\`):
+Warning
+
 (12:1) Unable to find uri in \\"@import url()\\"",
   "ModuleWarning: Module Warning (from \`replaced original path\`):
 Warning
@@ -528,91 +862,121 @@ exports[`"import" option should work when not specified: errors 1`] = `Array []`
 
 exports[`"import" option should work when not specified: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./test.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_1___ = require(\\"-!../../../src/index.js??[ident]!./test-media.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_2___ = require(\\"-!../../../src/index.js??[ident]!./test-other.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_3___ = require(\\"-!../../../src/index.js??[ident]!package/test.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_4___ = require(\\"-!../../../src/index.js??[ident]!./query.css?foo=1&bar=1\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_5___ = require(\\"-!../../../src/index.js??[ident]!./other-query.css?foo=1&bar=1#hash\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_6___ = require(\\"-!../../../src/index.js??[ident]!./relative.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_7___ = require(\\"-!../../../src/index.js??[ident]!../import/top-relative.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_8___ = require(\\"-!../../../src/index.js??[ident]!package/tilde.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_9___ = require(\\"-!../../../src/index.js??[ident]!aliasesImport/alias.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_10___ = require(\\"-!../../../src/index.js??[ident]!./url.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_11___ = require(\\"-!../../../src/index.js??[ident]!./te'st.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_12___ = require(\\"-!../../../src/index.js??[ident]!./test test.css\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and (orientation:landscape)\\");
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and (orientation: landscape)\\");
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and (orientation:landscape)\\");
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and (orientation:landscape)\\");
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___, \\"screen and (orientation:landscape)\\");
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_2___, \\"(min-width: 100px)\\");
-exports.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
-exports.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
-exports.push([module.id, \\"@import url(http://example.com/style.css#hash);\\"]);
-exports.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\"]);
-exports.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\"]);
-exports.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and (orientation:landscape)\\"]);
-exports.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and (orientation:landscape)\\"]);
-exports.push([module.id, \\"@import url(//example.com/style.css);\\"]);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_3___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_4___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_5___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_5___, \\"screen and (orientation:landscape)\\");
-exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\"]);
-exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\"]);
-exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\"]);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_6___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_7___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_8___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_9___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_10___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_11___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_11___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_11___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_11___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./test.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_1___ from \\"-!../../../src/index.js??[ident]!./test-media.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_2___ from \\"-!../../../src/index.js??[ident]!./test-other.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_3___ from \\"-!../../../src/index.js??[ident]!./node_modules/package/test.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_4___ from \\"-!../../../src/index.js??[ident]!./query.css?foo=1&bar=1\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_5___ from \\"-!../../../src/index.js??[ident]!./other-query.css?foo=1&bar=1#hash\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_6___ from \\"-!../../../src/index.js??[ident]!./relative.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_7___ from \\"-!../../../src/index.js??[ident]!./top-relative.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_8___ from \\"-!../../../src/index.js??[ident]!./node_modules/package/tilde.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_9___ from \\"-!../../../src/index.js??[ident]!./alias.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_10___ from \\"-!../../../src/index.js??[ident]!./url.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_11___ from \\"-!../../../src/index.js??[ident]!./te'st.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_12___ from \\"-!../../../src/index.js??[ident]!./test test.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_13___ from \\"-!../../../src/index.js??[ident]!./node_modules/package/tilde.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_14___ from \\"-!../../../src/index.js??[ident]!./test.css?foo=bar\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_15___ from \\"-!../../../src/index.js??[ident]!./test.css?foo=bar#hash\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_16___ from \\"-!../../../src/index.js??[ident]!./test.css?#hash\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_17___ from \\"-!../../../src/index.js??[ident]!./something.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_18___ from \\"-!../../../src/index.js??[ident]!./something.css?foo=bar\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_19___ from \\"-!../../../src/index.js??[ident]!./something.css?foo=bar#hash\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_20___ from \\"-!../../../src/index.js??[ident]!./something.css?bar=foo\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_21___ from \\"-!../../../src/index.js??[ident]!./something.css?foo=bar#one\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_22___ from \\"-!../../../src/index.js??[ident]!./something.css?foo=bar#two\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_23___ from \\"-!../../../src/index.js??[ident]!./something.css?foo=1&bar=2\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_24___ from \\"-!../../../src/index.js??[ident]!./something.css?foo=2&bar=1\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and (orientation:landscape)\\");
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and (orientation: landscape)\\");
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and (orientation:landscape)\\");
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and (orientation:landscape)\\");
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___, \\"screen and (orientation:landscape)\\");
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_2___, \\"(min-width: 100px)\\");
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css#hash);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and (orientation:landscape)\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and (orientation:landscape)\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(//example.com/style.css);\\"]);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_3___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_4___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_5___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_5___, \\"screen and (orientation:landscape)\\");
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\"]);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_6___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_7___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_8___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_9___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_10___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_13___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_14___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_15___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_16___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"supports(display: flex)\\");
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"supports(display: flex) screen and (orientation:landscape)\\");
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_17___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_17___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_18___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_18___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_19___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_19___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_18___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_20___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_21___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_22___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_23___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_24___);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\"   \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n  a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n  @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n@import nourl(test.css);\\\\n/* TODO need fix */\\\\n/*@import '\\\\\\\\*/\\\\n/*\\\\\\\\*/\\\\n/*\\\\\\\\*/\\\\n/*';*/\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\"   \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n  a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n  @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n@import nourl(test.css);\\\\n@import '\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n';\\\\n\\\\n/* Should be one import and two css modules */\\\\n\\\\n/* Should be one import and two css modules */\\\\n\\\\n/* Should be one import and two css modules */\\\\n\\\\n/* Should be two import and two css modules */\\\\n\\\\n/* Should be two import and two css modules */\\\\n\\\\n/* Should be two import and two css modules */\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -1085,6 +1449,147 @@ Array [
     ".test {
   a: a;
 }
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/node_modules/package/tilde.css",
+    "a { color: red };",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/test.css?foo=bar",
+    ".test {
+  a: a;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/test.css?foo=bar#hash",
+    ".test {
+  a: a;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/test.css?#hash",
+    ".test {
+  a: a;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/test.css",
+    ".test {
+  a: a;
+}
+",
+    "supports(display: flex)",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/test.css",
+    ".test {
+  a: a;
+}
+",
+    "supports(display: flex) screen and (orientation:landscape)",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar#hash",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar#hash",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?bar=foo",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar#one",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar#two",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=1&bar=2",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=2&bar=1",
+    ".my-box {
+  color: red;
+}
 ",
     "",
   ],
@@ -1118,11 +1623,22 @@ Array [
   background: url(/webpack/public/path/img.png);
 }
 @import nourl(test.css);
-/* TODO need fix */
-/*@import '\\\\*/
-/*\\\\*/
-/*\\\\*/
-/*';*/
+@import '\\\\
+\\\\
+\\\\
+';
+
+/* Should be one import and two css modules */
+
+/* Should be one import and two css modules */
+
+/* Should be one import and two css modules */
+
+/* Should be two import and two css modules */
+
+/* Should be two import and two css modules */
+
+/* Should be two import and two css modules */
 ",
     "",
   ],
@@ -1138,6 +1654,13 @@ Warning
   "ModuleWarning: Module Warning (from \`replaced original path\`):
 Warning
 
+(106:1) Unable to find uri in \\"@import '\\\\
+\\\\
+\\\\
+'\\"",
+  "ModuleWarning: Module Warning (from \`replaced original path\`):
+Warning
+
 (12:1) Unable to find uri in \\"@import url()\\"",
   "ModuleWarning: Module Warning (from \`replaced original path\`):
 Warning
@@ -1195,15 +1718,15 @@ exports[`"import" option should work with a value equal to "false": errors 1`] =
 
 exports[`"import" option should work with a value equal to "false": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"@import url(test.css);\\\\n@import url('test.css');\\\\n@import url(\\\\\\"test.css\\\\\\");\\\\n@IMPORT url(test.css);\\\\n@import URL(test.css);\\\\n@import url(test.css );\\\\n@import url( test.css);\\\\n@import url( test.css );\\\\n@import url(\\\\n  test.css\\\\n);\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import \\\\\\"test.css\\\\\\";\\\\n@import 'test.css';\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\"   \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import url(test.css) screen and (orientation:landscape);\\\\n@import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);\\\\n@import url(test.css)screen and (orientation:landscape);\\\\n@import url(test.css)  screen and (orientation:landscape);\\\\n@import url(test-media.css) screen and (orientation:landscape);\\\\n@import url(test-other.css) (min-width: 100px);\\\\n@import url(http://example.com/style.css);\\\\n@import url(http://example.com/style.css);\\\\n@import url(http://example.com/style.css#hash);\\\\n@import url(http://example.com/style.css?#hash);\\\\n@import url(http://example.com/style.css?foo=bar#hash);\\\\n@import url(http://example.com/other-style.css) screen and (orientation:landscape);\\\\n@import url(http://example.com/other-style.css) screen and (orientation:landscape);\\\\n@import url(\\\\\\"//example.com/style.css\\\\\\");\\\\n@import url(~package/test.css);\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n@import url('query.css?foo=1&bar=1');\\\\n@import url('other-query.css?foo=1&bar=1#hash');\\\\n@import url('other-query.css?foo=1&bar=1#hash') screen and (orientation:landscape);\\\\n@import url('https://fonts.googleapis.com/css?family=Roboto');\\\\n@import url('https://fonts.googleapis.com/css?family=Noto+Sans+TC');\\\\n@import url('https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto');\\\\n\\\\n.class {\\\\n  a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n  @import 'path.css';\\\\n}\\\\n\\\\n@import url('./relative.css');\\\\n@import url('../import/top-relative.css');\\\\n@import url(~package/tilde.css);\\\\n@import url(~aliasesImport/alias.css);\\\\n@import url('./url.css');\\\\n\\\\n.background {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n@import url(./test.css);\\\\n\\\\n@import './te\\\\\\\\\\\\nst.css';\\\\n@import './te\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\nst.css';\\\\n@import url('./te\\\\\\\\\\\\nst.css');\\\\n@import url('./te\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\nst.css');\\\\n\\\\n@import \\\\\\"./te'st.css\\\\\\";\\\\n@import url(\\\\\\"./te'st.css\\\\\\");\\\\n@import './te\\\\\\\\'st.css';\\\\n@import url('./te\\\\\\\\'st.css');\\\\n@import './test test.css';\\\\n@import url('./test test.css');\\\\n@import './test\\\\\\\\ test.css';\\\\n@import url('./test\\\\\\\\ test.css');\\\\n@import './test%20test.css';\\\\n@import url('./test%20test.css');\\\\n@import './\\\\\\\\74\\\\\\\\65\\\\\\\\73\\\\\\\\74.css';\\\\n@import url('./\\\\\\\\74\\\\\\\\65\\\\\\\\73\\\\\\\\74.css');\\\\n@import './t\\\\\\\\65\\\\\\\\73\\\\\\\\74.css';\\\\n@import url('./t\\\\\\\\65\\\\\\\\73\\\\\\\\74.css');\\\\n@import url(./test\\\\\\\\ test.css);\\\\n@import url(./t\\\\\\\\65st%20test.css);\\\\n@import url('./t\\\\\\\\65st%20test.css');\\\\n@import url(\\\\\\"./t\\\\\\\\65st%20test.css\\\\\\");\\\\n@import \\\\\\"./t\\\\\\\\65st%20test.css\\\\\\";\\\\n@import './t\\\\\\\\65st%20test.css';\\\\n@import url(                 test.css                      );\\\\n@import nourl(test.css);\\\\n/* TODO need fix */\\\\n/*@import '\\\\\\\\*/\\\\n/*\\\\\\\\*/\\\\n/*\\\\\\\\*/\\\\n/*';*/\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(test.css);\\\\n@import url('test.css');\\\\n@import url(\\\\\\"test.css\\\\\\");\\\\n@IMPORT url(test.css);\\\\n@import URL(test.css);\\\\n@import url(test.css );\\\\n@import url( test.css);\\\\n@import url( test.css );\\\\n@import url(\\\\n  test.css\\\\n);\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import \\\\\\"test.css\\\\\\";\\\\n@import 'test.css';\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\"   \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import url(test.css) screen and (orientation:landscape);\\\\n@import url(test.css) SCREEN AND (ORIENTATION: LANDSCAPE);\\\\n@import url(test.css)screen and (orientation:landscape);\\\\n@import url(test.css)  screen and (orientation:landscape);\\\\n@import url(test-media.css) screen and (orientation:landscape);\\\\n@import url(test-other.css) (min-width: 100px);\\\\n@import url(http://example.com/style.css);\\\\n@import url(http://example.com/style.css);\\\\n@import url(http://example.com/style.css#hash);\\\\n@import url(http://example.com/style.css?#hash);\\\\n@import url(http://example.com/style.css?foo=bar#hash);\\\\n@import url(http://example.com/other-style.css) screen and (orientation:landscape);\\\\n@import url(http://example.com/other-style.css) screen and (orientation:landscape);\\\\n@import url(\\\\\\"//example.com/style.css\\\\\\");\\\\n@import url(~package/test.css);\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n@import url('query.css?foo=1&bar=1');\\\\n@import url('other-query.css?foo=1&bar=1#hash');\\\\n@import url('other-query.css?foo=1&bar=1#hash') screen and (orientation:landscape);\\\\n@import url('https://fonts.googleapis.com/css?family=Roboto');\\\\n@import url('https://fonts.googleapis.com/css?family=Noto+Sans+TC');\\\\n@import url('https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto');\\\\n\\\\n.class {\\\\n  a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n  @import 'path.css';\\\\n}\\\\n\\\\n@import url('./relative.css');\\\\n@import url('../import/top-relative.css');\\\\n@import url(~package/tilde.css);\\\\n@import url(~aliasesImport/alias.css);\\\\n@import url('./url.css');\\\\n\\\\n.background {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n@import url(./test.css);\\\\n\\\\n@import './te\\\\\\\\\\\\nst.css';\\\\n@import './te\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\nst.css';\\\\n@import url('./te\\\\\\\\\\\\nst.css');\\\\n@import url('./te\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\nst.css');\\\\n\\\\n@import \\\\\\"./te'st.css\\\\\\";\\\\n@import url(\\\\\\"./te'st.css\\\\\\");\\\\n@import './te\\\\\\\\'st.css';\\\\n@import url('./te\\\\\\\\'st.css');\\\\n@import './test test.css';\\\\n@import url('./test test.css');\\\\n@import './test\\\\\\\\ test.css';\\\\n@import url('./test\\\\\\\\ test.css');\\\\n@import './test%20test.css';\\\\n@import url('./test%20test.css');\\\\n@import './\\\\\\\\74\\\\\\\\65\\\\\\\\73\\\\\\\\74.css';\\\\n@import url('./\\\\\\\\74\\\\\\\\65\\\\\\\\73\\\\\\\\74.css');\\\\n@import './t\\\\\\\\65\\\\\\\\73\\\\\\\\74.css';\\\\n@import url('./t\\\\\\\\65\\\\\\\\73\\\\\\\\74.css');\\\\n@import url(./test\\\\\\\\ test.css);\\\\n@import url(./t\\\\\\\\65st%20test.css);\\\\n@import url('./t\\\\\\\\65st%20test.css');\\\\n@import url(\\\\\\"./t\\\\\\\\65st%20test.css\\\\\\");\\\\n@import \\\\\\"./t\\\\\\\\65st%20test.css\\\\\\";\\\\n@import './t\\\\\\\\65st%20test.css';\\\\n@import url(                 test.css                      );\\\\n@import nourl(test.css);\\\\n@import '\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n';\\\\n@import url('!!../../helpers/string-loader.js?esModule=false!~package/tilde.css');\\\\n@import url(test.css?foo=bar);\\\\n@import url(test.css?foo=bar#hash);\\\\n@import url(test.css?#hash);\\\\n@import \\\\\\"test.css\\\\\\" supports(display: flex);\\\\n@import \\\\\\"test.css\\\\\\" supports(display: flex) screen and (orientation:landscape);\\\\n\\\\n/* Should be one import and two css modules */\\\\n\\\\n@import url('something.css');\\\\n@import url('something.css');\\\\n\\\\n/* Should be one import and two css modules */\\\\n\\\\n@import url('something.css?foo=bar');\\\\n@import url('something.css?foo=bar');\\\\n\\\\n/* Should be one import and two css modules */\\\\n\\\\n@import url('something.css?foo=bar#hash');\\\\n@import url('something.css?foo=bar#hash');\\\\n\\\\n/* Should be two import and two css modules */\\\\n\\\\n@import url('something.css?foo=bar');\\\\n@import url('something.css?bar=foo');\\\\n\\\\n/* Should be two import and two css modules */\\\\n\\\\n@import url('something.css?foo=bar#one');\\\\n@import url('something.css?foo=bar#two');\\\\n\\\\n/* Should be two import and two css modules */\\\\n\\\\n@import url('something.css?foo=1&bar=2');\\\\n@import url('something.css?foo=2&bar=1');\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -1316,11 +1839,46 @@ st.css');
 @import './t\\\\65st%20test.css';
 @import url(                 test.css                      );
 @import nourl(test.css);
-/* TODO need fix */
-/*@import '\\\\*/
-/*\\\\*/
-/*\\\\*/
-/*';*/
+@import '\\\\
+\\\\
+\\\\
+';
+@import url('!!../../helpers/string-loader.js?esModule=false!~package/tilde.css');
+@import url(test.css?foo=bar);
+@import url(test.css?foo=bar#hash);
+@import url(test.css?#hash);
+@import \\"test.css\\" supports(display: flex);
+@import \\"test.css\\" supports(display: flex) screen and (orientation:landscape);
+
+/* Should be one import and two css modules */
+
+@import url('something.css');
+@import url('something.css');
+
+/* Should be one import and two css modules */
+
+@import url('something.css?foo=bar');
+@import url('something.css?foo=bar');
+
+/* Should be one import and two css modules */
+
+@import url('something.css?foo=bar#hash');
+@import url('something.css?foo=bar#hash');
+
+/* Should be two import and two css modules */
+
+@import url('something.css?foo=bar');
+@import url('something.css?bar=foo');
+
+/* Should be two import and two css modules */
+
+@import url('something.css?foo=bar#one');
+@import url('something.css?foo=bar#two');
+
+/* Should be two import and two css modules */
+
+@import url('something.css?foo=1&bar=2');
+@import url('something.css?foo=2&bar=1');
 ",
     "",
   ],
@@ -1333,91 +1891,121 @@ exports[`"import" option should work with a value equal to "true": errors 1`] =
 
 exports[`"import" option should work with a value equal to "true": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./test.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_1___ = require(\\"-!../../../src/index.js??[ident]!./test-media.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_2___ = require(\\"-!../../../src/index.js??[ident]!./test-other.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_3___ = require(\\"-!../../../src/index.js??[ident]!package/test.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_4___ = require(\\"-!../../../src/index.js??[ident]!./query.css?foo=1&bar=1\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_5___ = require(\\"-!../../../src/index.js??[ident]!./other-query.css?foo=1&bar=1#hash\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_6___ = require(\\"-!../../../src/index.js??[ident]!./relative.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_7___ = require(\\"-!../../../src/index.js??[ident]!../import/top-relative.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_8___ = require(\\"-!../../../src/index.js??[ident]!package/tilde.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_9___ = require(\\"-!../../../src/index.js??[ident]!aliasesImport/alias.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_10___ = require(\\"-!../../../src/index.js??[ident]!./url.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_11___ = require(\\"-!../../../src/index.js??[ident]!./te'st.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_12___ = require(\\"-!../../../src/index.js??[ident]!./test test.css\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and (orientation:landscape)\\");
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and (orientation: landscape)\\");
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and (orientation:landscape)\\");
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and (orientation:landscape)\\");
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___, \\"screen and (orientation:landscape)\\");
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_2___, \\"(min-width: 100px)\\");
-exports.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
-exports.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
-exports.push([module.id, \\"@import url(http://example.com/style.css#hash);\\"]);
-exports.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\"]);
-exports.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\"]);
-exports.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and (orientation:landscape)\\"]);
-exports.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and (orientation:landscape)\\"]);
-exports.push([module.id, \\"@import url(//example.com/style.css);\\"]);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_3___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_4___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_5___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_5___, \\"screen and (orientation:landscape)\\");
-exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\"]);
-exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\"]);
-exports.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\"]);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_6___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_7___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_8___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_9___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_10___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_11___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_11___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_11___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_11___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./test.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_1___ from \\"-!../../../src/index.js??[ident]!./test-media.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_2___ from \\"-!../../../src/index.js??[ident]!./test-other.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_3___ from \\"-!../../../src/index.js??[ident]!./node_modules/package/test.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_4___ from \\"-!../../../src/index.js??[ident]!./query.css?foo=1&bar=1\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_5___ from \\"-!../../../src/index.js??[ident]!./other-query.css?foo=1&bar=1#hash\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_6___ from \\"-!../../../src/index.js??[ident]!./relative.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_7___ from \\"-!../../../src/index.js??[ident]!./top-relative.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_8___ from \\"-!../../../src/index.js??[ident]!./node_modules/package/tilde.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_9___ from \\"-!../../../src/index.js??[ident]!./alias.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_10___ from \\"-!../../../src/index.js??[ident]!./url.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_11___ from \\"-!../../../src/index.js??[ident]!./te'st.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_12___ from \\"-!../../../src/index.js??[ident]!./test test.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_13___ from \\"-!../../../src/index.js??[ident]!./node_modules/package/tilde.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_14___ from \\"-!../../../src/index.js??[ident]!./test.css?foo=bar\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_15___ from \\"-!../../../src/index.js??[ident]!./test.css?foo=bar#hash\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_16___ from \\"-!../../../src/index.js??[ident]!./test.css?#hash\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_17___ from \\"-!../../../src/index.js??[ident]!./something.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_18___ from \\"-!../../../src/index.js??[ident]!./something.css?foo=bar\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_19___ from \\"-!../../../src/index.js??[ident]!./something.css?foo=bar#hash\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_20___ from \\"-!../../../src/index.js??[ident]!./something.css?bar=foo\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_21___ from \\"-!../../../src/index.js??[ident]!./something.css?foo=bar#one\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_22___ from \\"-!../../../src/index.js??[ident]!./something.css?foo=bar#two\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_23___ from \\"-!../../../src/index.js??[ident]!./something.css?foo=1&bar=2\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_24___ from \\"-!../../../src/index.js??[ident]!./something.css?foo=2&bar=1\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and (orientation:landscape)\\");
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and (orientation: landscape)\\");
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and (orientation:landscape)\\");
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"screen and (orientation:landscape)\\");
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___, \\"screen and (orientation:landscape)\\");
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_2___, \\"(min-width: 100px)\\");
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css#hash);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css?#hash);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/style.css?foo=bar#hash);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and (orientation:landscape)\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(http://example.com/other-style.css);\\", \\"screen and (orientation:landscape)\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(//example.com/style.css);\\"]);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_3___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_4___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_5___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_5___, \\"screen and (orientation:landscape)\\");
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Roboto);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC);\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url(https://fonts.googleapis.com/css?family=Noto+Sans+TC|Roboto);\\"]);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_6___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_7___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_8___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_9___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_10___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_11___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_12___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_13___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_14___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_15___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_16___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"supports(display: flex)\\");
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"supports(display: flex) screen and (orientation:landscape)\\");
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_17___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_17___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_18___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_18___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_19___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_19___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_18___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_20___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_21___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_22___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_23___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_24___);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\"   \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n  a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n  @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n@import nourl(test.css);\\\\n/* TODO need fix */\\\\n/*@import '\\\\\\\\*/\\\\n/*\\\\\\\\*/\\\\n/*\\\\\\\\*/\\\\n/*';*/\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\"   \\\\\\";\\\\n@import \\\\\\"\\\\n\\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n  a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n  @import 'path.css';\\\\n}\\\\n\\\\n.background {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n@import nourl(test.css);\\\\n@import '\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n';\\\\n\\\\n/* Should be one import and two css modules */\\\\n\\\\n/* Should be one import and two css modules */\\\\n\\\\n/* Should be one import and two css modules */\\\\n\\\\n/* Should be two import and two css modules */\\\\n\\\\n/* Should be two import and two css modules */\\\\n\\\\n/* Should be two import and two css modules */\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -1890,6 +2478,147 @@ Array [
     ".test {
   a: a;
 }
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/node_modules/package/tilde.css",
+    "a { color: red };",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/test.css?foo=bar",
+    ".test {
+  a: a;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/test.css?foo=bar#hash",
+    ".test {
+  a: a;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/test.css?#hash",
+    ".test {
+  a: a;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/test.css",
+    ".test {
+  a: a;
+}
+",
+    "supports(display: flex)",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/test.css",
+    ".test {
+  a: a;
+}
+",
+    "supports(display: flex) screen and (orientation:landscape)",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar#hash",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar#hash",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?bar=foo",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar#one",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=bar#two",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=1&bar=2",
+    ".my-box {
+  color: red;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./import/something.css?foo=2&bar=1",
+    ".my-box {
+  color: red;
+}
 ",
     "",
   ],
@@ -1923,11 +2652,22 @@ Array [
   background: url(/webpack/public/path/img.png);
 }
 @import nourl(test.css);
-/* TODO need fix */
-/*@import '\\\\*/
-/*\\\\*/
-/*\\\\*/
-/*';*/
+@import '\\\\
+\\\\
+\\\\
+';
+
+/* Should be one import and two css modules */
+
+/* Should be one import and two css modules */
+
+/* Should be one import and two css modules */
+
+/* Should be two import and two css modules */
+
+/* Should be two import and two css modules */
+
+/* Should be two import and two css modules */
 ",
     "",
   ],
@@ -1943,6 +2683,13 @@ Warning
   "ModuleWarning: Module Warning (from \`replaced original path\`):
 Warning
 
+(106:1) Unable to find uri in \\"@import '\\\\
+\\\\
+\\\\
+'\\"",
+  "ModuleWarning: Module Warning (from \`replaced original path\`):
+Warning
+
 (12:1) Unable to find uri in \\"@import url()\\"",
   "ModuleWarning: Module Warning (from \`replaced original path\`):
 Warning
diff --git a/test/__snapshots__/importLoaders-option.test.js.snap b/test/__snapshots__/importLoaders-option.test.js.snap
index ce0c790b..c8640acb 100644
--- a/test/__snapshots__/importLoaders-option.test.js.snap
+++ b/test/__snapshots__/importLoaders-option.test.js.snap
@@ -4,16 +4,16 @@ exports[`"importLoaders" option should work when not specified: errors 1`] = `Ar
 
 exports[`"importLoaders" option should work when not specified: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js!./imported.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_1___ = require(\\"-!../../../src/index.js!./other-imported.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js!./imported.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_1___ from \\"-!../../../src/index.js!./other-imported.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);
 // Module
-exports.push([module.id, \\".foo {\\\\n  color: red;\\\\n  color: rgba(0, 0, 255, 0.9);\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".foo {\\\\n  color: red;\\\\n  color: rgba(0, 0, 255, 0.9);\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -55,16 +55,16 @@ exports[`"importLoaders" option should work with a value equal to "0" (\`postcss
 
 exports[`"importLoaders" option should work with a value equal to "0" (\`postcss-loader\` before): module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./imported.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_1___ = require(\\"-!../../../src/index.js??[ident]!./other-imported.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./imported.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_1___ from \\"-!../../../src/index.js??[ident]!./other-imported.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);
 // Module
-exports.push([module.id, \\".foo {\\\\n  color: red;\\\\n  color: rgba(0, 0, 255, 0.9);\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".foo {\\\\n  color: red;\\\\n  color: rgba(0, 0, 255, 0.9);\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -106,16 +106,16 @@ exports[`"importLoaders" option should work with a value equal to "1" ("postcss-
 
 exports[`"importLoaders" option should work with a value equal to "1" ("postcss-loader" before): module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./imported.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_1___ = require(\\"-!../../../src/index.js??[ident]!./other-imported.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./imported.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_1___ from \\"-!../../../src/index.js??[ident]!./other-imported.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);
 // Module
-exports.push([module.id, \\".foo {\\\\n  color: red;\\\\n  color: rgba(0, 0, 255, 0.9);\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".foo {\\\\n  color: red;\\\\n  color: rgba(0, 0, 255, 0.9);\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -157,16 +157,16 @@ exports[`"importLoaders" option should work with a value equal to "1" (no loader
 
 exports[`"importLoaders" option should work with a value equal to "1" (no loaders before): module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./imported.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_1___ = require(\\"-!../../../src/index.js??[ident]!./other-imported.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./imported.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_1___ from \\"-!../../../src/index.js??[ident]!./other-imported.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);
 // Module
-exports.push([module.id, \\".foo {\\\\n  color: red;\\\\n  color: rgb(0 0 100% / 90%);\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".foo {\\\\n  color: red;\\\\n  color: rgb(0 0 100% / 90%);\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -208,16 +208,16 @@ exports[`"importLoaders" option should work with a value equal to "2" ("postcss-
 
 exports[`"importLoaders" option should work with a value equal to "2" ("postcss-loader" before): module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./imported.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_1___ = require(\\"-!../../../src/index.js??[ident]!./other-imported.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./imported.css\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_1___ from \\"-!../../../src/index.js??[ident]!./other-imported.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);
 // Module
-exports.push([module.id, \\".foo {\\\\n  color: red;\\\\n  color: rgba(0, 0, 255, 0.9);\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".foo {\\\\n  color: red;\\\\n  color: rgba(0, 0, 255, 0.9);\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
diff --git a/test/__snapshots__/loader.test.js.snap b/test/__snapshots__/loader.test.js.snap
index d5d503eb..3236ca7d 100644
--- a/test/__snapshots__/loader.test.js.snap
+++ b/test/__snapshots__/loader.test.js.snap
@@ -4,12 +4,12 @@ exports[`loader issue #1033 (2): errors 1`] = `Array []`;
 
 exports[`loader issue #1033 (2): module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -28,8 +28,9 @@ exports[`loader issue #1033 (2): warnings 1`] = `Array []`;
 exports[`loader issue #1033: errors 1`] = `Array []`;
 
 exports[`loader issue #1033: module 1`] = `
-"// Exports
-module.exports = {};
+"var ___CSS_LOADER_EXPORT___ = {};
+// Exports
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -41,17 +42,17 @@ exports[`loader should reuse \`ast\` from "postcss-loader": errors 1`] = `Array
 
 exports[`loader should reuse \`ast\` from "postcss-loader": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img1x.png\\");
-var ___CSS_LOADER_URL_IMPORT_1___ = require(\\"./img2x.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img1x.png\\";
+import ___CSS_LOADER_URL_IMPORT_1___ from \\"./img2x.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);
 // Module
-exports.push([module.id, \\":root {\\\\n  --fontSize: 1rem;\\\\n  --mainColor: rgba(18,52,86,0.47059);\\\\n  --secondaryColor: rgba(102, 51, 153, 0.9);\\\\n}\\\\n\\\\nhtml {\\\\n  overflow-x: hidden;\\\\n  overflow-y: auto;\\\\n  overflow: hidden auto;\\\\n}\\\\n\\\\n@media (max-width: 50rem) {\\\\n  body {\\\\n    color: rgba(18,52,86,0.47059);\\\\n    color: var(--mainColor);\\\\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;\\\\n    font-size: 1rem;\\\\n    font-size: var(--fontSize);\\\\n    line-height: calc(1rem * 1.5);\\\\n    line-height: calc(var(--fontSize) * 1.5);\\\\n    word-wrap: break-word;\\\\n    padding-left: calc(1rem / 2 + 1px);\\\\n    padding-right: calc(1rem / 2 + 1px);\\\\n    padding-left: calc(var(--fontSize) / 2 + 1px);\\\\n    padding-right: calc(var(--fontSize) / 2 + 1px);\\\\n  }\\\\n}\\\\n\\\\nh1,h2,h3,h4,h5,h6 {\\\\n  margin-top: 0;\\\\n  margin-bottom: 0;\\\\n}\\\\n\\\\nmain.hero, .hero.main {\\\\n  background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {\\\\n\\\\nmain.hero, .hero.main {\\\\n  background-image:  url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n}\\\\n}\\\\n\\\\nmain.hero, .hero.main {\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") 2x);\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") 2x);\\\\n}\\\\n\\\\na {\\\\n  color: rgba(0, 0, 255, 0.9)\\\\n}\\\\n\\\\na:hover {\\\\n    color: #639;\\\\n  }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\":root {\\\\n  --fontSize: 1rem;\\\\n  --mainColor: rgba(18,52,86,0.47059);\\\\n  --secondaryColor: rgba(102, 51, 153, 0.9);\\\\n}\\\\n\\\\nhtml {\\\\n  overflow-x: hidden;\\\\n  overflow-y: auto;\\\\n  overflow: hidden auto;\\\\n}\\\\n\\\\n@media (max-width: 50rem) {\\\\n  body {\\\\n    color: rgba(18,52,86,0.47059);\\\\n    color: var(--mainColor);\\\\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;\\\\n    font-size: 1rem;\\\\n    font-size: var(--fontSize);\\\\n    line-height: calc(1rem * 1.5);\\\\n    line-height: calc(var(--fontSize) * 1.5);\\\\n    word-wrap: break-word;\\\\n    padding-left: calc(1rem / 2 + 1px);\\\\n    padding-right: calc(1rem / 2 + 1px);\\\\n    padding-left: calc(var(--fontSize) / 2 + 1px);\\\\n    padding-right: calc(var(--fontSize) / 2 + 1px);\\\\n  }\\\\n}\\\\n\\\\nh1,h2,h3,h4,h5,h6 {\\\\n  margin-top: 0;\\\\n  margin-bottom: 0;\\\\n}\\\\n\\\\nmain.hero, .hero.main {\\\\n  background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {\\\\n\\\\nmain.hero, .hero.main {\\\\n  background-image:  url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n}\\\\n}\\\\n\\\\nmain.hero, .hero.main {\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") 2x);\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") 2x);\\\\n}\\\\n\\\\na {\\\\n  color: rgba(0, 0, 255, 0.9)\\\\n}\\\\n\\\\na:hover {\\\\n    color: #639;\\\\n  }\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -171,17 +172,17 @@ exports[`loader should work with "asset" module type: errors 1`] = `Array []`;
 
 exports[`loader should work with "asset" module type: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../src/index.js!./imported.css\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./url/img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../src/index.js!./imported.css\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./url/img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n  color: red;\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n  --foo: 1px;\\\\n  --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n  body {\\\\n    background-color: lightblue;\\\\n  }\\\\n}\\\\n\\\\n.class {\\\\n  content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n  display: flex;\\\\n  flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n  align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n  align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n  align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n  align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n  font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n  content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n  content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n  --title-align: center;\\\\n  --sr-only: {\\\\n    position: absolute;\\\\n    width: 1px;\\\\n    height: 1px;\\\\n    padding: 0;\\\\n    overflow: hidden;\\\\n    clip: rect(0,0,0,0);\\\\n    white-space: nowrap;\\\\n    clip-path: inset(50%);\\\\n    border: 0;\\\\n  };\\\\n}\\\\n\\\\n.test {\\\\n  content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n  margin-top: 1px\\\\\\\\9;\\\\n  background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n  content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n  background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n  color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n  color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n  color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n  color: red;\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n  --foo: 1px;\\\\n  --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n  body {\\\\n    background-color: lightblue;\\\\n  }\\\\n}\\\\n\\\\n.class {\\\\n  content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n  display: flex;\\\\n  flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n  align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n  align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n  align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n  align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n  font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n  content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n  content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n  --title-align: center;\\\\n  --sr-only: {\\\\n    position: absolute;\\\\n    width: 1px;\\\\n    height: 1px;\\\\n    padding: 0;\\\\n    overflow: hidden;\\\\n    clip: rect(0,0,0,0);\\\\n    white-space: nowrap;\\\\n    clip-path: inset(50%);\\\\n    border: 0;\\\\n  };\\\\n}\\\\n\\\\n.test {\\\\n  content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n  margin-top: 1px\\\\\\\\9;\\\\n  background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n  content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n  background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n  color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n  color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n  color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -344,12 +345,12 @@ exports[`loader should work with "sass-loader": errors 1`] = `Array []`;
 
 exports[`loader should work with "sass-loader": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"body {\\\\n  font: 100% Helvetica, sans-serif;\\\\n  color: #333;\\\\n}\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"body {\\\\n  font: 100% Helvetica, sans-serif;\\\\n  color: #333;\\\\n}\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -384,12 +385,12 @@ exports[`loader should work with empty css: errors 1`] = `Array []`;
 
 exports[`loader should work with empty css: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -409,17 +410,17 @@ exports[`loader should work with empty options: errors 1`] = `Array []`;
 
 exports[`loader should work with empty options: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../src/index.js??[ident]!./imported.css\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./url/img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../src/index.js??[ident]!./imported.css\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./url/img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n  color: red;\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n  --foo: 1px;\\\\n  --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n  body {\\\\n    background-color: lightblue;\\\\n  }\\\\n}\\\\n\\\\n.class {\\\\n  content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n  display: flex;\\\\n  flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n  align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n  align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n  align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n  align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n  font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n  content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n  content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n  --title-align: center;\\\\n  --sr-only: {\\\\n    position: absolute;\\\\n    width: 1px;\\\\n    height: 1px;\\\\n    padding: 0;\\\\n    overflow: hidden;\\\\n    clip: rect(0,0,0,0);\\\\n    white-space: nowrap;\\\\n    clip-path: inset(50%);\\\\n    border: 0;\\\\n  };\\\\n}\\\\n\\\\n.test {\\\\n  content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n  margin-top: 1px\\\\\\\\9;\\\\n  background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n  content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n  background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n  color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n  color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n  color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n  color: red;\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n  --foo: 1px;\\\\n  --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n  body {\\\\n    background-color: lightblue;\\\\n  }\\\\n}\\\\n\\\\n.class {\\\\n  content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n  display: flex;\\\\n  flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n  align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n  align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n  align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n  align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n  font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n  content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n  content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n  --title-align: center;\\\\n  --sr-only: {\\\\n    position: absolute;\\\\n    width: 1px;\\\\n    height: 1px;\\\\n    padding: 0;\\\\n    overflow: hidden;\\\\n    clip: rect(0,0,0,0);\\\\n    white-space: nowrap;\\\\n    clip-path: inset(50%);\\\\n    border: 0;\\\\n  };\\\\n}\\\\n\\\\n.test {\\\\n  content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n  margin-top: 1px\\\\\\\\9;\\\\n  background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n  content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n  background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n  color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n  color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n  color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -578,6 +579,23 @@ a[href=\\"\\" i] {
 
 exports[`loader should work with empty options: warnings 1`] = `Array []`;
 
+exports[`loader should work with none AST metadata: errors 1`] = `Array []`;
+
+exports[`loader should work with none AST metadata: result 1`] = `
+Array [
+  Array [
+    "./simple.css",
+    ".some-class {
+  color: red;
+}
+",
+    "",
+  ],
+]
+`;
+
+exports[`loader should work with none AST metadata: warnings 1`] = `Array []`;
+
 exports[`loader should work with the "modules.auto" option and the "importLoaders" option: errors 1`] = `Array []`;
 
 exports[`loader should work with the "modules.auto" option and the "importLoaders" option: result 1`] = `
@@ -616,7 +634,7 @@ exports[`loader should work with the "modules.auto" option and the "importLoader
   color: #333;
 }
 /* CSS modules */
-.dA97I-anu7-0d9tFzAFON {
+._1IwxFskZk1cbjNkH0QoBiv {
   overflow-x: hidden;
   overflow-y: auto;
   overflow: hidden auto;
@@ -633,7 +651,7 @@ exports[`loader should work with the "modules.auto" option and the "importLoader
   overflow-y: auto;
   overflow: hidden auto;
 }
-._2qRovssCxTKx1PYTv5qdNp {
+._2on1B_I_5ZLmD6I3yY37jX {
   color: #333;
   overflow-x: hidden;
   overflow-y: auto;
@@ -652,17 +670,17 @@ exports[`loader should work: errors 1`] = `Array []`;
 
 exports[`loader should work: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../src/index.js??[ident]!./imported.css\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./url/img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../src/index.js??[ident]!./imported.css\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./url/img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n  color: red;\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n  --foo: 1px;\\\\n  --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n  body {\\\\n    background-color: lightblue;\\\\n  }\\\\n}\\\\n\\\\n.class {\\\\n  content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n  display: flex;\\\\n  flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n  align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n  align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n  align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n  align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n  font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n  content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n  content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n  --title-align: center;\\\\n  --sr-only: {\\\\n    position: absolute;\\\\n    width: 1px;\\\\n    height: 1px;\\\\n    padding: 0;\\\\n    overflow: hidden;\\\\n    clip: rect(0,0,0,0);\\\\n    white-space: nowrap;\\\\n    clip-path: inset(50%);\\\\n    border: 0;\\\\n  };\\\\n}\\\\n\\\\n.test {\\\\n  content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n  margin-top: 1px\\\\\\\\9;\\\\n  background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n  content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n  background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n  color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n  color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n  color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@charset \\\\\\"UTF-8\\\\\\";\\\\n\\\\n/* Comment */\\\\n\\\\n.class {\\\\n  color: red;\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class-duplicate-url {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n:root {\\\\n  --foo: 1px;\\\\n  --bar: 2px;\\\\n}\\\\n\\\\n.class { a: b c d; }\\\\n\\\\n.two {}\\\\n\\\\n.u-m\\\\\\\\+ { a: b c d; }\\\\n\\\\n.class { content: \\\\\\"\\\\\\\\F10C\\\\\\" }\\\\n\\\\n@media only screen and (max-width: 600px) {\\\\n  body {\\\\n    background-color: lightblue;\\\\n  }\\\\n}\\\\n\\\\n.class {\\\\n  content: \\\\\\"\\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193\\\\\\\\2193\\\\\\\\2193\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2193 \\\\\\\\2193 \\\\\\\\2193\\\\\\";\\\\n}\\\\n\\\\n.-top {}\\\\n.\\\\\\\\-top {}\\\\n\\\\n#\\\\\\\\#test {}\\\\n\\\\n.grid {\\\\n  display: flex;\\\\n  flex-wrap: wrap;\\\\n}\\\\n.grid.\\\\\\\\-top {\\\\n  align-items: flex-start;\\\\n}\\\\n.grid.-top {\\\\n  align-items: flex-start;\\\\n}\\\\n.grid.\\\\\\\\-middle {\\\\n  align-items: center;\\\\n}\\\\n.grid.\\\\\\\\-bottom {\\\\n  align-items: flex-end;\\\\n}\\\\n\\\\n.u-m\\\\\\\\00002b {}\\\\n\\\\n.u-m00002b {}\\\\n\\\\n#u-m\\\\\\\\+ {}\\\\n\\\\nbody {\\\\n  font-family: '微软雅黑'; /* some chinese font name */\\\\n}\\\\n\\\\n.myStyle {\\\\n  content: '\\\\\\\\e901';\\\\n}\\\\n\\\\n.myStyle {\\\\n  content: '\\\\\\\\E901';\\\\n}\\\\n\\\\n.♫ {}\\\\n\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {} /* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {} /* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n#\\\\\\\\#fake-id {} /* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#-a-b-c- {} /* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#© {} /* matches the element with id=\\\\\\"©\\\\\\" */\\\\n\\\\n:root {\\\\n  --title-align: center;\\\\n  --sr-only: {\\\\n    position: absolute;\\\\n    width: 1px;\\\\n    height: 1px;\\\\n    padding: 0;\\\\n    overflow: hidden;\\\\n    clip: rect(0,0,0,0);\\\\n    white-space: nowrap;\\\\n    clip-path: inset(50%);\\\\n    border: 0;\\\\n  };\\\\n}\\\\n\\\\n.test {\\\\n  content: \\\\\\"\\\\\\\\2014\\\\\\\\A0\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\2014 \\\\\\\\A0\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\A0 \\\\\\\\2014\\\\\\";\\\\n  content: \\\\\\"\\\\\\\\A0\\\\\\\\2014\\\\\\";\\\\n  margin-top: 1px\\\\\\\\9;\\\\n  background-color: #000\\\\\\\\9;\\\\n}\\\\n\\\\n.light.on .bulb:before{\\\\n  content: '💡';\\\\n}\\\\n\\\\n.base64 {\\\\n  background: url(data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAhxJREFUSA3tk71rU1EYxnMTEoJUkowWwdJ2akEHBfGjCiIF6ZylVUKSm2TqZLGI+A/oIu2UXm8C4lAyF4SWji0tdFLo1Eo7VN0SaBEhH7e/Nz0nPTfGOjiaCyfPc5734zlfCQT6X/8E/vUErL81KBaL9y3LSnued5PcITjUOwR3gsFg2bbtjYt6/NGgXC4P1et1l2aPLmpAbD0SidjpdPqgV15PA9d17zQajU8UxHQRK/4G35Q5pveAK8LlI1ZjPMnlcltnyvnvbwaO41xvtVqy7YHztMACq5xnlb9EY3dRdvcGo1kj5wR+t1AofDG0gM+A875E8DNjRCexsrV8Pj9ZqVQitVrtqejxePxjMpmss5hVTB4buXvMb2DyU2tBTRS+BjvNlVYUpPl7iuVO3Gq1uoQx1FtSOW1gPgp5ZWrdBtNmUDgv5asgxQ8F1af5vhY0YjyjuWC3wTszKJz7GBOkcFlQfW2ONq4FjWi+Hj6DRCKxQOK2TlY4x92EuYd5dvMAbYIzfikau3pu5tJ8KxaLLfo0cyKci7tK4TZjUMcoXAmHwzle0Q/RaC5P1GFMyVx9R9Fo9HYqlTrSgqDvFelAqVQa5hmuMR/WGtjAaBdjwBoDQ0ZsnwVMZjKZ9n0Zem8DSeDPdrnZbL6F2l3NOvUYNZk4oVDoRTabPe4EDNJzB0ZcjAYxeoZ2i3FNxQ7BHYw/cB/fldaH//UETgHHO8S44KbfXgAAAABJRU5ErkJggg==);\\\\n}\\\\n\\\\na[href=''] {\\\\n  color: red;\\\\n}\\\\n\\\\na[href='' i] {\\\\n  color: red;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\"] {\\\\n  color: blue;\\\\n}\\\\n\\\\na[href=\\\\\\"\\\\\\" i] {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
diff --git a/test/__snapshots__/localsConvention-option.test.js.snap b/test/__snapshots__/localsConvention-option.test.js.snap
deleted file mode 100644
index 6bfefac5..00000000
--- a/test/__snapshots__/localsConvention-option.test.js.snap
+++ /dev/null
@@ -1,320 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`"localsConvention" option should work when not specified: errors 1`] = `Array []`;
-
-exports[`"localsConvention" option should work when not specified: module 1`] = `
-"// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-// Module
-exports.push([module.id, \\".erBXHZCN_thRYfCnk-aH8 {\\\\n  color: blue;\\\\n}\\\\n\\\\n._2YsQE-S0o0NRXfC6XNApz2 {\\\\n  color: blue;\\\\n}\\\\n\\\\n._3gGBcJHZU3seQVP5aq7Ksq {\\\\n  color: red;\\\\n}\\\\n\\\\na {\\\\n  color: yellow;\\\\n}\\\\n\\\\n.jHKqWGMvMrGp5RVPtApZ8 {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
-// Exports
-exports.locals = {
-	\\"foo\\": \\"bar\\",
-	\\"my-btn-info_is-disabled\\": \\"value\\",
-	\\"btn-info_is-disabled\\": \\"erBXHZCN_thRYfCnk-aH8\\",
-	\\"btn--info_is-disabled_1\\": \\"_2YsQE-S0o0NRXfC6XNApz2\\",
-	\\"simple\\": \\"_3gGBcJHZU3seQVP5aq7Ksq\\",
-	\\"foo_bar\\": \\"jHKqWGMvMrGp5RVPtApZ8\\"
-};
-module.exports = exports;
-"
-`;
-
-exports[`"localsConvention" option should work when not specified: result 1`] = `
-Array [
-  Array [
-    "./modules/localsConvention/localsConvention.css",
-    ".erBXHZCN_thRYfCnk-aH8 {
-  color: blue;
-}
-
-._2YsQE-S0o0NRXfC6XNApz2 {
-  color: blue;
-}
-
-._3gGBcJHZU3seQVP5aq7Ksq {
-  color: red;
-}
-
-a {
-  color: yellow;
-}
-
-.jHKqWGMvMrGp5RVPtApZ8 {
-  color: red;
-}
-",
-    "",
-  ],
-]
-`;
-
-exports[`"localsConvention" option should work when not specified: warnings 1`] = `Array []`;
-
-exports[`"localsConvention" option should work with a value equal to "asIs": errors 1`] = `Array []`;
-
-exports[`"localsConvention" option should work with a value equal to "asIs": module 1`] = `
-"// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-// Module
-exports.push([module.id, \\".erBXHZCN_thRYfCnk-aH8 {\\\\n  color: blue;\\\\n}\\\\n\\\\n._2YsQE-S0o0NRXfC6XNApz2 {\\\\n  color: blue;\\\\n}\\\\n\\\\n._3gGBcJHZU3seQVP5aq7Ksq {\\\\n  color: red;\\\\n}\\\\n\\\\na {\\\\n  color: yellow;\\\\n}\\\\n\\\\n.jHKqWGMvMrGp5RVPtApZ8 {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
-// Exports
-exports.locals = {
-	\\"foo\\": \\"bar\\",
-	\\"my-btn-info_is-disabled\\": \\"value\\",
-	\\"btn-info_is-disabled\\": \\"erBXHZCN_thRYfCnk-aH8\\",
-	\\"btn--info_is-disabled_1\\": \\"_2YsQE-S0o0NRXfC6XNApz2\\",
-	\\"simple\\": \\"_3gGBcJHZU3seQVP5aq7Ksq\\",
-	\\"foo_bar\\": \\"jHKqWGMvMrGp5RVPtApZ8\\"
-};
-module.exports = exports;
-"
-`;
-
-exports[`"localsConvention" option should work with a value equal to "asIs": result 1`] = `
-Array [
-  Array [
-    "./modules/localsConvention/localsConvention.css",
-    ".erBXHZCN_thRYfCnk-aH8 {
-  color: blue;
-}
-
-._2YsQE-S0o0NRXfC6XNApz2 {
-  color: blue;
-}
-
-._3gGBcJHZU3seQVP5aq7Ksq {
-  color: red;
-}
-
-a {
-  color: yellow;
-}
-
-.jHKqWGMvMrGp5RVPtApZ8 {
-  color: red;
-}
-",
-    "",
-  ],
-]
-`;
-
-exports[`"localsConvention" option should work with a value equal to "asIs": warnings 1`] = `Array []`;
-
-exports[`"localsConvention" option should work with a value equal to "camelCase": errors 1`] = `Array []`;
-
-exports[`"localsConvention" option should work with a value equal to "camelCase": module 1`] = `
-"// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-// Module
-exports.push([module.id, \\".erBXHZCN_thRYfCnk-aH8 {\\\\n  color: blue;\\\\n}\\\\n\\\\n._2YsQE-S0o0NRXfC6XNApz2 {\\\\n  color: blue;\\\\n}\\\\n\\\\n._3gGBcJHZU3seQVP5aq7Ksq {\\\\n  color: red;\\\\n}\\\\n\\\\na {\\\\n  color: yellow;\\\\n}\\\\n\\\\n.jHKqWGMvMrGp5RVPtApZ8 {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
-// Exports
-exports.locals = {
-	\\"foo\\": \\"bar\\",
-	\\"my-btn-info_is-disabled\\": \\"value\\",
-	\\"myBtnInfoIsDisabled\\": \\"value\\",
-	\\"btn-info_is-disabled\\": \\"erBXHZCN_thRYfCnk-aH8\\",
-	\\"btnInfoIsDisabled\\": \\"erBXHZCN_thRYfCnk-aH8\\",
-	\\"btn--info_is-disabled_1\\": \\"_2YsQE-S0o0NRXfC6XNApz2\\",
-	\\"btnInfoIsDisabled1\\": \\"_2YsQE-S0o0NRXfC6XNApz2\\",
-	\\"simple\\": \\"_3gGBcJHZU3seQVP5aq7Ksq\\",
-	\\"foo_bar\\": \\"jHKqWGMvMrGp5RVPtApZ8\\",
-	\\"fooBar\\": \\"jHKqWGMvMrGp5RVPtApZ8\\"
-};
-module.exports = exports;
-"
-`;
-
-exports[`"localsConvention" option should work with a value equal to "camelCase": result 1`] = `
-Array [
-  Array [
-    "./modules/localsConvention/localsConvention.css",
-    ".erBXHZCN_thRYfCnk-aH8 {
-  color: blue;
-}
-
-._2YsQE-S0o0NRXfC6XNApz2 {
-  color: blue;
-}
-
-._3gGBcJHZU3seQVP5aq7Ksq {
-  color: red;
-}
-
-a {
-  color: yellow;
-}
-
-.jHKqWGMvMrGp5RVPtApZ8 {
-  color: red;
-}
-",
-    "",
-  ],
-]
-`;
-
-exports[`"localsConvention" option should work with a value equal to "camelCase": warnings 1`] = `Array []`;
-
-exports[`"localsConvention" option should work with a value equal to "camelCaseOnly": errors 1`] = `Array []`;
-
-exports[`"localsConvention" option should work with a value equal to "camelCaseOnly": module 1`] = `
-"// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-// Module
-exports.push([module.id, \\".erBXHZCN_thRYfCnk-aH8 {\\\\n  color: blue;\\\\n}\\\\n\\\\n._2YsQE-S0o0NRXfC6XNApz2 {\\\\n  color: blue;\\\\n}\\\\n\\\\n._3gGBcJHZU3seQVP5aq7Ksq {\\\\n  color: red;\\\\n}\\\\n\\\\na {\\\\n  color: yellow;\\\\n}\\\\n\\\\n.jHKqWGMvMrGp5RVPtApZ8 {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
-// Exports
-exports.locals = {
-	\\"foo\\": \\"bar\\",
-	\\"myBtnInfoIsDisabled\\": \\"value\\",
-	\\"btnInfoIsDisabled\\": \\"erBXHZCN_thRYfCnk-aH8\\",
-	\\"btnInfoIsDisabled1\\": \\"_2YsQE-S0o0NRXfC6XNApz2\\",
-	\\"simple\\": \\"_3gGBcJHZU3seQVP5aq7Ksq\\",
-	\\"fooBar\\": \\"jHKqWGMvMrGp5RVPtApZ8\\"
-};
-module.exports = exports;
-"
-`;
-
-exports[`"localsConvention" option should work with a value equal to "camelCaseOnly": result 1`] = `
-Array [
-  Array [
-    "./modules/localsConvention/localsConvention.css",
-    ".erBXHZCN_thRYfCnk-aH8 {
-  color: blue;
-}
-
-._2YsQE-S0o0NRXfC6XNApz2 {
-  color: blue;
-}
-
-._3gGBcJHZU3seQVP5aq7Ksq {
-  color: red;
-}
-
-a {
-  color: yellow;
-}
-
-.jHKqWGMvMrGp5RVPtApZ8 {
-  color: red;
-}
-",
-    "",
-  ],
-]
-`;
-
-exports[`"localsConvention" option should work with a value equal to "camelCaseOnly": warnings 1`] = `Array []`;
-
-exports[`"localsConvention" option should work with a value equal to "dashes": errors 1`] = `Array []`;
-
-exports[`"localsConvention" option should work with a value equal to "dashes": module 1`] = `
-"// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-// Module
-exports.push([module.id, \\".erBXHZCN_thRYfCnk-aH8 {\\\\n  color: blue;\\\\n}\\\\n\\\\n._2YsQE-S0o0NRXfC6XNApz2 {\\\\n  color: blue;\\\\n}\\\\n\\\\n._3gGBcJHZU3seQVP5aq7Ksq {\\\\n  color: red;\\\\n}\\\\n\\\\na {\\\\n  color: yellow;\\\\n}\\\\n\\\\n.jHKqWGMvMrGp5RVPtApZ8 {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
-// Exports
-exports.locals = {
-	\\"foo\\": \\"bar\\",
-	\\"my-btn-info_is-disabled\\": \\"value\\",
-	\\"myBtnInfo_isDisabled\\": \\"value\\",
-	\\"btn-info_is-disabled\\": \\"erBXHZCN_thRYfCnk-aH8\\",
-	\\"btnInfo_isDisabled\\": \\"erBXHZCN_thRYfCnk-aH8\\",
-	\\"btn--info_is-disabled_1\\": \\"_2YsQE-S0o0NRXfC6XNApz2\\",
-	\\"btnInfo_isDisabled_1\\": \\"_2YsQE-S0o0NRXfC6XNApz2\\",
-	\\"simple\\": \\"_3gGBcJHZU3seQVP5aq7Ksq\\",
-	\\"foo_bar\\": \\"jHKqWGMvMrGp5RVPtApZ8\\"
-};
-module.exports = exports;
-"
-`;
-
-exports[`"localsConvention" option should work with a value equal to "dashes": result 1`] = `
-Array [
-  Array [
-    "./modules/localsConvention/localsConvention.css",
-    ".erBXHZCN_thRYfCnk-aH8 {
-  color: blue;
-}
-
-._2YsQE-S0o0NRXfC6XNApz2 {
-  color: blue;
-}
-
-._3gGBcJHZU3seQVP5aq7Ksq {
-  color: red;
-}
-
-a {
-  color: yellow;
-}
-
-.jHKqWGMvMrGp5RVPtApZ8 {
-  color: red;
-}
-",
-    "",
-  ],
-]
-`;
-
-exports[`"localsConvention" option should work with a value equal to "dashes": warnings 1`] = `Array []`;
-
-exports[`"localsConvention" option should work with a value equal to "dashesOnly": errors 1`] = `Array []`;
-
-exports[`"localsConvention" option should work with a value equal to "dashesOnly": module 1`] = `
-"// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-// Module
-exports.push([module.id, \\".erBXHZCN_thRYfCnk-aH8 {\\\\n  color: blue;\\\\n}\\\\n\\\\n._2YsQE-S0o0NRXfC6XNApz2 {\\\\n  color: blue;\\\\n}\\\\n\\\\n._3gGBcJHZU3seQVP5aq7Ksq {\\\\n  color: red;\\\\n}\\\\n\\\\na {\\\\n  color: yellow;\\\\n}\\\\n\\\\n.jHKqWGMvMrGp5RVPtApZ8 {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
-// Exports
-exports.locals = {
-	\\"foo\\": \\"bar\\",
-	\\"myBtnInfo_isDisabled\\": \\"value\\",
-	\\"btnInfo_isDisabled\\": \\"erBXHZCN_thRYfCnk-aH8\\",
-	\\"btnInfo_isDisabled_1\\": \\"_2YsQE-S0o0NRXfC6XNApz2\\",
-	\\"simple\\": \\"_3gGBcJHZU3seQVP5aq7Ksq\\",
-	\\"foo_bar\\": \\"jHKqWGMvMrGp5RVPtApZ8\\"
-};
-module.exports = exports;
-"
-`;
-
-exports[`"localsConvention" option should work with a value equal to "dashesOnly": result 1`] = `
-Array [
-  Array [
-    "./modules/localsConvention/localsConvention.css",
-    ".erBXHZCN_thRYfCnk-aH8 {
-  color: blue;
-}
-
-._2YsQE-S0o0NRXfC6XNApz2 {
-  color: blue;
-}
-
-._3gGBcJHZU3seQVP5aq7Ksq {
-  color: red;
-}
-
-a {
-  color: yellow;
-}
-
-.jHKqWGMvMrGp5RVPtApZ8 {
-  color: red;
-}
-",
-    "",
-  ],
-]
-`;
-
-exports[`"localsConvention" option should work with a value equal to "dashesOnly": warnings 1`] = `Array []`;
diff --git a/test/__snapshots__/modules-option.test.js.snap b/test/__snapshots__/modules-option.test.js.snap
index 03f8436c..c0ed06df 100644
--- a/test/__snapshots__/modules-option.test.js.snap
+++ b/test/__snapshots__/modules-option.test.js.snap
@@ -4,17 +4,17 @@ exports[`"modules" option issue #286: errors 1`] = `Array []`;
 
 exports[`"modules" option issue #286: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"./dep.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"./dep.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\".b--main { }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".b--main { }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"main\\": \\"b--main \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"red\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -41,17 +41,17 @@ exports[`"modules" option issue #636: errors 1`] = `Array []`;
 
 exports[`"modules" option issue #636: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../src/index.js??[ident]!./foo.scss\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../src/index.js??[ident]!./foo.scss\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\".prefix-bar {\\\\n}\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".prefix-bar {\\\\n}\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"bar\\": \\"prefix-bar \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"foo\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -79,20 +79,20 @@ exports[`"modules" option issue #861: errors 1`] = `Array []`;
 
 exports[`"modules" option issue #861: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../src/index.js??[ident]!./node_modules/@localpackage/color.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../../src/index.js??[ident]!./node_modules/@localpackage/style.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
-exports.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../src/index.js??[ident]!./node_modules/@localpackage/color.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_1___ from \\"-!../../../../src/index.js??[ident]!./node_modules/@localpackage/style.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._2TvhMv03l8C6o3eyE8OUU3 {\\\\n  color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color-grey\\"] + \\";\\\\n  margin: 0;\\\\n  padding: 0;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._3-xO98la0jTEyk-RMXJ1HB {\\\\n  color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color-grey\\"] + \\";\\\\n  margin: 0;\\\\n  padding: 0;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"color-grey\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color-grey\\"] + \\"\\",
-	\\"copyright\\": \\"_2TvhMv03l8C6o3eyE8OUU3 \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"type-heading\\"] + \\"\\"
+	\\"copyright\\": \\"_3-xO98la0jTEyk-RMXJ1HB \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"type-heading\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -106,7 +106,7 @@ Array [
   ],
   Array [
     "../../src/index.js?[ident]!./modules/issue-861/node_modules/@otherlocalpackage/style.css",
-    "._3_UmHSyGSKHfkAuB_4PF0r {
+    "._34OED9az7G510opLe4yb1c {
   display: flex;
 }
 ",
@@ -114,7 +114,7 @@ Array [
   ],
   Array [
     "../../src/index.js?[ident]!./modules/issue-861/node_modules/@localpackage/style.css",
-    "._3tsKb6RyTte_M89z1nGia_ {
+    "._2blXC1CBMJb76yPAbnhQda {
   color: red;
   margin: 0;
   padding: 0;
@@ -124,7 +124,7 @@ Array [
   ],
   Array [
     "./modules/issue-861/resolving-from-node_modules.css",
-    "._2TvhMv03l8C6o3eyE8OUU3 {
+    "._3-xO98la0jTEyk-RMXJ1HB {
   color: gray;
   margin: 0;
   padding: 0;
@@ -141,15 +141,15 @@ exports[`"modules" option issue #966: errors 1`] = `Array []`;
 
 exports[`"modules" option issue #966: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".button.hey {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".button.hey {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"button\\": \\"button.hey\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -172,17 +172,17 @@ exports[`"modules" option issue #967: errors 1`] = `Array []`;
 
 exports[`"modules" option issue #967: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".modules-issue-967-path-placeholder__foo__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- {\\\\n  color: red;\\\\n}\\\\n\\\\n.modules-issue-967-path-placeholder__foo\\\\\\\\/bar__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- {\\\\n  color: blue;\\\\n}\\\\n\\\\n.modules-issue-967-path-placeholder__\\\\\\\\[\\\\\\\\/\\\\\\\\?\\\\\\\\<\\\\\\\\>\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\3A \\\\\\\\*\\\\\\\\|\\\\\\\\\\\\\\"\\\\\\\\3A \\\\\\\\]__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- {\\\\n  color: yellow;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".modules-issue-967-path-placeholder__foo__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- {\\\\n  color: red;\\\\n}\\\\n\\\\n.modules-issue-967-path-placeholder__foo\\\\\\\\/bar__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- {\\\\n  color: blue;\\\\n}\\\\n\\\\n.modules-issue-967-path-placeholder__\\\\\\\\[\\\\\\\\/\\\\\\\\?\\\\\\\\<\\\\\\\\>\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\3A \\\\\\\\*\\\\\\\\|\\\\\\\\\\\\\\"\\\\\\\\3A \\\\\\\\]__--sep---sep---sep---sep----sep---sep---sep---sep---sep-- {\\\\n  color: yellow;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"foo\\": \\"modules-issue-967-path-placeholder__foo__--sep---sep---sep---sep----sep---sep---sep---sep---sep--\\",
 	\\"foo/bar\\": \\"modules-issue-967-path-placeholder__foo/bar__--sep---sep---sep---sep----sep---sep---sep---sep---sep--\\",
 	\\"[/?<>\\\\\\\\\\\\\\\\:*|\\\\\\":]\\": \\"modules-issue-967-path-placeholder__[/?<>\\\\\\\\\\\\\\\\:*|\\\\\\":]__--sep---sep---sep---sep----sep---sep---sep---sep---sep--\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -213,15 +213,15 @@ exports[`"modules" option issue #980: errors 1`] = `Array []`;
 
 exports[`"modules" option issue #980: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".file-with-many-dots-in-name_a_22FL3 {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".file-with-many-dots-in-name_a_3NWtD {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"a\\": \\"file-with-many-dots-in-name_a_22FL3\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"a\\": \\"file-with-many-dots-in-name_a_3NWtD\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -229,7 +229,7 @@ exports[`"modules" option issue #980: result 1`] = `
 Array [
   Array [
     "./modules/issue-980/file.with.many.dots.in.name.css",
-    ".file-with-many-dots-in-name_a_22FL3 {
+    ".file-with-many-dots-in-name_a_3NWtD {
   color: red;
 }
 ",
@@ -244,17 +244,17 @@ exports[`"modules" option issue #995: errors 1`] = `Array []`;
 
 exports[`"modules" option issue #995: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"/* class=\\\\\\"😀\\\\\\" */\\\\n.a {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀 😓\\\\\\" */\\\\n.a.b {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" > class=\\\\\\"😓\\\\\\" */\\\\n.a .b {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" */\\\\n.😀 {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀 😓\\\\\\" */\\\\n.😀.😓 {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" > class=\\\\\\"😓\\\\\\" */\\\\n.😀 .😓 {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" */\\\\n.\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀 😓\\\\\\" */\\\\n.\\\\\\\\1F600.\\\\\\\\1F613 {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" > class=\\\\\\"😓\\\\\\" */\\\\n.\\\\\\\\1F600  .\\\\\\\\1F613 {\\\\n  color: red;\\\\n}\\\\n\\\\n/* Local */\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" */\\\\n.\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀 😓\\\\\\" */\\\\n.\\\\\\\\1F600.\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" > class=\\\\\\"😓\\\\\\" */\\\\n.\\\\\\\\1F600  .\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\\\n.\\\\\\\\1F600  .a .\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\\\n.\\\\\\\\1F600  .\\\\\\\\1F600  .\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\\\ndiv:not(.\\\\\\\\1F600) {\\\\n  color: red;\\\\n}\\\\n\\\\n.\\\\\\\\1F600  .b {\\\\n  color: red;\\\\n}\\\\n\\\\n.b .\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\\\n.\\\\\\\\1F613  .\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\\\n.\\\\\\\\1F613 .\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\\\n.\\\\\\\\1F600 > .\\\\\\\\1F600 > .\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"/* class=\\\\\\"😀\\\\\\" */\\\\n.a {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀 😓\\\\\\" */\\\\n.a.b {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" > class=\\\\\\"😓\\\\\\" */\\\\n.a .b {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" */\\\\n.😀 {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀 😓\\\\\\" */\\\\n.😀.😓 {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" > class=\\\\\\"😓\\\\\\" */\\\\n.😀 .😓 {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" */\\\\n.\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀 😓\\\\\\" */\\\\n.\\\\\\\\1F600.\\\\\\\\1F613 {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" > class=\\\\\\"😓\\\\\\" */\\\\n.\\\\\\\\1F600  .\\\\\\\\1F613 {\\\\n  color: red;\\\\n}\\\\n\\\\n/* Local */\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" */\\\\n.\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀 😓\\\\\\" */\\\\n.\\\\\\\\1F600.\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\\\n/* class=\\\\\\"😀\\\\\\" > class=\\\\\\"😓\\\\\\" */\\\\n.\\\\\\\\1F600  .\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\\\n.\\\\\\\\1F600  .a .\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\\\n.\\\\\\\\1F600  .\\\\\\\\1F600  .\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\\\ndiv:not(.\\\\\\\\1F600) {\\\\n  color: red;\\\\n}\\\\n\\\\n.\\\\\\\\1F600  .b {\\\\n  color: red;\\\\n}\\\\n\\\\n.b .\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\\\n.\\\\\\\\1F613  .\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\\\n.\\\\\\\\1F613 .\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\\\n.\\\\\\\\1F600 > .\\\\\\\\1F600 > .\\\\\\\\1F600 {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"a\\": \\"😀\\",
 	\\"b\\": \\"😀\\",
 	\\"c\\": \\"😀\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -376,23 +376,23 @@ options.mode must be either \\"global\\", \\"local\\" or \\"pure\\" (default \\"
 
 exports[`"modules" option issue #1063 throw error: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".classNameLocalFile {\\\\n  color: green;\\\\n}\\\\n\\\\n:global(.otherClassLocalFile) {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".classNameLocalFile {\\\\n  color: green;\\\\n}\\\\n\\\\n:global(.otherClassLocalFile) {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
 exports[`"modules" option issue #1063 throw error: module 2`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".classNameGlobalFile {\\\\n  color: black;\\\\n}\\\\n\\\\n:local(.otherClassGlobalFile) {\\\\n  color: coral;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".classNameGlobalFile {\\\\n  color: black;\\\\n}\\\\n\\\\n:local(.otherClassGlobalFile) {\\\\n  color: coral;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -423,49 +423,49 @@ exports[`"modules" option issue #1063: errors 1`] = `Array []`;
 
 exports[`"modules" option issue #1063: module with the \`global\` mode 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".classNameGlobalFile {\\\\n  color: black;\\\\n}\\\\n\\\\n._2rcag09JpwrP4_hfyyRmm- {\\\\n  color: coral;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".classNameGlobalFile {\\\\n  color: black;\\\\n}\\\\n\\\\n._3R0IujoYmi1IYvOTm7aj1H {\\\\n  color: coral;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"otherClassGlobalFile\\": \\"_2rcag09JpwrP4_hfyyRmm-\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"otherClassGlobalFile\\": \\"_3R0IujoYmi1IYvOTm7aj1H\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
 exports[`"modules" option issue #1063: module with the \`local\` mode 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._2cZDGA9F7Kx1vfQmWcLP51 {\\\\n  color: green;\\\\n}\\\\n\\\\n.otherClassLocalFile {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._1cIyygbEsOkwSiRENx8zVU {\\\\n  color: green;\\\\n}\\\\n\\\\n.otherClassLocalFile {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"classNameLocalFile\\": \\"_2cZDGA9F7Kx1vfQmWcLP51\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"classNameLocalFile\\": \\"_1cIyygbEsOkwSiRENx8zVU\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
 exports[`"modules" option issue #1063: module with the \`pure\` mode 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1rycxa6QkLdgO7vayuTDvk ._3Otdq1jay-xaQGguOXb-0X {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".J7gDrWoVJPVJUOkhFmzq8 .OtGfkbh5uxg2vpEPy7SOS {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"foo\\": \\"_1rycxa6QkLdgO7vayuTDvk\\",
-	\\"bar\\": \\"_3Otdq1jay-xaQGguOXb-0X\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"foo\\": \\"J7gDrWoVJPVJUOkhFmzq8\\",
+	\\"bar\\": \\"OtGfkbh5uxg2vpEPy7SOS\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
 exports[`"modules" option issue #1063: result 1`] = `
-"._2cZDGA9F7Kx1vfQmWcLP51 {
+"._1cIyygbEsOkwSiRENx8zVU {
   color: green;
 }
 
@@ -476,10 +476,10 @@ exports[`"modules" option issue #1063: result 1`] = `
   color: black;
 }
 
-._2rcag09JpwrP4_hfyyRmm- {
+._3R0IujoYmi1IYvOTm7aj1H {
   color: coral;
 }
-._1rycxa6QkLdgO7vayuTDvk ._3Otdq1jay-xaQGguOXb-0X {
+.J7gDrWoVJPVJUOkhFmzq8 .OtGfkbh5uxg2vpEPy7SOS {
   color: red;
 }
 "
@@ -491,18 +491,18 @@ exports[`"modules" option should avoid unnecessary "require": errors 1`] = `Arra
 
 exports[`"modules" option should avoid unnecessary "require": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../src/index.js??[ident]!./imported-simple.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../src/index.js??[ident]!./imported-simple.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._1UgilPFsYxSK4gX5ZkTYCj {\\\\n  color: red;\\\\n}\\\\n\\\\n._3V5dPWs_xG519C1PGI1Njd {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".Uf0ts_XDBSnJJxTj8_Gi9 {\\\\n  color: red;\\\\n}\\\\n\\\\n._29pZs19QWYaZFzehTn6_hs {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"simple-foo\\": \\"_1UgilPFsYxSK4gX5ZkTYCj \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"imported-simple\\"] + \\"\\",
-	\\"simple-bar\\": \\"_3V5dPWs_xG519C1PGI1Njd \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"imported-simple\\"] + \\"\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"simple-foo\\": \\"Uf0ts_XDBSnJJxTj8_Gi9 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"imported-simple\\"] + \\"\\",
+	\\"simple-bar\\": \\"_29pZs19QWYaZFzehTn6_hs \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"imported-simple\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -510,7 +510,7 @@ exports[`"modules" option should avoid unnecessary "require": result 1`] = `
 Array [
   Array [
     "../../src/index.js?[ident]!./modules/composes/imported-simple.css",
-    "._15HqoDBChWnuDGxJ6jOtUV {
+    "._1LcKtmpK51ikm2OTXu6tSg {
   display: block;
 }
 ",
@@ -518,11 +518,11 @@ Array [
   ],
   Array [
     "./modules/composes/composes-duplicate.css",
-    "._1UgilPFsYxSK4gX5ZkTYCj {
+    ".Uf0ts_XDBSnJJxTj8_Gi9 {
   color: red;
 }
 
-._3V5dPWs_xG519C1PGI1Njd {
+._29pZs19QWYaZFzehTn6_hs {
   color: red;
 }
 ",
@@ -537,20 +537,20 @@ exports[`"modules" option should dedupe same modules in one module (issue #1037)
 
 exports[`"modules" option should dedupe same modules in one module (issue #1037): module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../src/index.js??[ident]!./buttons/primary-button.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../../src/index.js??[ident]!./buttons/secondary-button.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
-exports.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../src/index.js??[ident]!./buttons/primary-button.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_1___ from \\"-!../../../../src/index.js??[ident]!./buttons/secondary-button.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
 // Module
-exports.push([module.id, \\".EzyG7UwnL9VTWJMm1zvyL\\\\n{\\\\n}\\\\n\\\\n.vO79o4trei2_Dt8Bi8s5W\\\\n{\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._20J9N7rmF9MDlW1fCyqEJg\\\\n{\\\\n}\\\\n\\\\n.i6SVpQUP5kat3lVfJZKUL\\\\n{\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"nextButton\\": \\"EzyG7UwnL9VTWJMm1zvyL \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"primaryButton\\"] + \\"\\",
-	\\"backButton\\": \\"vO79o4trei2_Dt8Bi8s5W \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"secondaryButton\\"] + \\"\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"nextButton\\": \\"_20J9N7rmF9MDlW1fCyqEJg \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"primaryButton\\"] + \\"\\",
+	\\"backButton\\": \\"i6SVpQUP5kat3lVfJZKUL \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"secondaryButton\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -558,7 +558,7 @@ exports[`"modules" option should dedupe same modules in one module (issue #1037)
 Array [
   Array [
     "../../src/index.js?[ident]!./modules/dedupe/buttons/button.css",
-    "._2CDoM-NXLchQ7VXiH4UhCN
+    "._2QecNNc0kCyNGf0j-87ceF
 {
   border:none;
   padding:7px 15px;
@@ -569,7 +569,7 @@ Array [
   ],
   Array [
     "../../src/index.js?[ident]!./modules/dedupe/buttons/primary-button.css",
-    ".z2okwFUvcW0z_ZC8D-5T_
+    ".SnLsSJLK0FO19AzFIwO6E
 {
   background-color:blue;
   color:white;
@@ -579,7 +579,7 @@ Array [
   ],
   Array [
     "../../src/index.js?[ident]!./modules/dedupe/buttons/secondary-button.css",
-    ".L9-xT4xBLmBRaK2WDI00c
+    "._2gUJA1nJv71y2Pdwgea_NW
 {
   background-color:#555;
   color:white;
@@ -589,11 +589,11 @@ Array [
   ],
   Array [
     "./modules/dedupe/source.css",
-    ".EzyG7UwnL9VTWJMm1zvyL
+    "._20J9N7rmF9MDlW1fCyqEJg
 {
 }
 
-.vO79o4trei2_Dt8Bi8s5W
+.i6SVpQUP5kat3lVfJZKUL
 {
 }
 ",
@@ -608,20 +608,20 @@ exports[`"modules" option should keep order: errors 1`] = `Array []`;
 
 exports[`"modules" option should keep order: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../src/index.js??[ident]!./order-1.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../../src/index.js??[ident]!./order-2.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
-exports.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../src/index.js??[ident]!./order-1.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_1___ from \\"-!../../../../src/index.js??[ident]!./order-2.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
 // Module
-exports.push([module.id, \\".Wjk4jowq_W5p9UqAWNj8p {\\\\n  display: block;\\\\n}\\\\n\\\\n._1hTJaGPJyAIYbIwkbYwOGW {\\\\n  display: inline;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".taF3G8y3UAnqvB5fSLAmQ {\\\\n  display: block;\\\\n}\\\\n\\\\n.kwnllpWBslZUOyrU8gnEM {\\\\n  display: inline;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"simple\\": \\"Wjk4jowq_W5p9UqAWNj8p \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"order-1\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"order-2\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"order-1-1\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"order-2-2\\"] + \\"\\",
-	\\"simple-other\\": \\"_1hTJaGPJyAIYbIwkbYwOGW \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"order-1\\"] + \\"\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"simple\\": \\"taF3G8y3UAnqvB5fSLAmQ \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"order-1\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"order-2\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"order-1-1\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"order-2-2\\"] + \\"\\",
+	\\"simple-other\\": \\"kwnllpWBslZUOyrU8gnEM \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"order-1\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -629,11 +629,11 @@ exports[`"modules" option should keep order: result 1`] = `
 Array [
   Array [
     "../../src/index.js?[ident]!./modules/order/order-1.css",
-    "._2r9YTNQEwCk0bSiZCuc7Ol {
+    ".cHTwsuS7DF0hGrENHf7wG {
   color: red;
 }
 
-.He7W3er8OE_ZP1m7aP7eb {
+._1AgYyBK75qpNfG2lfAnL-3 {
   color: aliceblue;
 }
 ",
@@ -641,11 +641,11 @@ Array [
   ],
   Array [
     "../../src/index.js?[ident]!./modules/order/order-2.css",
-    "._18ve634MAK3QtupmRo9lo3 {
+    ".ahJ3jQTbr3MI8rE0s5n25 {
   color: blue;
 }
 
-.z6vp19LKudIK0nOAVOTAc {
+._3AyoF54A_OYtvKDlU-vBNW {
   color: azure;
 }
 ",
@@ -653,11 +653,11 @@ Array [
   ],
   Array [
     "./modules/order/index.css",
-    ".Wjk4jowq_W5p9UqAWNj8p {
+    ".taF3G8y3UAnqvB5fSLAmQ {
   display: block;
 }
 
-._1hTJaGPJyAIYbIwkbYwOGW {
+.kwnllpWBslZUOyrU8gnEM {
   display: inline;
 }
 ",
@@ -668,16 +668,59 @@ Array [
 
 exports[`"modules" option should keep order: warnings 1`] = `Array []`;
 
+exports[`"modules" option should resolve package from node_modules with and without tilde: errors 1`] = `Array []`;
+
+exports[`"modules" option should resolve package from node_modules with and without tilde: module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../src/index.js??[ident]!../node_modules/test/index.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\"._1HqHWmuBD5StTBui9tqzRJ {\\\\n  color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"foo\\"] + \\";\\\\n  background: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"bar\\"] + \\";\\\\n}\\\\n\\\\n\\", \\"\\"]);
+// Exports
+___CSS_LOADER_EXPORT___.locals = {
+	\\"foo\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"foo\\"] + \\"\\",
+	\\"bar\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"bar\\"] + \\"\\",
+	\\"className\\": \\"_1HqHWmuBD5StTBui9tqzRJ\\"
+};
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"modules" option should resolve package from node_modules with and without tilde: result 1`] = `
+Array [
+  Array [
+    "../../src/index.js?[ident]!./modules/node_modules/test/index.css",
+    "
+",
+    "",
+  ],
+  Array [
+    "./modules/issue-914/source.css",
+    "._1HqHWmuBD5StTBui9tqzRJ {
+  color: red;
+  background: green;
+}
+
+",
+    "",
+  ],
+]
+`;
+
+exports[`"modules" option should resolve package from node_modules with and without tilde: warnings 1`] = `Array []`;
+
 exports[`"modules" option should should work with two leading hyphens: errors 1`] = `Array []`;
 
 exports[`"modules" option should should work with two leading hyphens: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._--test {\\\\n  background: red;\\\\n}\\\\n\\\\n._--_test {\\\\n  background: blue;\\\\n}\\\\n\\\\n._--className {\\\\n  background: red;\\\\n}\\\\n\\\\n#_--someId {\\\\n  background: green;\\\\n}\\\\n\\\\n._--className ._--subClass {\\\\n  color: green;\\\\n}\\\\n\\\\n#_--someId ._--subClass {\\\\n  color: blue;\\\\n}\\\\n\\\\n._---a0-34a___f {\\\\n  color: red;\\\\n}\\\\n\\\\n._--m_x_\\\\\\\\@ {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n._--B\\\\\\\\&W\\\\\\\\? {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n._--\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n._--\\\\\\\\31 a2b3c {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#_--\\\\\\\\#fake-id {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#_---a-b-c- {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#_--© {\\\\n  color: black;\\\\n}\\\\n\\\\n._--♥ { background: lime; }\\\\n._--© { background: lime; }\\\\n._--“‘’” { background: lime; }\\\\n._--☺☃ { background: lime; }\\\\n._--⌘⌥ { background: lime; }\\\\n._--𝄞♪♩♫♬ { background: lime; }\\\\n._--💩 { background: lime; }\\\\n._--\\\\\\\\? { background: lime; }\\\\n._--\\\\\\\\@ { background: lime; }\\\\n._--\\\\\\\\. { background: lime; }\\\\n._--\\\\\\\\3A \\\\\\\\) { background: lime; }\\\\n._--\\\\\\\\3A \\\\\\\\\`\\\\\\\\( { background: lime; }\\\\n._--\\\\\\\\31 23 { background: lime; }\\\\n._--\\\\\\\\31 a2b3c { background: lime; }\\\\n._--\\\\\\\\<p\\\\\\\\> { background: lime; }\\\\n._--\\\\\\\\<\\\\\\\\>\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\>\\\\\\\\>\\\\\\\\<\\\\\\\\> { background: lime; }\\\\n._--\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\[\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\-\\\\\\\\]\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\<\\\\\\\\<\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\. { background: lime; }\\\\n._--\\\\\\\\# { background: lime; }\\\\n._--\\\\\\\\#\\\\\\\\# { background: lime; }\\\\n._--\\\\\\\\#\\\\\\\\.\\\\\\\\#\\\\\\\\.\\\\\\\\# { background: lime; }\\\\n._--\\\\\\\\_ { background: lime; }\\\\n._--\\\\\\\\{\\\\\\\\} { background: lime; }\\\\n._--\\\\\\\\#fake\\\\\\\\-id { background: lime; }\\\\n._--foo\\\\\\\\.bar { background: lime; }\\\\n._--\\\\\\\\3A hover { background: lime; }\\\\n._--\\\\\\\\3A hover\\\\\\\\3A focus\\\\\\\\3A active { background: lime; }\\\\n._--\\\\\\\\[attr\\\\\\\\=value\\\\\\\\] { background: lime; }\\\\n._--f\\\\\\\\/o\\\\\\\\/o { background: lime; }\\\\n._--f\\\\\\\\\\\\\\\\o\\\\\\\\\\\\\\\\o { background: lime; }\\\\n._--f\\\\\\\\*o\\\\\\\\*o { background: lime; }\\\\n._--f\\\\\\\\!o\\\\\\\\!o { background: lime; }\\\\n._--f\\\\\\\\'o\\\\\\\\'o { background: lime; }\\\\n._--f\\\\\\\\~o\\\\\\\\~o { background: lime; }\\\\n._--f\\\\\\\\+o\\\\\\\\+o { background: lime; }\\\\n\\\\n._--foo\\\\\\\\/bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n._--foo\\\\\\\\\\\\\\\\bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n._--foo\\\\\\\\/bar\\\\\\\\/baz {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n._--foo\\\\\\\\\\\\\\\\bar\\\\\\\\\\\\\\\\baz {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._--test {\\\\n  background: red;\\\\n}\\\\n\\\\n._--_test {\\\\n  background: blue;\\\\n}\\\\n\\\\n._--className {\\\\n  background: red;\\\\n}\\\\n\\\\n#_--someId {\\\\n  background: green;\\\\n}\\\\n\\\\n._--className ._--subClass {\\\\n  color: green;\\\\n}\\\\n\\\\n#_--someId ._--subClass {\\\\n  color: blue;\\\\n}\\\\n\\\\n._---a0-34a___f {\\\\n  color: red;\\\\n}\\\\n\\\\n._--m_x_\\\\\\\\@ {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n._--B\\\\\\\\&W\\\\\\\\? {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n._--\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n._--\\\\\\\\31 a2b3c {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#_--\\\\\\\\#fake-id {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#_---a-b-c- {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#_--© {\\\\n  color: black;\\\\n}\\\\n\\\\n._--♥ { background: lime; }\\\\n._--© { background: lime; }\\\\n._--“‘’” { background: lime; }\\\\n._--☺☃ { background: lime; }\\\\n._--⌘⌥ { background: lime; }\\\\n._--𝄞♪♩♫♬ { background: lime; }\\\\n._--💩 { background: lime; }\\\\n._--\\\\\\\\? { background: lime; }\\\\n._--\\\\\\\\@ { background: lime; }\\\\n._--\\\\\\\\. { background: lime; }\\\\n._--\\\\\\\\3A \\\\\\\\) { background: lime; }\\\\n._--\\\\\\\\3A \\\\\\\\\`\\\\\\\\( { background: lime; }\\\\n._--\\\\\\\\31 23 { background: lime; }\\\\n._--\\\\\\\\31 a2b3c { background: lime; }\\\\n._--\\\\\\\\<p\\\\\\\\> { background: lime; }\\\\n._--\\\\\\\\<\\\\\\\\>\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\>\\\\\\\\>\\\\\\\\<\\\\\\\\> { background: lime; }\\\\n._--\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\[\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\-\\\\\\\\]\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\<\\\\\\\\<\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\. { background: lime; }\\\\n._--\\\\\\\\# { background: lime; }\\\\n._--\\\\\\\\#\\\\\\\\# { background: lime; }\\\\n._--\\\\\\\\#\\\\\\\\.\\\\\\\\#\\\\\\\\.\\\\\\\\# { background: lime; }\\\\n._--\\\\\\\\_ { background: lime; }\\\\n._--\\\\\\\\{\\\\\\\\} { background: lime; }\\\\n._--\\\\\\\\#fake\\\\\\\\-id { background: lime; }\\\\n._--foo\\\\\\\\.bar { background: lime; }\\\\n._--\\\\\\\\3A hover { background: lime; }\\\\n._--\\\\\\\\3A hover\\\\\\\\3A focus\\\\\\\\3A active { background: lime; }\\\\n._--\\\\\\\\[attr\\\\\\\\=value\\\\\\\\] { background: lime; }\\\\n._--f\\\\\\\\/o\\\\\\\\/o { background: lime; }\\\\n._--f\\\\\\\\\\\\\\\\o\\\\\\\\\\\\\\\\o { background: lime; }\\\\n._--f\\\\\\\\*o\\\\\\\\*o { background: lime; }\\\\n._--f\\\\\\\\!o\\\\\\\\!o { background: lime; }\\\\n._--f\\\\\\\\'o\\\\\\\\'o { background: lime; }\\\\n._--f\\\\\\\\~o\\\\\\\\~o { background: lime; }\\\\n._--f\\\\\\\\+o\\\\\\\\+o { background: lime; }\\\\n\\\\n._--foo\\\\\\\\/bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n._--foo\\\\\\\\\\\\\\\\bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n._--foo\\\\\\\\/bar\\\\\\\\/baz {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n._--foo\\\\\\\\\\\\\\\\bar\\\\\\\\\\\\\\\\baz {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"123\\": \\"_--123\\",
 	\\"test\\": \\"_--test\\",
 	\\"_test\\": \\"_--_test\\",
@@ -726,7 +769,7 @@ exports.locals = {
 	\\"foo/bar/baz\\": \\"_--foo/bar/baz\\",
 	\\"foo\\\\\\\\bar\\\\\\\\baz\\": \\"_--foo\\\\\\\\bar\\\\\\\\baz\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -859,12 +902,12 @@ exports[`"modules" option should should work with two leading underscore: errors
 
 exports[`"modules" option should should work with two leading underscore: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".__test {\\\\n  background: red;\\\\n}\\\\n\\\\n.___test {\\\\n  background: blue;\\\\n}\\\\n\\\\n.__className {\\\\n  background: red;\\\\n}\\\\n\\\\n#__someId {\\\\n  background: green;\\\\n}\\\\n\\\\n.__className .__subClass {\\\\n  color: green;\\\\n}\\\\n\\\\n#__someId .__subClass {\\\\n  color: blue;\\\\n}\\\\n\\\\n.__-a0-34a___f {\\\\n  color: red;\\\\n}\\\\n\\\\n.__m_x_\\\\\\\\@ {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n.__B\\\\\\\\&W\\\\\\\\? {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.__\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n.__\\\\\\\\31 a2b3c {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#__\\\\\\\\#fake-id {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#__-a-b-c- {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#__© {\\\\n  color: black;\\\\n}\\\\n\\\\n.__♥ { background: lime; }\\\\n.__© { background: lime; }\\\\n.__“‘’” { background: lime; }\\\\n.__☺☃ { background: lime; }\\\\n.__⌘⌥ { background: lime; }\\\\n.__𝄞♪♩♫♬ { background: lime; }\\\\n.__💩 { background: lime; }\\\\n.__\\\\\\\\? { background: lime; }\\\\n.__\\\\\\\\@ { background: lime; }\\\\n.__\\\\\\\\. { background: lime; }\\\\n.__\\\\\\\\3A \\\\\\\\) { background: lime; }\\\\n.__\\\\\\\\3A \\\\\\\\\`\\\\\\\\( { background: lime; }\\\\n.__\\\\\\\\31 23 { background: lime; }\\\\n.__\\\\\\\\31 a2b3c { background: lime; }\\\\n.__\\\\\\\\<p\\\\\\\\> { background: lime; }\\\\n.__\\\\\\\\<\\\\\\\\>\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\>\\\\\\\\>\\\\\\\\<\\\\\\\\> { background: lime; }\\\\n.__\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\[\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\-\\\\\\\\]\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\<\\\\\\\\<\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\. { background: lime; }\\\\n.__\\\\\\\\# { background: lime; }\\\\n.__\\\\\\\\#\\\\\\\\# { background: lime; }\\\\n.__\\\\\\\\#\\\\\\\\.\\\\\\\\#\\\\\\\\.\\\\\\\\# { background: lime; }\\\\n.__\\\\\\\\_ { background: lime; }\\\\n.__\\\\\\\\{\\\\\\\\} { background: lime; }\\\\n.__\\\\\\\\#fake\\\\\\\\-id { background: lime; }\\\\n.__foo\\\\\\\\.bar { background: lime; }\\\\n.__\\\\\\\\3A hover { background: lime; }\\\\n.__\\\\\\\\3A hover\\\\\\\\3A focus\\\\\\\\3A active { background: lime; }\\\\n.__\\\\\\\\[attr\\\\\\\\=value\\\\\\\\] { background: lime; }\\\\n.__f\\\\\\\\/o\\\\\\\\/o { background: lime; }\\\\n.__f\\\\\\\\\\\\\\\\o\\\\\\\\\\\\\\\\o { background: lime; }\\\\n.__f\\\\\\\\*o\\\\\\\\*o { background: lime; }\\\\n.__f\\\\\\\\!o\\\\\\\\!o { background: lime; }\\\\n.__f\\\\\\\\'o\\\\\\\\'o { background: lime; }\\\\n.__f\\\\\\\\~o\\\\\\\\~o { background: lime; }\\\\n.__f\\\\\\\\+o\\\\\\\\+o { background: lime; }\\\\n\\\\n.__foo\\\\\\\\/bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.__foo\\\\\\\\\\\\\\\\bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.__foo\\\\\\\\/bar\\\\\\\\/baz {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.__foo\\\\\\\\\\\\\\\\bar\\\\\\\\\\\\\\\\baz {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".__test {\\\\n  background: red;\\\\n}\\\\n\\\\n.___test {\\\\n  background: blue;\\\\n}\\\\n\\\\n.__className {\\\\n  background: red;\\\\n}\\\\n\\\\n#__someId {\\\\n  background: green;\\\\n}\\\\n\\\\n.__className .__subClass {\\\\n  color: green;\\\\n}\\\\n\\\\n#__someId .__subClass {\\\\n  color: blue;\\\\n}\\\\n\\\\n.__-a0-34a___f {\\\\n  color: red;\\\\n}\\\\n\\\\n.__m_x_\\\\\\\\@ {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n.__B\\\\\\\\&W\\\\\\\\? {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.__\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n.__\\\\\\\\31 a2b3c {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#__\\\\\\\\#fake-id {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#__-a-b-c- {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#__© {\\\\n  color: black;\\\\n}\\\\n\\\\n.__♥ { background: lime; }\\\\n.__© { background: lime; }\\\\n.__“‘’” { background: lime; }\\\\n.__☺☃ { background: lime; }\\\\n.__⌘⌥ { background: lime; }\\\\n.__𝄞♪♩♫♬ { background: lime; }\\\\n.__💩 { background: lime; }\\\\n.__\\\\\\\\? { background: lime; }\\\\n.__\\\\\\\\@ { background: lime; }\\\\n.__\\\\\\\\. { background: lime; }\\\\n.__\\\\\\\\3A \\\\\\\\) { background: lime; }\\\\n.__\\\\\\\\3A \\\\\\\\\`\\\\\\\\( { background: lime; }\\\\n.__\\\\\\\\31 23 { background: lime; }\\\\n.__\\\\\\\\31 a2b3c { background: lime; }\\\\n.__\\\\\\\\<p\\\\\\\\> { background: lime; }\\\\n.__\\\\\\\\<\\\\\\\\>\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\>\\\\\\\\>\\\\\\\\<\\\\\\\\> { background: lime; }\\\\n.__\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\[\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\-\\\\\\\\]\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\<\\\\\\\\<\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\. { background: lime; }\\\\n.__\\\\\\\\# { background: lime; }\\\\n.__\\\\\\\\#\\\\\\\\# { background: lime; }\\\\n.__\\\\\\\\#\\\\\\\\.\\\\\\\\#\\\\\\\\.\\\\\\\\# { background: lime; }\\\\n.__\\\\\\\\_ { background: lime; }\\\\n.__\\\\\\\\{\\\\\\\\} { background: lime; }\\\\n.__\\\\\\\\#fake\\\\\\\\-id { background: lime; }\\\\n.__foo\\\\\\\\.bar { background: lime; }\\\\n.__\\\\\\\\3A hover { background: lime; }\\\\n.__\\\\\\\\3A hover\\\\\\\\3A focus\\\\\\\\3A active { background: lime; }\\\\n.__\\\\\\\\[attr\\\\\\\\=value\\\\\\\\] { background: lime; }\\\\n.__f\\\\\\\\/o\\\\\\\\/o { background: lime; }\\\\n.__f\\\\\\\\\\\\\\\\o\\\\\\\\\\\\\\\\o { background: lime; }\\\\n.__f\\\\\\\\*o\\\\\\\\*o { background: lime; }\\\\n.__f\\\\\\\\!o\\\\\\\\!o { background: lime; }\\\\n.__f\\\\\\\\'o\\\\\\\\'o { background: lime; }\\\\n.__f\\\\\\\\~o\\\\\\\\~o { background: lime; }\\\\n.__f\\\\\\\\+o\\\\\\\\+o { background: lime; }\\\\n\\\\n.__foo\\\\\\\\/bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.__foo\\\\\\\\\\\\\\\\bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.__foo\\\\\\\\/bar\\\\\\\\/baz {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.__foo\\\\\\\\\\\\\\\\bar\\\\\\\\\\\\\\\\baz {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"123\\": \\"__123\\",
 	\\"test\\": \\"__test\\",
 	\\"_test\\": \\"___test\\",
@@ -913,7 +956,7 @@ exports.locals = {
 	\\"foo/bar/baz\\": \\"__foo/bar/baz\\",
 	\\"foo\\\\\\\\bar\\\\\\\\baz\\": \\"__foo\\\\\\\\bar\\\\\\\\baz\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -1042,35 +1085,122 @@ Array [
 
 exports[`"modules" option should should work with two leading underscore: warnings 1`] = `Array []`;
 
+exports[`"modules" option should support resolving in composes preprocessor files with extensions: errors 1`] = `Array []`;
+
+exports[`"modules" option should support resolving in composes preprocessor files with extensions: module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../src/index.js??[ident]!./values.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_1___ from \\"-!../../../../src/index.js??[ident]!./less-file.less\\";
+import ___CSS_LOADER_ICSS_IMPORT_2___ from \\"-!../../../../src/index.js??[ident]!./scss-file.scss\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_2___, \\"\\", true);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\".globalClassName {\\\\n  color: orange;\\\\n}\\\\n\\\\n._2d7R2XcZsl6OcUNKfX7pmx {\\\\n  color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-def\\"] + \\";\\\\n}\\\\n\\\\n._31rsAVggND7BS1fjrxMLrr {\\\\n  color: \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"v-foo\\"] + \\";\\\\n}\\\\n\\\\n.dfrcIRfvBBvQ_nBbSyURY {\\\\n  color: \\" + ___CSS_LOADER_ICSS_IMPORT_2___.locals[\\"v-bar\\"] + \\";\\\\n}\\\\n\\\\n.GL-qbZRhX1_a4FD6-aplW {\\\\n  background: #000;\\\\n}\\\\n\\", \\"\\"]);
+// Exports
+___CSS_LOADER_EXPORT___.locals = {
+	\\"v-def\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-def\\"] + \\"\\",
+	\\"v-foo\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"v-foo\\"] + \\"\\",
+	\\"v-bar\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_2___.locals[\\"v-bar\\"] + \\"\\",
+	\\"globalClassName\\": \\"globalClassName\\",
+	\\"ghi\\": \\"_2d7R2XcZsl6OcUNKfX7pmx\\",
+	\\"class\\": \\"_31rsAVggND7BS1fjrxMLrr \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"lessClass\\"] + \\"\\",
+	\\"other\\": \\"dfrcIRfvBBvQ_nBbSyURY \\" + ___CSS_LOADER_ICSS_IMPORT_2___.locals[\\"scssClass\\"] + \\"\\",
+	\\"otherClassName\\": \\"GL-qbZRhX1_a4FD6-aplW globalClassName\\"
+};
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"modules" option should support resolving in composes preprocessor files with extensions: result 1`] = `
+Array [
+  Array [
+    "../../src/index.js?[ident]!./modules/composes/values.css",
+    "
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./modules/composes/less-file.less",
+    ".AU34OOlIeGkUgT2KVHTK_ {
+  padding: 5px;
+}
+",
+    "",
+  ],
+  Array [
+    "../../src/index.js?[ident]!./modules/composes/scss-file.scss",
+    "$color: red;
+
+._14lUoCryZnM4Rrkm49iWuC {
+  color: $color;
+  padding: 15px;
+}
+",
+    "",
+  ],
+  Array [
+    "./modules/composes/composes-preprocessors.css",
+    ".globalClassName {
+  color: orange;
+}
+
+._2d7R2XcZsl6OcUNKfX7pmx {
+  color: red;
+}
+
+._31rsAVggND7BS1fjrxMLrr {
+  color: green;
+}
+
+.dfrcIRfvBBvQ_nBbSyURY {
+  color: white;
+}
+
+.GL-qbZRhX1_a4FD6-aplW {
+  background: #000;
+}
+",
+    "",
+  ],
+]
+`;
+
+exports[`"modules" option should support resolving in composes preprocessor files with extensions: warnings 1`] = `Array []`;
+
 exports[`"modules" option should support resolving in composes: errors 1`] = `Array []`;
 
 exports[`"modules" option should support resolving in composes: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../src/index.js??[ident]!./values.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../../src/index.js??[ident]!./something.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_2___ = require(\\"-!../../../../src/index.js??[ident]!./imported-simple.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_3___ = require(\\"-!../../../../src/index.js??[ident]!./relative.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_4___ = require(\\"-!../../../../src/index.js??[ident]!./top-relative.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_5___ = require(\\"-!../../../../src/index.js??[ident]!../issue-861/node_modules/package/style.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_6___ = require(\\"-!../../../../src/index.js??[ident]!aliasesComposes/alias.css\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../../src/index.js??[ident]!./test-other.css\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"../../url/img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
-exports.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
-exports.i(___CSS_LOADER_ICSS_IMPORT_2___, \\"\\", true);
-exports.i(___CSS_LOADER_ICSS_IMPORT_3___, \\"\\", true);
-exports.i(___CSS_LOADER_ICSS_IMPORT_4___, \\"\\", true);
-exports.i(___CSS_LOADER_ICSS_IMPORT_5___, \\"\\", true);
-exports.i(___CSS_LOADER_ICSS_IMPORT_6___, \\"\\", true);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"(min-width: 100px)\\");
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../src/index.js??[ident]!./values.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_1___ from \\"-!../../../../src/index.js??[ident]!./something.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_2___ from \\"-!../../../../src/index.js??[ident]!./imported-simple.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_3___ from \\"-!../../../../src/index.js??[ident]!./relative.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_4___ from \\"-!../../../../src/index.js??[ident]!./top-relative.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_5___ from \\"-!../../../../src/index.js??[ident]!../issue-861/node_modules/package/style.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_6___ from \\"-!../../../../src/index.js??[ident]!./alias.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_7___ from \\"-!../../../../src/index.js??[ident]!./scss-file.scss\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../../src/index.js??[ident]!./test-other.css\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"../../url/img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___, \\"(min-width: 100px)\\");
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_2___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_3___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_4___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_5___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_6___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_7___, \\"\\", true);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\".fSErEFKw3e7Iv0EmVr4Ii {\\\\n  color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-def\\"] + \\";\\\\n}\\\\n\\\\n._1NrOxbibeQ5qcRoPL7kDtu {\\\\n  color: blue;\\\\n}\\\\n\\\\n.djNAVB7y500wM1pkOwuGn {\\\\n  display: block;\\\\n}\\\\n\\\\n._291GtMV2HIwa4Iis74myBh {\\\\n  width: \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"v-something\\"] + \\";\\\\n}\\\\n\\\\n._2KPSOif5_L54Ue252-4SMZ {\\\\n  color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-other\\"] + \\";\\\\n}\\\\n\\\\n._1ZuFusdyp6cE2KJ9RECux1 {\\\\n  prop: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-def\\"] + \\";\\\\n  duplicate: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-other\\"] + \\";\\\\n}\\\\n\\\\n.dMcylihD3G3oGCNWDsAa3 {\\\\n  color: red;\\\\n}\\\\n\\\\n._2t9qA9qE4OH2A3DVwUtOFP {\\\\n  color: yellow;\\\\n}\\\\n\\\\n._1XQGy4UOqsVVHSULdn-uc6 {\\\\n  color: gray;\\\\n}\\\\n\\\\n._3oZRfl5v6W4ji2oerfYhpL {\\\\n  color: gray;\\\\n}\\\\n\\\\n._1KLfOsDDmt6EGUIDKukOvV {\\\\n  color: gainsboro;\\\\n}\\\\n\\\\n.PxB1r-csu3e3lUOZiD69t {\\\\n  color: #BF4040;\\\\n}\\\\n\\\\n._2nUmv-YIlxvzza9j2rJQjJ {\\\\n  color: black;\\\\n}\\\\n\\\\n@media (min-width: 960px) {\\\\n  ._21OP3aGLw7Si4lLuiK3vhf {\\\\n    padding: 0 20px;\\\\n  }\\\\n}\\\\n\\\\n.\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"s-white\\"] + \\" {\\\\n  color: white;\\\\n}\\\\n\\\\n@media \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"m-small\\"] + \\" {\\\\n  ._21OP3aGLw7Si4lLuiK3vhf {\\\\n    padding: 20px 20px;\\\\n  }\\\\n}\\\\n@value v-comment: /* comment */;\\\\n\\\\n.zbowt65f4EBNzWh_uiPv0 {\\\\n  v-ident: validIdent;\\\\n  v-pre-defined-ident: left;\\\\n  v-string: 'content';\\\\n  v-string-1: '';\\\\n  v-url: url(https://www.exammple.com/images/my-background.png);\\\\n  v-url-1: url('https://www.exammple.com/images/my-background.png');\\\\n  v-url-2: url(\\\\\\"https://www.exammple.com/images/my-background.png\\\\\\");\\\\n  v-integer: 100;\\\\n  v-integer-1: -100;\\\\n  v-integer-2: +100;\\\\n  v-number: .60;\\\\n  v-number-1: -456.8;\\\\n  v-number-2: -3.4e-2;\\\\n  v-dimension: 12px;\\\\n  v-percentage: 100%;\\\\n  v-hex: #fff;\\\\n  v-comment: v-comment 10px v-comment;\\\\n  v-function: rgb(0,0,0);\\\\n  v-unicode-range: U+0025-00FF;\\\\n  mutliple: #fff .60 100%;\\\\n}\\\\n\\\\n\\\\na {\\\\n  content: 'content';\\\\n}\\\\n\\\\n@supports (content: 'content') {\\\\n  a {\\\\n    content: 'content';\\\\n  }\\\\n}\\\\n\\\\n[class~='content'] {\\\\n  color:green;\\\\n}\\\\n\\\\n._3yApLlXpoidfnd3JfO_WEf {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2ZmR2b3YBVn0i8sme-abcC {\\\\n  color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-def\\"] + \\";\\\\n}\\\\n\\\\n._3dxIylSbTBEe450DFBxy5D {\\\\n  color: blue;\\\\n}\\\\n\\\\n.EcQSwQce4PuQ5vNAybT9N {\\\\n  display: block;\\\\n}\\\\n\\\\n.hTH4alr_d-S0jPncN6ib3 {\\\\n  width: \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"v-something\\"] + \\";\\\\n}\\\\n\\\\n._7sobwviowI6_CZkzLjYZG {\\\\n  color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-other\\"] + \\";\\\\n}\\\\n\\\\n.YpDepip9R1BGGAy-rGgvc {\\\\n  prop: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-def\\"] + \\";\\\\n  duplicate: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-other\\"] + \\";\\\\n}\\\\n\\\\n._3dfrN27nghAjb3tcT6R_Ov {\\\\n  color: red;\\\\n}\\\\n\\\\n._3aPunKIij5oyAtcB6y9-Xm {\\\\n  color: yellow;\\\\n}\\\\n\\\\n._3Qp0o615k38gm2l4OVRknw {\\\\n  color: gray;\\\\n}\\\\n\\\\n._2Zsff12VKF2NbAGVE1sdzC {\\\\n  color: gray;\\\\n}\\\\n\\\\n._3itMfHbLQSSkBisENyA8TF {\\\\n  color: gainsboro;\\\\n}\\\\n\\\\n._2ChGydqcGYRLzAo3_Iomr2 {\\\\n  color: gainsboro;\\\\n}\\\\n\\\\n._1ai7yu9kkZ_8JwK0EMbe6U {\\\\n  color: #BF4040;\\\\n}\\\\n\\\\n.OX01CBO1Ma7xJh6yAybXq {\\\\n  color: black;\\\\n}\\\\n\\\\n@media (min-width: 960px) {\\\\n  ._2Yk-wvfy8t_ESEwwB1Fc0y {\\\\n    padding: 0 20px;\\\\n  }\\\\n}\\\\n\\\\n.\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"s-white\\"] + \\" {\\\\n  color: white;\\\\n}\\\\n\\\\n@media \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"m-small\\"] + \\" {\\\\n  ._2Yk-wvfy8t_ESEwwB1Fc0y {\\\\n    padding: 20px 20px;\\\\n  }\\\\n}\\\\n@value v-comment: /* comment */;\\\\n\\\\n._2PhbElc8FsODw7KMuxWJyk {\\\\n  v-ident: validIdent;\\\\n  v-pre-defined-ident: left;\\\\n  v-string: 'content';\\\\n  v-string-1: '';\\\\n  v-url: url(https://www.exammple.com/images/my-background.png);\\\\n  v-url-1: url('https://www.exammple.com/images/my-background.png');\\\\n  v-url-2: url(\\\\\\"https://www.exammple.com/images/my-background.png\\\\\\");\\\\n  v-integer: 100;\\\\n  v-integer-1: -100;\\\\n  v-integer-2: +100;\\\\n  v-number: .60;\\\\n  v-number-1: -456.8;\\\\n  v-number-2: -3.4e-2;\\\\n  v-dimension: 12px;\\\\n  v-percentage: 100%;\\\\n  v-hex: #fff;\\\\n  v-comment: v-comment 10px v-comment;\\\\n  v-function: rgb(0,0,0);\\\\n  v-unicode-range: U+0025-00FF;\\\\n  mutliple: #fff .60 100%;\\\\n}\\\\n\\\\n\\\\na {\\\\n  content: 'content';\\\\n}\\\\n\\\\n@supports (content: 'content') {\\\\n  a {\\\\n    content: 'content';\\\\n  }\\\\n}\\\\n\\\\n[class~='content'] {\\\\n  color:green;\\\\n}\\\\n\\\\n._1qvhWcgsRpzv9-_jaooxI0 {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n._1-QX-dLNLF1zFn-cPfLHcH {\\\\n  background: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"v-def\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-def\\"] + \\"\\",
 	\\"v-other\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-other\\"] + \\"\\",
 	\\"s-white\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"s-white\\"] + \\"\\",
@@ -1099,29 +1229,39 @@ exports.locals = {
 	\\"v-hex\\": \\"#fff\\",
 	\\"v-function\\": \\"rgb(0,0,0)\\",
 	\\"v-unicode-range\\": \\"U+0025-00FF\\",
-	\\"ghi\\": \\"fSErEFKw3e7Iv0EmVr4Ii\\",
-	\\"class\\": \\"_1NrOxbibeQ5qcRoPL7kDtu\\",
-	\\"other\\": \\"djNAVB7y500wM1pkOwuGn\\",
-	\\"other-other\\": \\"_291GtMV2HIwa4Iis74myBh\\",
-	\\"green\\": \\"_2KPSOif5_L54Ue252-4SMZ\\",
-	\\"foo\\": \\"_1ZuFusdyp6cE2KJ9RECux1\\",
-	\\"simple\\": \\"dMcylihD3G3oGCNWDsAa3 \\" + ___CSS_LOADER_ICSS_IMPORT_2___.locals[\\"imported-simple\\"] + \\"\\",
-	\\"relative\\": \\"_2t9qA9qE4OH2A3DVwUtOFP \\" + ___CSS_LOADER_ICSS_IMPORT_3___.locals[\\"imported-relative\\"] + \\"\\",
-	\\"top-relative\\": \\"_1XQGy4UOqsVVHSULdn-uc6 \\" + ___CSS_LOADER_ICSS_IMPORT_4___.locals[\\"imported-relative\\"] + \\"\\",
-	\\"module\\": \\"_3oZRfl5v6W4ji2oerfYhpL \\" + ___CSS_LOADER_ICSS_IMPORT_5___.locals[\\"imported-module\\"] + \\"\\",
-	\\"alias\\": \\"_1KLfOsDDmt6EGUIDKukOvV \\" + ___CSS_LOADER_ICSS_IMPORT_6___.locals[\\"imported-alias\\"] + \\"\\",
-	\\"primary-selector\\": \\"PxB1r-csu3e3lUOZiD69t\\",
-	\\"black-selector\\": \\"_2nUmv-YIlxvzza9j2rJQjJ\\",
-	\\"header\\": \\"_21OP3aGLw7Si4lLuiK3vhf\\",
-	\\"foobarbaz\\": \\"zbowt65f4EBNzWh_uiPv0\\",
-	\\"url\\": \\"_3yApLlXpoidfnd3JfO_WEf\\"
-};
-module.exports = exports;
+	\\"ghi\\": \\"_2ZmR2b3YBVn0i8sme-abcC\\",
+	\\"class\\": \\"_3dxIylSbTBEe450DFBxy5D\\",
+	\\"other\\": \\"EcQSwQce4PuQ5vNAybT9N\\",
+	\\"other-other\\": \\"hTH4alr_d-S0jPncN6ib3\\",
+	\\"green\\": \\"_7sobwviowI6_CZkzLjYZG\\",
+	\\"foo\\": \\"YpDepip9R1BGGAy-rGgvc\\",
+	\\"simple\\": \\"_3dfrN27nghAjb3tcT6R_Ov \\" + ___CSS_LOADER_ICSS_IMPORT_2___.locals[\\"imported-simple\\"] + \\"\\",
+	\\"relative\\": \\"_3aPunKIij5oyAtcB6y9-Xm \\" + ___CSS_LOADER_ICSS_IMPORT_3___.locals[\\"imported-relative\\"] + \\"\\",
+	\\"top-relative\\": \\"_3Qp0o615k38gm2l4OVRknw \\" + ___CSS_LOADER_ICSS_IMPORT_4___.locals[\\"imported-relative\\"] + \\"\\",
+	\\"module\\": \\"_2Zsff12VKF2NbAGVE1sdzC \\" + ___CSS_LOADER_ICSS_IMPORT_5___.locals[\\"imported-module\\"] + \\"\\",
+	\\"alias\\": \\"_3itMfHbLQSSkBisENyA8TF \\" + ___CSS_LOADER_ICSS_IMPORT_6___.locals[\\"imported-alias\\"] + \\"\\",
+	\\"alias-duplicate\\": \\"_2ChGydqcGYRLzAo3_Iomr2 \\" + ___CSS_LOADER_ICSS_IMPORT_6___.locals[\\"imported-alias\\"] + \\"\\",
+	\\"primary-selector\\": \\"_1ai7yu9kkZ_8JwK0EMbe6U\\",
+	\\"black-selector\\": \\"OX01CBO1Ma7xJh6yAybXq\\",
+	\\"header\\": \\"_2Yk-wvfy8t_ESEwwB1Fc0y\\",
+	\\"foobarbaz\\": \\"_2PhbElc8FsODw7KMuxWJyk\\",
+	\\"url\\": \\"_1qvhWcgsRpzv9-_jaooxI0\\",
+	\\"main\\": \\"_1-QX-dLNLF1zFn-cPfLHcH \\" + ___CSS_LOADER_ICSS_IMPORT_7___.locals[\\"scssClass\\"] + \\"\\"
+};
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
 exports[`"modules" option should support resolving in composes: result 1`] = `
 Array [
+  Array [
+    "../../src/index.js?[ident]!./modules/composes/test-other.css",
+    "._24axXNO_oC23T0D0YAz-0Y {
+  d: d;
+}
+",
+    "(min-width: 100px)",
+  ],
   Array [
     "../../src/index.js?[ident]!./modules/composes/values.css",
     "
@@ -1136,7 +1276,7 @@ Array [
   ],
   Array [
     "../../src/index.js?[ident]!./modules/composes/imported-simple.css",
-    "._15HqoDBChWnuDGxJ6jOtUV {
+    "._1LcKtmpK51ikm2OTXu6tSg {
   display: block;
 }
 ",
@@ -1144,7 +1284,7 @@ Array [
   ],
   Array [
     "../../src/index.js?[ident]!./modules/composes/relative.css",
-    "._2XpGrQ60AX7p8fQT9hACyH {
+    "._1bYd-W6Pwrt_8yXpE4FBEu {
   display: inline;
 }
 ",
@@ -1152,7 +1292,7 @@ Array [
   ],
   Array [
     "../../src/index.js?[ident]!./modules/composes/top-relative.css",
-    "._1Ua1iZV27bUg7cs1NExheb {
+    "._2RvZm_IQCQC3YXopKglSUM {
   display: flex;
 }
 ",
@@ -1160,7 +1300,7 @@ Array [
   ],
   Array [
     "../../src/index.js?[ident]!./modules/issue-861/node_modules/package/style.css",
-    ".HM73Ud1_EQz1eaYocwagZ {
+    "._2212NWEpBgAjfmZAD6jJwU {
   display: inline-block;
 }
 ",
@@ -1168,77 +1308,81 @@ Array [
   ],
   Array [
     "../../src/index.js?[ident]!./modules/composes/alias.css",
-    "._1qxfPu6Vbru-xS0LA5GWJT {
+    ".gASNE59vLxrkyu1XPoUrX {
   display: table;
 }
 ",
     "",
   ],
   Array [
-    "../../src/index.js?[ident]!./modules/composes/test-other.css",
-    "._2KbNYW68v_VxbQ8XdpUuGh {
-  d: d;
-}
-",
-    "(min-width: 100px)",
+    "../../src/index.js?[ident]!./modules/composes/scss-file.scss",
+    "._14lUoCryZnM4Rrkm49iWuC {
+  color: red;
+  padding: 15px;
+}",
+    "",
   ],
   Array [
     "./modules/composes/composes.css",
-    ".fSErEFKw3e7Iv0EmVr4Ii {
+    "._2ZmR2b3YBVn0i8sme-abcC {
   color: red;
 }
 
-._1NrOxbibeQ5qcRoPL7kDtu {
+._3dxIylSbTBEe450DFBxy5D {
   color: blue;
 }
 
-.djNAVB7y500wM1pkOwuGn {
+.EcQSwQce4PuQ5vNAybT9N {
   display: block;
 }
 
-._291GtMV2HIwa4Iis74myBh {
+.hTH4alr_d-S0jPncN6ib3 {
   width: 2112moon;
 }
 
-._2KPSOif5_L54Ue252-4SMZ {
+._7sobwviowI6_CZkzLjYZG {
   color: green;
 }
 
-._1ZuFusdyp6cE2KJ9RECux1 {
+.YpDepip9R1BGGAy-rGgvc {
   prop: red;
   duplicate: green;
 }
 
-.dMcylihD3G3oGCNWDsAa3 {
+._3dfrN27nghAjb3tcT6R_Ov {
   color: red;
 }
 
-._2t9qA9qE4OH2A3DVwUtOFP {
+._3aPunKIij5oyAtcB6y9-Xm {
   color: yellow;
 }
 
-._1XQGy4UOqsVVHSULdn-uc6 {
+._3Qp0o615k38gm2l4OVRknw {
   color: gray;
 }
 
-._3oZRfl5v6W4ji2oerfYhpL {
+._2Zsff12VKF2NbAGVE1sdzC {
   color: gray;
 }
 
-._1KLfOsDDmt6EGUIDKukOvV {
+._3itMfHbLQSSkBisENyA8TF {
+  color: gainsboro;
+}
+
+._2ChGydqcGYRLzAo3_Iomr2 {
   color: gainsboro;
 }
 
-.PxB1r-csu3e3lUOZiD69t {
+._1ai7yu9kkZ_8JwK0EMbe6U {
   color: #BF4040;
 }
 
-._2nUmv-YIlxvzza9j2rJQjJ {
+.OX01CBO1Ma7xJh6yAybXq {
   color: black;
 }
 
 @media (min-width: 960px) {
-  ._21OP3aGLw7Si4lLuiK3vhf {
+  ._2Yk-wvfy8t_ESEwwB1Fc0y {
     padding: 0 20px;
   }
 }
@@ -1248,13 +1392,13 @@ Array [
 }
 
 @media (min-width: 320px) {
-  ._21OP3aGLw7Si4lLuiK3vhf {
+  ._2Yk-wvfy8t_ESEwwB1Fc0y {
     padding: 20px 20px;
   }
 }
 @value v-comment: /* comment */;
 
-.zbowt65f4EBNzWh_uiPv0 {
+._2PhbElc8FsODw7KMuxWJyk {
   v-ident: validIdent;
   v-pre-defined-ident: left;
   v-string: 'content';
@@ -1292,9 +1436,13 @@ a {
   color:green;
 }
 
-._3yApLlXpoidfnd3JfO_WEf {
+._1qvhWcgsRpzv9-_jaooxI0 {
   background: url(/webpack/public/path/img.png);
 }
+
+._1-QX-dLNLF1zFn-cPfLHcH {
+  background: red;
+}
 ",
     "",
   ],
@@ -1303,65 +1451,101 @@ a {
 
 exports[`"modules" option should support resolving in composes: warnings 1`] = `Array []`;
 
+exports[`"modules" option should throw an error on unresolved import: errors 1`] = `
+Array [
+  "ModuleBuildError: Module build failed (from \`replaced original path\`):
+Error: Can't resolve './unresolved.css' in '/test/fixtures/modules/unresolved'",
+]
+`;
+
+exports[`"modules" option should throw an error on unresolved import: warnings 1`] = `Array []`;
+
+exports[`"modules" option should throw an error when class has unsupported name (JavaScript reserved words): errors 1`] = `
+Array [
+  "ModuleParseError: Module parse failed: Unexpected keyword 'class' (7:13)
+File was processed with these loaders:",
+]
+`;
+
+exports[`"modules" option should throw an error when class has unsupported name (JavaScript reserved words): warnings 1`] = `Array []`;
+
+exports[`"modules" option should throw an error when the "namedExport" is enabled and the "exportLocalsConvention" options has not "camelCaseOnly" value: errors 1`] = `
+Array [
+  "ModuleBuildError: Module build failed (from \`replaced original path\`):
+Error: The \\"modules.namedExport\\" option requires the \\"modules.exportLocalsConvention\\" option to be \\"camelCaseOnly\\"",
+]
+`;
+
+exports[`"modules" option should throw an error when the "namedExport" is enabled and the "exportLocalsConvention" options has not "camelCaseOnly" value: warnings 1`] = `Array []`;
+
+exports[`"modules" option should throw an error when the "namedExport" option is "true", but the "esModule" is "false": errors 1`] = `
+Array [
+  "ModuleBuildError: Module build failed (from \`replaced original path\`):
+Error: The \\"modules.namedExport\\" option requires the \\"esModules\\" option to be enabled",
+]
+`;
+
+exports[`"modules" option should throw an error when the "namedExport" option is "true", but the "esModule" is "false": warnings 1`] = `Array []`;
+
 exports[`"modules" option should work and correctly replace escaped symbols: errors 1`] = `Array []`;
 
 exports[`"modules" option should work and correctly replace escaped symbols: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-// Module
-exports.push([module.id, \\".test--_cpw {\\\\n  background: red;\\\\n}\\\\n\\\\n._test--1dIr {\\\\n  background: blue;\\\\n}\\\\n\\\\n.className--2YAI {\\\\n  background: red;\\\\n}\\\\n\\\\n#someId--2mXV {\\\\n  background: green;\\\\n}\\\\n\\\\n.className--2YAI .subClass--hcOs {\\\\n  color: green;\\\\n}\\\\n\\\\n#someId--2mXV .subClass--hcOs {\\\\n  color: blue;\\\\n}\\\\n\\\\n.-a0-34a___f--AnzW {\\\\n  color: red;\\\\n}\\\\n\\\\n.m_x_\\\\\\\\@--Nqdt {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n.B\\\\\\\\&W\\\\\\\\?--IYdL {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\(--riRD {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n.\\\\\\\\31 a2b3c--zIJ8 {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#\\\\\\\\#fake-id--3i8C {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#-a-b-c---1LFn {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#©--1rph {\\\\n  color: black;\\\\n}\\\\n\\\\n.♥--3hI- { background: lime; }\\\\n.©--1rph { background: lime; }\\\\n.“‘’”--2-Fc { background: lime; }\\\\n.☺☃--1ndr { background: lime; }\\\\n.⌘⌥--gxaZ { background: lime; }\\\\n.𝄞♪♩♫♬--mLhO { background: lime; }\\\\n.💩--2t9K { background: lime; }\\\\n.\\\\\\\\?--2I0o { background: lime; }\\\\n.\\\\\\\\@--sCVd { background: lime; }\\\\n.\\\\\\\\.--1HRZ { background: lime; }\\\\n.\\\\\\\\3A \\\\\\\\)--mhBL { background: lime; }\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\(--riRD { background: lime; }\\\\n.\\\\\\\\31 23--12FW { background: lime; }\\\\n.\\\\\\\\31 a2b3c--zIJ8 { background: lime; }\\\\n.\\\\\\\\<p\\\\\\\\>--IjVt { background: lime; }\\\\n.\\\\\\\\<\\\\\\\\>\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\>\\\\\\\\>\\\\\\\\<\\\\\\\\>--oXLW { background: lime; }\\\\n.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\[\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\-\\\\\\\\]\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\<\\\\\\\\<\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.--2HMg { background: lime; }\\\\n.\\\\\\\\#--2hLv { background: lime; }\\\\n.\\\\\\\\#\\\\\\\\#--2LwZ { background: lime; }\\\\n.\\\\\\\\#\\\\\\\\.\\\\\\\\#\\\\\\\\.\\\\\\\\#--i0DF { background: lime; }\\\\n.\\\\\\\\_--1er0 { background: lime; }\\\\n.\\\\\\\\{\\\\\\\\}--2qPT { background: lime; }\\\\n.\\\\\\\\#fake\\\\\\\\-id--3i8C { background: lime; }\\\\n.foo\\\\\\\\.bar--1Tdk { background: lime; }\\\\n.\\\\\\\\3A hover--1vI4 { background: lime; }\\\\n.\\\\\\\\3A hover\\\\\\\\3A focus\\\\\\\\3A active--2ElO { background: lime; }\\\\n.\\\\\\\\[attr\\\\\\\\=value\\\\\\\\]--1AJ- { background: lime; }\\\\n.f\\\\\\\\/o\\\\\\\\/o--3Zs0 { background: lime; }\\\\n.f\\\\\\\\\\\\\\\\o\\\\\\\\\\\\\\\\o--3D2d { background: lime; }\\\\n.f\\\\\\\\*o\\\\\\\\*o--2HQY { background: lime; }\\\\n.f\\\\\\\\!o\\\\\\\\!o--1HIX { background: lime; }\\\\n.f\\\\\\\\'o\\\\\\\\'o--3hCQ { background: lime; }\\\\n.f\\\\\\\\~o\\\\\\\\~o--fXtA { background: lime; }\\\\n.f\\\\\\\\+o\\\\\\\\+o--7duh { background: lime; }\\\\n\\\\n.foo\\\\\\\\/bar--1iGa {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\\\\\\\\\bar--7qaP {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\/bar\\\\\\\\/baz--24g3 {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\\\\\\\\\bar\\\\\\\\\\\\\\\\baz--2NRI {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
-// Exports
-exports.locals = {
-	\\"123\\": \\"123--12FW\\",
-	\\"test\\": \\"test--_cpw\\",
-	\\"_test\\": \\"_test--1dIr\\",
-	\\"className\\": \\"className--2YAI\\",
-	\\"someId\\": \\"someId--2mXV\\",
-	\\"subClass\\": \\"subClass--hcOs\\",
-	\\"-a0-34a___f\\": \\"-a0-34a___f--AnzW\\",
-	\\"m_x_@\\": \\"m_x_@--Nqdt\\",
-	\\"B&W?\\": \\"B&W?--IYdL\\",
-	\\":\`(\\": \\":\`(--riRD\\",
-	\\"1a2b3c\\": \\"1a2b3c--zIJ8\\",
-	\\"#fake-id\\": \\"#fake-id--3i8C\\",
-	\\"-a-b-c-\\": \\"-a-b-c---1LFn\\",
-	\\"©\\": \\"©--1rph\\",
-	\\"♥\\": \\"♥--3hI-\\",
-	\\"“‘’”\\": \\"“‘’”--2-Fc\\",
-	\\"☺☃\\": \\"☺☃--1ndr\\",
-	\\"⌘⌥\\": \\"⌘⌥--gxaZ\\",
-	\\"𝄞♪♩♫♬\\": \\"𝄞♪♩♫♬--mLhO\\",
-	\\"💩\\": \\"💩--2t9K\\",
-	\\"?\\": \\"?--2I0o\\",
-	\\"@\\": \\"@--sCVd\\",
-	\\".\\": \\".--1HRZ\\",
-	\\":)\\": \\":)--mhBL\\",
-	\\"<p>\\": \\"<p>--IjVt\\",
-	\\"<><<<>><>\\": \\"<><<<>><>--oXLW\\",
-	\\"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.\\": \\"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.--2HMg\\",
-	\\"#\\": \\"#--2hLv\\",
-	\\"##\\": \\"##--2LwZ\\",
-	\\"#.#.#\\": \\"#.#.#--i0DF\\",
-	\\"_\\": \\"_--1er0\\",
-	\\"{}\\": \\"{}--2qPT\\",
-	\\"foo.bar\\": \\"foo.bar--1Tdk\\",
-	\\":hover\\": \\":hover--1vI4\\",
-	\\":hover:focus:active\\": \\":hover:focus:active--2ElO\\",
-	\\"[attr=value]\\": \\"[attr=value]--1AJ-\\",
-	\\"f/o/o\\": \\"f/o/o--3Zs0\\",
-	\\"f\\\\\\\\o\\\\\\\\o\\": \\"f\\\\\\\\o\\\\\\\\o--3D2d\\",
-	\\"f*o*o\\": \\"f*o*o--2HQY\\",
-	\\"f!o!o\\": \\"f!o!o--1HIX\\",
-	\\"f'o'o\\": \\"f'o'o--3hCQ\\",
-	\\"f~o~o\\": \\"f~o~o--fXtA\\",
-	\\"f+o+o\\": \\"f+o+o--7duh\\",
-	\\"foo/bar\\": \\"foo/bar--1iGa\\",
-	\\"foo\\\\\\\\bar\\": \\"foo\\\\\\\\bar--7qaP\\",
-	\\"foo/bar/baz\\": \\"foo/bar/baz--24g3\\",
-	\\"foo\\\\\\\\bar\\\\\\\\baz\\": \\"foo\\\\\\\\bar\\\\\\\\baz--2NRI\\"
-};
-module.exports = exports;
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\".test--2Ojp {\\\\n  background: red;\\\\n}\\\\n\\\\n._test--2pZu {\\\\n  background: blue;\\\\n}\\\\n\\\\n.className--2ame {\\\\n  background: red;\\\\n}\\\\n\\\\n#someId--2SKU {\\\\n  background: green;\\\\n}\\\\n\\\\n.className--2ame .subClass--2IUT {\\\\n  color: green;\\\\n}\\\\n\\\\n#someId--2SKU .subClass--2IUT {\\\\n  color: blue;\\\\n}\\\\n\\\\n.-a0-34a___f--10bK {\\\\n  color: red;\\\\n}\\\\n\\\\n.m_x_\\\\\\\\@--25pk {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n.B\\\\\\\\&W\\\\\\\\?--2aTc {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\(--3cIU {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n.\\\\\\\\31 a2b3c--3Llv {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#\\\\\\\\#fake-id--2yX_ {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#-a-b-c---3S11 {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#©--3eZ3 {\\\\n  color: black;\\\\n}\\\\n\\\\n.♥--TxKD { background: lime; }\\\\n.©--3eZ3 { background: lime; }\\\\n.“‘’”--f6cc { background: lime; }\\\\n.☺☃--2c3D { background: lime; }\\\\n.⌘⌥--3J3I { background: lime; }\\\\n.𝄞♪♩♫♬--sMom { background: lime; }\\\\n.💩--Q31q { background: lime; }\\\\n.\\\\\\\\?--3mhI { background: lime; }\\\\n.\\\\\\\\@--1f2I { background: lime; }\\\\n.\\\\\\\\.--3OGC { background: lime; }\\\\n.\\\\\\\\3A \\\\\\\\)--396- { background: lime; }\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\(--3cIU { background: lime; }\\\\n.\\\\\\\\31 23--3QaX { background: lime; }\\\\n.\\\\\\\\31 a2b3c--3Llv { background: lime; }\\\\n.\\\\\\\\<p\\\\\\\\>--2iQr { background: lime; }\\\\n.\\\\\\\\<\\\\\\\\>\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\>\\\\\\\\>\\\\\\\\<\\\\\\\\>--wY_8 { background: lime; }\\\\n.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\[\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\-\\\\\\\\]\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\<\\\\\\\\<\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.--2fRy { background: lime; }\\\\n.\\\\\\\\#--g8wr { background: lime; }\\\\n.\\\\\\\\#\\\\\\\\#--1Tef { background: lime; }\\\\n.\\\\\\\\#\\\\\\\\.\\\\\\\\#\\\\\\\\.\\\\\\\\#--3JZu { background: lime; }\\\\n.\\\\\\\\_--2Wg2 { background: lime; }\\\\n.\\\\\\\\{\\\\\\\\}--3Y7c { background: lime; }\\\\n.\\\\\\\\#fake\\\\\\\\-id--2yX_ { background: lime; }\\\\n.foo\\\\\\\\.bar--2UOh { background: lime; }\\\\n.\\\\\\\\3A hover--1pVo { background: lime; }\\\\n.\\\\\\\\3A hover\\\\\\\\3A focus\\\\\\\\3A active--3hSa { background: lime; }\\\\n.\\\\\\\\[attr\\\\\\\\=value\\\\\\\\]--1LDK { background: lime; }\\\\n.f\\\\\\\\/o\\\\\\\\/o--22wO { background: lime; }\\\\n.f\\\\\\\\\\\\\\\\o\\\\\\\\\\\\\\\\o--17p- { background: lime; }\\\\n.f\\\\\\\\*o\\\\\\\\*o--329E { background: lime; }\\\\n.f\\\\\\\\!o\\\\\\\\!o--1JV- { background: lime; }\\\\n.f\\\\\\\\'o\\\\\\\\'o--g73D { background: lime; }\\\\n.f\\\\\\\\~o\\\\\\\\~o--3JcD { background: lime; }\\\\n.f\\\\\\\\+o\\\\\\\\+o--2gIh { background: lime; }\\\\n\\\\n.foo\\\\\\\\/bar--2M1f {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\\\\\\\\\bar--3y6A {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\/bar\\\\\\\\/baz--Zmhg {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\\\\\\\\\bar\\\\\\\\\\\\\\\\baz--3Jov {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
+// Exports
+___CSS_LOADER_EXPORT___.locals = {
+	\\"123\\": \\"123--3QaX\\",
+	\\"test\\": \\"test--2Ojp\\",
+	\\"_test\\": \\"_test--2pZu\\",
+	\\"className\\": \\"className--2ame\\",
+	\\"someId\\": \\"someId--2SKU\\",
+	\\"subClass\\": \\"subClass--2IUT\\",
+	\\"-a0-34a___f\\": \\"-a0-34a___f--10bK\\",
+	\\"m_x_@\\": \\"m_x_@--25pk\\",
+	\\"B&W?\\": \\"B&W?--2aTc\\",
+	\\":\`(\\": \\":\`(--3cIU\\",
+	\\"1a2b3c\\": \\"1a2b3c--3Llv\\",
+	\\"#fake-id\\": \\"#fake-id--2yX_\\",
+	\\"-a-b-c-\\": \\"-a-b-c---3S11\\",
+	\\"©\\": \\"©--3eZ3\\",
+	\\"♥\\": \\"♥--TxKD\\",
+	\\"“‘’”\\": \\"“‘’”--f6cc\\",
+	\\"☺☃\\": \\"☺☃--2c3D\\",
+	\\"⌘⌥\\": \\"⌘⌥--3J3I\\",
+	\\"𝄞♪♩♫♬\\": \\"𝄞♪♩♫♬--sMom\\",
+	\\"💩\\": \\"💩--Q31q\\",
+	\\"?\\": \\"?--3mhI\\",
+	\\"@\\": \\"@--1f2I\\",
+	\\".\\": \\".--3OGC\\",
+	\\":)\\": \\":)--396-\\",
+	\\"<p>\\": \\"<p>--2iQr\\",
+	\\"<><<<>><>\\": \\"<><<<>><>--wY_8\\",
+	\\"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.\\": \\"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.--2fRy\\",
+	\\"#\\": \\"#--g8wr\\",
+	\\"##\\": \\"##--1Tef\\",
+	\\"#.#.#\\": \\"#.#.#--3JZu\\",
+	\\"_\\": \\"_--2Wg2\\",
+	\\"{}\\": \\"{}--3Y7c\\",
+	\\"foo.bar\\": \\"foo.bar--2UOh\\",
+	\\":hover\\": \\":hover--1pVo\\",
+	\\":hover:focus:active\\": \\":hover:focus:active--3hSa\\",
+	\\"[attr=value]\\": \\"[attr=value]--1LDK\\",
+	\\"f/o/o\\": \\"f/o/o--22wO\\",
+	\\"f\\\\\\\\o\\\\\\\\o\\": \\"f\\\\\\\\o\\\\\\\\o--17p-\\",
+	\\"f*o*o\\": \\"f*o*o--329E\\",
+	\\"f!o!o\\": \\"f!o!o--1JV-\\",
+	\\"f'o'o\\": \\"f'o'o--g73D\\",
+	\\"f~o~o\\": \\"f~o~o--3JcD\\",
+	\\"f+o+o\\": \\"f+o+o--2gIh\\",
+	\\"foo/bar\\": \\"foo/bar--2M1f\\",
+	\\"foo\\\\\\\\bar\\": \\"foo\\\\\\\\bar--3y6A\\",
+	\\"foo/bar/baz\\": \\"foo/bar/baz--Zmhg\\",
+	\\"foo\\\\\\\\bar\\\\\\\\baz\\": \\"foo\\\\\\\\bar\\\\\\\\baz--3Jov\\"
+};
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -1369,117 +1553,117 @@ exports[`"modules" option should work and correctly replace escaped symbols: res
 Array [
   Array [
     "./modules/localIdentName/localIdentName.css",
-    ".test--_cpw {
+    ".test--2Ojp {
   background: red;
 }
 
-._test--1dIr {
+._test--2pZu {
   background: blue;
 }
 
-.className--2YAI {
+.className--2ame {
   background: red;
 }
 
-#someId--2mXV {
+#someId--2SKU {
   background: green;
 }
 
-.className--2YAI .subClass--hcOs {
+.className--2ame .subClass--2IUT {
   color: green;
 }
 
-#someId--2mXV .subClass--hcOs {
+#someId--2SKU .subClass--2IUT {
   color: blue;
 }
 
-.-a0-34a___f--AnzW {
+.-a0-34a___f--10bK {
   color: red;
 }
 
-.m_x_\\\\@--Nqdt {
+.m_x_\\\\@--25pk {
   margin-left: auto !important;
   margin-right: auto !important;
 }
 
-.B\\\\&W\\\\?--IYdL {
+.B\\\\&W\\\\?--2aTc {
   margin-left: auto !important;
   margin-right: auto !important;
 }
 
 /* matches elements with class=\\":\`(\\" */
-.\\\\3A \\\\\`\\\\(--riRD {
+.\\\\3A \\\\\`\\\\(--3cIU {
   color: aqua;
 }
 
 /* matches elements with class=\\"1a2b3c\\" */
-.\\\\31 a2b3c--zIJ8 {
+.\\\\31 a2b3c--3Llv {
   color: aliceblue;
 }
 
 /* matches the element with id=\\"#fake-id\\" */
-#\\\\#fake-id--3i8C {
+#\\\\#fake-id--2yX_ {
   color: antiquewhite;
 }
 
 /* matches the element with id=\\"-a-b-c-\\" */
-#-a-b-c---1LFn {
+#-a-b-c---3S11 {
   color: azure;
 }
 
 /* matches the element with id=\\"©\\" */
-#©--1rph {
+#©--3eZ3 {
   color: black;
 }
 
-.♥--3hI- { background: lime; }
-.©--1rph { background: lime; }
-.“‘’”--2-Fc { background: lime; }
-.☺☃--1ndr { background: lime; }
-.⌘⌥--gxaZ { background: lime; }
-.𝄞♪♩♫♬--mLhO { background: lime; }
-.💩--2t9K { background: lime; }
-.\\\\?--2I0o { background: lime; }
-.\\\\@--sCVd { background: lime; }
-.\\\\.--1HRZ { background: lime; }
-.\\\\3A \\\\)--mhBL { background: lime; }
-.\\\\3A \\\\\`\\\\(--riRD { background: lime; }
-.\\\\31 23--12FW { background: lime; }
-.\\\\31 a2b3c--zIJ8 { background: lime; }
-.\\\\<p\\\\>--IjVt { background: lime; }
-.\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\>--oXLW { background: lime; }
-.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\.--2HMg { background: lime; }
-.\\\\#--2hLv { background: lime; }
-.\\\\#\\\\#--2LwZ { background: lime; }
-.\\\\#\\\\.\\\\#\\\\.\\\\#--i0DF { background: lime; }
-.\\\\_--1er0 { background: lime; }
-.\\\\{\\\\}--2qPT { background: lime; }
-.\\\\#fake\\\\-id--3i8C { background: lime; }
-.foo\\\\.bar--1Tdk { background: lime; }
-.\\\\3A hover--1vI4 { background: lime; }
-.\\\\3A hover\\\\3A focus\\\\3A active--2ElO { background: lime; }
-.\\\\[attr\\\\=value\\\\]--1AJ- { background: lime; }
-.f\\\\/o\\\\/o--3Zs0 { background: lime; }
-.f\\\\\\\\o\\\\\\\\o--3D2d { background: lime; }
-.f\\\\*o\\\\*o--2HQY { background: lime; }
-.f\\\\!o\\\\!o--1HIX { background: lime; }
-.f\\\\'o\\\\'o--3hCQ { background: lime; }
-.f\\\\~o\\\\~o--fXtA { background: lime; }
-.f\\\\+o\\\\+o--7duh { background: lime; }
-
-.foo\\\\/bar--1iGa {
+.♥--TxKD { background: lime; }
+.©--3eZ3 { background: lime; }
+.“‘’”--f6cc { background: lime; }
+.☺☃--2c3D { background: lime; }
+.⌘⌥--3J3I { background: lime; }
+.𝄞♪♩♫♬--sMom { background: lime; }
+.💩--Q31q { background: lime; }
+.\\\\?--3mhI { background: lime; }
+.\\\\@--1f2I { background: lime; }
+.\\\\.--3OGC { background: lime; }
+.\\\\3A \\\\)--396- { background: lime; }
+.\\\\3A \\\\\`\\\\(--3cIU { background: lime; }
+.\\\\31 23--3QaX { background: lime; }
+.\\\\31 a2b3c--3Llv { background: lime; }
+.\\\\<p\\\\>--2iQr { background: lime; }
+.\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\>--wY_8 { background: lime; }
+.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\.--2fRy { background: lime; }
+.\\\\#--g8wr { background: lime; }
+.\\\\#\\\\#--1Tef { background: lime; }
+.\\\\#\\\\.\\\\#\\\\.\\\\#--3JZu { background: lime; }
+.\\\\_--2Wg2 { background: lime; }
+.\\\\{\\\\}--3Y7c { background: lime; }
+.\\\\#fake\\\\-id--2yX_ { background: lime; }
+.foo\\\\.bar--2UOh { background: lime; }
+.\\\\3A hover--1pVo { background: lime; }
+.\\\\3A hover\\\\3A focus\\\\3A active--3hSa { background: lime; }
+.\\\\[attr\\\\=value\\\\]--1LDK { background: lime; }
+.f\\\\/o\\\\/o--22wO { background: lime; }
+.f\\\\\\\\o\\\\\\\\o--17p- { background: lime; }
+.f\\\\*o\\\\*o--329E { background: lime; }
+.f\\\\!o\\\\!o--1JV- { background: lime; }
+.f\\\\'o\\\\'o--g73D { background: lime; }
+.f\\\\~o\\\\~o--3JcD { background: lime; }
+.f\\\\+o\\\\+o--2gIh { background: lime; }
+
+.foo\\\\/bar--2M1f {
   background: hotpink;
 }
 
-.foo\\\\\\\\bar--7qaP {
+.foo\\\\\\\\bar--3y6A {
   background: hotpink;
 }
 
-.foo\\\\/bar\\\\/baz--24g3 {
+.foo\\\\/bar\\\\/baz--Zmhg {
   background: hotpink;
 }
 
-.foo\\\\\\\\bar\\\\\\\\baz--2NRI {
+.foo\\\\\\\\bar\\\\\\\\baz--3Jov {
   background: hotpink;
 }
 ",
@@ -1494,12 +1678,12 @@ exports[`"modules" option should work and has "undefined" context if no context
 
 exports[`"modules" option should work and has "undefined" context if no context was given: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".foo {\\\\n  background: red;\\\\n}\\\\n\\\\n.foo {\\\\n  background: blue;\\\\n}\\\\n\\\\n.foo {\\\\n  background: red;\\\\n}\\\\n\\\\n#foo {\\\\n  background: green;\\\\n}\\\\n\\\\n.foo .foo {\\\\n  color: green;\\\\n}\\\\n\\\\n#foo .foo {\\\\n  color: blue;\\\\n}\\\\n\\\\n.foo {\\\\n  color: red;\\\\n}\\\\n\\\\n.foo {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n.foo {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.foo {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n.foo {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#foo {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#foo {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#foo {\\\\n  color: black;\\\\n}\\\\n\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n\\\\n.foo {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".foo {\\\\n  background: red;\\\\n}\\\\n\\\\n.foo {\\\\n  background: blue;\\\\n}\\\\n\\\\n.foo {\\\\n  background: red;\\\\n}\\\\n\\\\n#foo {\\\\n  background: green;\\\\n}\\\\n\\\\n.foo .foo {\\\\n  color: green;\\\\n}\\\\n\\\\n#foo .foo {\\\\n  color: blue;\\\\n}\\\\n\\\\n.foo {\\\\n  color: red;\\\\n}\\\\n\\\\n.foo {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n.foo {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.foo {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n.foo {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#foo {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#foo {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#foo {\\\\n  color: black;\\\\n}\\\\n\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n\\\\n.foo {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"123\\": \\"foo\\",
 	\\"test\\": \\"foo\\",
 	\\"_test\\": \\"foo\\",
@@ -1548,7 +1732,7 @@ exports.locals = {
 	\\"foo/bar/baz\\": \\"foo\\",
 	\\"foo\\\\\\\\bar\\\\\\\\baz\\": \\"foo\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -1681,12 +1865,12 @@ exports[`"modules" option should work and prefix leading hyphen when digit is fi
 
 exports[`"modules" option should work and prefix leading hyphen when digit is first: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._-1test {\\\\n  background: red;\\\\n}\\\\n\\\\n._-1_test {\\\\n  background: blue;\\\\n}\\\\n\\\\n._-1className {\\\\n  background: red;\\\\n}\\\\n\\\\n#_-1someId {\\\\n  background: green;\\\\n}\\\\n\\\\n._-1className ._-1subClass {\\\\n  color: green;\\\\n}\\\\n\\\\n#_-1someId ._-1subClass {\\\\n  color: blue;\\\\n}\\\\n\\\\n._-1-a0-34a___f {\\\\n  color: red;\\\\n}\\\\n\\\\n._-1m_x_\\\\\\\\@ {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n._-1B\\\\\\\\&W\\\\\\\\? {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n._-1\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n._-1\\\\\\\\31 a2b3c {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#_-1\\\\\\\\#fake-id {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#_-1-a-b-c- {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#_-1© {\\\\n  color: black;\\\\n}\\\\n\\\\n._-1♥ { background: lime; }\\\\n._-1© { background: lime; }\\\\n._-1“‘’” { background: lime; }\\\\n._-1☺☃ { background: lime; }\\\\n._-1⌘⌥ { background: lime; }\\\\n._-1𝄞♪♩♫♬ { background: lime; }\\\\n._-1💩 { background: lime; }\\\\n._-1\\\\\\\\? { background: lime; }\\\\n._-1\\\\\\\\@ { background: lime; }\\\\n._-1\\\\\\\\. { background: lime; }\\\\n._-1\\\\\\\\3A \\\\\\\\) { background: lime; }\\\\n._-1\\\\\\\\3A \\\\\\\\\`\\\\\\\\( { background: lime; }\\\\n._-1\\\\\\\\31 23 { background: lime; }\\\\n._-1\\\\\\\\31 a2b3c { background: lime; }\\\\n._-1\\\\\\\\<p\\\\\\\\> { background: lime; }\\\\n._-1\\\\\\\\<\\\\\\\\>\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\>\\\\\\\\>\\\\\\\\<\\\\\\\\> { background: lime; }\\\\n._-1\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\[\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\-\\\\\\\\]\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\<\\\\\\\\<\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\. { background: lime; }\\\\n._-1\\\\\\\\# { background: lime; }\\\\n._-1\\\\\\\\#\\\\\\\\# { background: lime; }\\\\n._-1\\\\\\\\#\\\\\\\\.\\\\\\\\#\\\\\\\\.\\\\\\\\# { background: lime; }\\\\n._-1\\\\\\\\_ { background: lime; }\\\\n._-1\\\\\\\\{\\\\\\\\} { background: lime; }\\\\n._-1\\\\\\\\#fake\\\\\\\\-id { background: lime; }\\\\n._-1foo\\\\\\\\.bar { background: lime; }\\\\n._-1\\\\\\\\3A hover { background: lime; }\\\\n._-1\\\\\\\\3A hover\\\\\\\\3A focus\\\\\\\\3A active { background: lime; }\\\\n._-1\\\\\\\\[attr\\\\\\\\=value\\\\\\\\] { background: lime; }\\\\n._-1f\\\\\\\\/o\\\\\\\\/o { background: lime; }\\\\n._-1f\\\\\\\\\\\\\\\\o\\\\\\\\\\\\\\\\o { background: lime; }\\\\n._-1f\\\\\\\\*o\\\\\\\\*o { background: lime; }\\\\n._-1f\\\\\\\\!o\\\\\\\\!o { background: lime; }\\\\n._-1f\\\\\\\\'o\\\\\\\\'o { background: lime; }\\\\n._-1f\\\\\\\\~o\\\\\\\\~o { background: lime; }\\\\n._-1f\\\\\\\\+o\\\\\\\\+o { background: lime; }\\\\n\\\\n._-1foo\\\\\\\\/bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n._-1foo\\\\\\\\\\\\\\\\bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n._-1foo\\\\\\\\/bar\\\\\\\\/baz {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n._-1foo\\\\\\\\\\\\\\\\bar\\\\\\\\\\\\\\\\baz {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._-1test {\\\\n  background: red;\\\\n}\\\\n\\\\n._-1_test {\\\\n  background: blue;\\\\n}\\\\n\\\\n._-1className {\\\\n  background: red;\\\\n}\\\\n\\\\n#_-1someId {\\\\n  background: green;\\\\n}\\\\n\\\\n._-1className ._-1subClass {\\\\n  color: green;\\\\n}\\\\n\\\\n#_-1someId ._-1subClass {\\\\n  color: blue;\\\\n}\\\\n\\\\n._-1-a0-34a___f {\\\\n  color: red;\\\\n}\\\\n\\\\n._-1m_x_\\\\\\\\@ {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n._-1B\\\\\\\\&W\\\\\\\\? {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n._-1\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n._-1\\\\\\\\31 a2b3c {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#_-1\\\\\\\\#fake-id {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#_-1-a-b-c- {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#_-1© {\\\\n  color: black;\\\\n}\\\\n\\\\n._-1♥ { background: lime; }\\\\n._-1© { background: lime; }\\\\n._-1“‘’” { background: lime; }\\\\n._-1☺☃ { background: lime; }\\\\n._-1⌘⌥ { background: lime; }\\\\n._-1𝄞♪♩♫♬ { background: lime; }\\\\n._-1💩 { background: lime; }\\\\n._-1\\\\\\\\? { background: lime; }\\\\n._-1\\\\\\\\@ { background: lime; }\\\\n._-1\\\\\\\\. { background: lime; }\\\\n._-1\\\\\\\\3A \\\\\\\\) { background: lime; }\\\\n._-1\\\\\\\\3A \\\\\\\\\`\\\\\\\\( { background: lime; }\\\\n._-1\\\\\\\\31 23 { background: lime; }\\\\n._-1\\\\\\\\31 a2b3c { background: lime; }\\\\n._-1\\\\\\\\<p\\\\\\\\> { background: lime; }\\\\n._-1\\\\\\\\<\\\\\\\\>\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\>\\\\\\\\>\\\\\\\\<\\\\\\\\> { background: lime; }\\\\n._-1\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\[\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\-\\\\\\\\]\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\<\\\\\\\\<\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\. { background: lime; }\\\\n._-1\\\\\\\\# { background: lime; }\\\\n._-1\\\\\\\\#\\\\\\\\# { background: lime; }\\\\n._-1\\\\\\\\#\\\\\\\\.\\\\\\\\#\\\\\\\\.\\\\\\\\# { background: lime; }\\\\n._-1\\\\\\\\_ { background: lime; }\\\\n._-1\\\\\\\\{\\\\\\\\} { background: lime; }\\\\n._-1\\\\\\\\#fake\\\\\\\\-id { background: lime; }\\\\n._-1foo\\\\\\\\.bar { background: lime; }\\\\n._-1\\\\\\\\3A hover { background: lime; }\\\\n._-1\\\\\\\\3A hover\\\\\\\\3A focus\\\\\\\\3A active { background: lime; }\\\\n._-1\\\\\\\\[attr\\\\\\\\=value\\\\\\\\] { background: lime; }\\\\n._-1f\\\\\\\\/o\\\\\\\\/o { background: lime; }\\\\n._-1f\\\\\\\\\\\\\\\\o\\\\\\\\\\\\\\\\o { background: lime; }\\\\n._-1f\\\\\\\\*o\\\\\\\\*o { background: lime; }\\\\n._-1f\\\\\\\\!o\\\\\\\\!o { background: lime; }\\\\n._-1f\\\\\\\\'o\\\\\\\\'o { background: lime; }\\\\n._-1f\\\\\\\\~o\\\\\\\\~o { background: lime; }\\\\n._-1f\\\\\\\\+o\\\\\\\\+o { background: lime; }\\\\n\\\\n._-1foo\\\\\\\\/bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n._-1foo\\\\\\\\\\\\\\\\bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n._-1foo\\\\\\\\/bar\\\\\\\\/baz {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n._-1foo\\\\\\\\\\\\\\\\bar\\\\\\\\\\\\\\\\baz {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"123\\": \\"_-1123\\",
 	\\"test\\": \\"_-1test\\",
 	\\"_test\\": \\"_-1_test\\",
@@ -1735,7 +1919,7 @@ exports.locals = {
 	\\"foo/bar/baz\\": \\"_-1foo/bar/baz\\",
 	\\"foo\\\\\\\\bar\\\\\\\\baz\\": \\"_-1foo\\\\\\\\bar\\\\\\\\baz\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -1868,61 +2052,61 @@ exports[`"modules" option should work and respect the "context" option: errors 1
 
 exports[`"modules" option should work and respect the "context" option: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-// Module
-exports.push([module.id, \\"._3bArYx5R {\\\\n  background: red;\\\\n}\\\\n\\\\n.XTGsNhBt {\\\\n  background: blue;\\\\n}\\\\n\\\\n._2ilfWoxp {\\\\n  background: red;\\\\n}\\\\n\\\\n#_3v-9Lk1C {\\\\n  background: green;\\\\n}\\\\n\\\\n._2ilfWoxp ._3DLY7Ja5 {\\\\n  color: green;\\\\n}\\\\n\\\\n#_3v-9Lk1C ._3DLY7Ja5 {\\\\n  color: blue;\\\\n}\\\\n\\\\n._2skz9EDS {\\\\n  color: red;\\\\n}\\\\n\\\\n._1pEJLEFa {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n._36Mz6bXX {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n._3smFtgP1 {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n._3nWh_bmc {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#_3zyOTdoW {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#SXlBpmLd {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#_3wIdKrg5 {\\\\n  color: black;\\\\n}\\\\n\\\\n._3CvZATcw { background: lime; }\\\\n._3wIdKrg5 { background: lime; }\\\\n._1lLtTh58 { background: lime; }\\\\n._129OOBpF { background: lime; }\\\\n._31l8-xW6 { background: lime; }\\\\n._3PTmP7dH { background: lime; }\\\\n._3iDx9JjF { background: lime; }\\\\n.gjylLYRz { background: lime; }\\\\n.t5XxN6Cw { background: lime; }\\\\n.fEcdI_Ta { background: lime; }\\\\n._3JwMk5Ks { background: lime; }\\\\n._3smFtgP1 { background: lime; }\\\\n._30YAJl6C { background: lime; }\\\\n._3nWh_bmc { background: lime; }\\\\n.juMfCdyH { background: lime; }\\\\n._1nZHf2m5 { background: lime; }\\\\n._3tH-JgLJ { background: lime; }\\\\n._1d4pWlls { background: lime; }\\\\n._1yrD9kGf { background: lime; }\\\\n._181tN6YI { background: lime; }\\\\n._3XX_EoMh { background: lime; }\\\\n._1okItBzL { background: lime; }\\\\n._3zyOTdoW { background: lime; }\\\\n.D1UTMFUQ { background: lime; }\\\\n._1VdiVnid { background: lime; }\\\\n._3bwG403y { background: lime; }\\\\n._2dg-ho4t { background: lime; }\\\\n._3MAXcubw { background: lime; }\\\\n.S0VDfqvq { background: lime; }\\\\n._1Dj0PRAS { background: lime; }\\\\n._3SZwCzRS { background: lime; }\\\\n.mapSsRAG { background: lime; }\\\\n._10Kpk0ys { background: lime; }\\\\n._3t38eY4A { background: lime; }\\\\n\\\\n._37a0QYL7 {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n._2hUYlBhh {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n._1GrpvCLQ {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n._2iqkFI_a {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
-// Exports
-exports.locals = {
-	\\"123\\": \\"_30YAJl6C\\",
-	\\"test\\": \\"_3bArYx5R\\",
-	\\"_test\\": \\"XTGsNhBt\\",
-	\\"className\\": \\"_2ilfWoxp\\",
-	\\"someId\\": \\"_3v-9Lk1C\\",
-	\\"subClass\\": \\"_3DLY7Ja5\\",
-	\\"-a0-34a___f\\": \\"_2skz9EDS\\",
-	\\"m_x_@\\": \\"_1pEJLEFa\\",
-	\\"B&W?\\": \\"_36Mz6bXX\\",
-	\\":\`(\\": \\"_3smFtgP1\\",
-	\\"1a2b3c\\": \\"_3nWh_bmc\\",
-	\\"#fake-id\\": \\"_3zyOTdoW\\",
-	\\"-a-b-c-\\": \\"SXlBpmLd\\",
-	\\"©\\": \\"_3wIdKrg5\\",
-	\\"♥\\": \\"_3CvZATcw\\",
-	\\"“‘’”\\": \\"_1lLtTh58\\",
-	\\"☺☃\\": \\"_129OOBpF\\",
-	\\"⌘⌥\\": \\"_31l8-xW6\\",
-	\\"𝄞♪♩♫♬\\": \\"_3PTmP7dH\\",
-	\\"💩\\": \\"_3iDx9JjF\\",
-	\\"?\\": \\"gjylLYRz\\",
-	\\"@\\": \\"t5XxN6Cw\\",
-	\\".\\": \\"fEcdI_Ta\\",
-	\\":)\\": \\"_3JwMk5Ks\\",
-	\\"<p>\\": \\"juMfCdyH\\",
-	\\"<><<<>><>\\": \\"_1nZHf2m5\\",
-	\\"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.\\": \\"_3tH-JgLJ\\",
-	\\"#\\": \\"_1d4pWlls\\",
-	\\"##\\": \\"_1yrD9kGf\\",
-	\\"#.#.#\\": \\"_181tN6YI\\",
-	\\"_\\": \\"_3XX_EoMh\\",
-	\\"{}\\": \\"_1okItBzL\\",
-	\\"foo.bar\\": \\"D1UTMFUQ\\",
-	\\":hover\\": \\"_1VdiVnid\\",
-	\\":hover:focus:active\\": \\"_3bwG403y\\",
-	\\"[attr=value]\\": \\"_2dg-ho4t\\",
-	\\"f/o/o\\": \\"_3MAXcubw\\",
-	\\"f\\\\\\\\o\\\\\\\\o\\": \\"S0VDfqvq\\",
-	\\"f*o*o\\": \\"_1Dj0PRAS\\",
-	\\"f!o!o\\": \\"_3SZwCzRS\\",
-	\\"f'o'o\\": \\"mapSsRAG\\",
-	\\"f~o~o\\": \\"_10Kpk0ys\\",
-	\\"f+o+o\\": \\"_3t38eY4A\\",
-	\\"foo/bar\\": \\"_37a0QYL7\\",
-	\\"foo\\\\\\\\bar\\": \\"_2hUYlBhh\\",
-	\\"foo/bar/baz\\": \\"_1GrpvCLQ\\",
-	\\"foo\\\\\\\\bar\\\\\\\\baz\\": \\"_2iqkFI_a\\"
-};
-module.exports = exports;
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\"._3THChI84 {\\\\n  background: red;\\\\n}\\\\n\\\\n._1Ic0T6E2 {\\\\n  background: blue;\\\\n}\\\\n\\\\n._1cIQwwGF {\\\\n  background: red;\\\\n}\\\\n\\\\n#_2KQxkXGn {\\\\n  background: green;\\\\n}\\\\n\\\\n._1cIQwwGF ._1SaZq9UR {\\\\n  color: green;\\\\n}\\\\n\\\\n#_2KQxkXGn ._1SaZq9UR {\\\\n  color: blue;\\\\n}\\\\n\\\\n._3_8fOv5C {\\\\n  color: red;\\\\n}\\\\n\\\\n.oSCIyXHs {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n._1YhNoA0P {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n._1OM1XhAs {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n._1bpu3ISw {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#_1CCtldT2 {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#_2TwUosNR {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#_2DQauKX- {\\\\n  color: black;\\\\n}\\\\n\\\\n._1OsGHnKz { background: lime; }\\\\n._2DQauKX- { background: lime; }\\\\n._2KvI5OuP { background: lime; }\\\\n._2yQjBRc3 { background: lime; }\\\\n._3fcdfPoZ { background: lime; }\\\\n._36_8UGtJ { background: lime; }\\\\n.uHOC9vIJ { background: lime; }\\\\n._3yhO8sbF { background: lime; }\\\\n._2FM4HzQ0 { background: lime; }\\\\n._3XwjsUQg { background: lime; }\\\\n._3RekpnZr { background: lime; }\\\\n._1OM1XhAs { background: lime; }\\\\n._3rkg9Zga { background: lime; }\\\\n._1bpu3ISw { background: lime; }\\\\n._2NpJOkGO { background: lime; }\\\\n._3rLnDN1Z { background: lime; }\\\\n.fBy3xycY { background: lime; }\\\\n._1mZzxf-Y { background: lime; }\\\\n._31Eihfoq { background: lime; }\\\\n._3aQjUey8 { background: lime; }\\\\n.Fi_vbOb0 { background: lime; }\\\\n._2PPE1yBA { background: lime; }\\\\n._1CCtldT2 { background: lime; }\\\\n._1CwcQl0I { background: lime; }\\\\n._1wJ1HEuW { background: lime; }\\\\n._2bgUHCtB { background: lime; }\\\\n._2kDs761Y { background: lime; }\\\\n.kDF4zPFr { background: lime; }\\\\n._11wgSOLK { background: lime; }\\\\n._3SaQaoVD { background: lime; }\\\\n._3WN_yiXA { background: lime; }\\\\n.uiCGuCDO { background: lime; }\\\\n._1Wue4zTM { background: lime; }\\\\n._3x4WJytB { background: lime; }\\\\n\\\\n._3S7V-jWX {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n._3mkt5Iq- {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n._2x1dgPlv {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n._2a8NOF62 {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
+// Exports
+___CSS_LOADER_EXPORT___.locals = {
+	\\"123\\": \\"_3rkg9Zga\\",
+	\\"test\\": \\"_3THChI84\\",
+	\\"_test\\": \\"_1Ic0T6E2\\",
+	\\"className\\": \\"_1cIQwwGF\\",
+	\\"someId\\": \\"_2KQxkXGn\\",
+	\\"subClass\\": \\"_1SaZq9UR\\",
+	\\"-a0-34a___f\\": \\"_3_8fOv5C\\",
+	\\"m_x_@\\": \\"oSCIyXHs\\",
+	\\"B&W?\\": \\"_1YhNoA0P\\",
+	\\":\`(\\": \\"_1OM1XhAs\\",
+	\\"1a2b3c\\": \\"_1bpu3ISw\\",
+	\\"#fake-id\\": \\"_1CCtldT2\\",
+	\\"-a-b-c-\\": \\"_2TwUosNR\\",
+	\\"©\\": \\"_2DQauKX-\\",
+	\\"♥\\": \\"_1OsGHnKz\\",
+	\\"“‘’”\\": \\"_2KvI5OuP\\",
+	\\"☺☃\\": \\"_2yQjBRc3\\",
+	\\"⌘⌥\\": \\"_3fcdfPoZ\\",
+	\\"𝄞♪♩♫♬\\": \\"_36_8UGtJ\\",
+	\\"💩\\": \\"uHOC9vIJ\\",
+	\\"?\\": \\"_3yhO8sbF\\",
+	\\"@\\": \\"_2FM4HzQ0\\",
+	\\".\\": \\"_3XwjsUQg\\",
+	\\":)\\": \\"_3RekpnZr\\",
+	\\"<p>\\": \\"_2NpJOkGO\\",
+	\\"<><<<>><>\\": \\"_3rLnDN1Z\\",
+	\\"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.\\": \\"fBy3xycY\\",
+	\\"#\\": \\"_1mZzxf-Y\\",
+	\\"##\\": \\"_31Eihfoq\\",
+	\\"#.#.#\\": \\"_3aQjUey8\\",
+	\\"_\\": \\"Fi_vbOb0\\",
+	\\"{}\\": \\"_2PPE1yBA\\",
+	\\"foo.bar\\": \\"_1CwcQl0I\\",
+	\\":hover\\": \\"_1wJ1HEuW\\",
+	\\":hover:focus:active\\": \\"_2bgUHCtB\\",
+	\\"[attr=value]\\": \\"_2kDs761Y\\",
+	\\"f/o/o\\": \\"kDF4zPFr\\",
+	\\"f\\\\\\\\o\\\\\\\\o\\": \\"_11wgSOLK\\",
+	\\"f*o*o\\": \\"_3SaQaoVD\\",
+	\\"f!o!o\\": \\"_3WN_yiXA\\",
+	\\"f'o'o\\": \\"uiCGuCDO\\",
+	\\"f~o~o\\": \\"_1Wue4zTM\\",
+	\\"f+o+o\\": \\"_3x4WJytB\\",
+	\\"foo/bar\\": \\"_3S7V-jWX\\",
+	\\"foo\\\\\\\\bar\\": \\"_3mkt5Iq-\\",
+	\\"foo/bar/baz\\": \\"_2x1dgPlv\\",
+	\\"foo\\\\\\\\bar\\\\\\\\baz\\": \\"_2a8NOF62\\"
+};
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -1930,117 +2114,117 @@ exports[`"modules" option should work and respect the "context" option: result 1
 Array [
   Array [
     "./modules/localIdentName/localIdentName.css",
-    "._3bArYx5R {
+    "._3THChI84 {
   background: red;
 }
 
-.XTGsNhBt {
+._1Ic0T6E2 {
   background: blue;
 }
 
-._2ilfWoxp {
+._1cIQwwGF {
   background: red;
 }
 
-#_3v-9Lk1C {
+#_2KQxkXGn {
   background: green;
 }
 
-._2ilfWoxp ._3DLY7Ja5 {
+._1cIQwwGF ._1SaZq9UR {
   color: green;
 }
 
-#_3v-9Lk1C ._3DLY7Ja5 {
+#_2KQxkXGn ._1SaZq9UR {
   color: blue;
 }
 
-._2skz9EDS {
+._3_8fOv5C {
   color: red;
 }
 
-._1pEJLEFa {
+.oSCIyXHs {
   margin-left: auto !important;
   margin-right: auto !important;
 }
 
-._36Mz6bXX {
+._1YhNoA0P {
   margin-left: auto !important;
   margin-right: auto !important;
 }
 
 /* matches elements with class=\\":\`(\\" */
-._3smFtgP1 {
+._1OM1XhAs {
   color: aqua;
 }
 
 /* matches elements with class=\\"1a2b3c\\" */
-._3nWh_bmc {
+._1bpu3ISw {
   color: aliceblue;
 }
 
 /* matches the element with id=\\"#fake-id\\" */
-#_3zyOTdoW {
+#_1CCtldT2 {
   color: antiquewhite;
 }
 
 /* matches the element with id=\\"-a-b-c-\\" */
-#SXlBpmLd {
+#_2TwUosNR {
   color: azure;
 }
 
 /* matches the element with id=\\"©\\" */
-#_3wIdKrg5 {
+#_2DQauKX- {
   color: black;
 }
 
-._3CvZATcw { background: lime; }
-._3wIdKrg5 { background: lime; }
-._1lLtTh58 { background: lime; }
-._129OOBpF { background: lime; }
-._31l8-xW6 { background: lime; }
-._3PTmP7dH { background: lime; }
-._3iDx9JjF { background: lime; }
-.gjylLYRz { background: lime; }
-.t5XxN6Cw { background: lime; }
-.fEcdI_Ta { background: lime; }
-._3JwMk5Ks { background: lime; }
-._3smFtgP1 { background: lime; }
-._30YAJl6C { background: lime; }
-._3nWh_bmc { background: lime; }
-.juMfCdyH { background: lime; }
-._1nZHf2m5 { background: lime; }
-._3tH-JgLJ { background: lime; }
-._1d4pWlls { background: lime; }
-._1yrD9kGf { background: lime; }
-._181tN6YI { background: lime; }
-._3XX_EoMh { background: lime; }
-._1okItBzL { background: lime; }
-._3zyOTdoW { background: lime; }
-.D1UTMFUQ { background: lime; }
-._1VdiVnid { background: lime; }
-._3bwG403y { background: lime; }
-._2dg-ho4t { background: lime; }
-._3MAXcubw { background: lime; }
-.S0VDfqvq { background: lime; }
-._1Dj0PRAS { background: lime; }
-._3SZwCzRS { background: lime; }
-.mapSsRAG { background: lime; }
-._10Kpk0ys { background: lime; }
-._3t38eY4A { background: lime; }
-
-._37a0QYL7 {
+._1OsGHnKz { background: lime; }
+._2DQauKX- { background: lime; }
+._2KvI5OuP { background: lime; }
+._2yQjBRc3 { background: lime; }
+._3fcdfPoZ { background: lime; }
+._36_8UGtJ { background: lime; }
+.uHOC9vIJ { background: lime; }
+._3yhO8sbF { background: lime; }
+._2FM4HzQ0 { background: lime; }
+._3XwjsUQg { background: lime; }
+._3RekpnZr { background: lime; }
+._1OM1XhAs { background: lime; }
+._3rkg9Zga { background: lime; }
+._1bpu3ISw { background: lime; }
+._2NpJOkGO { background: lime; }
+._3rLnDN1Z { background: lime; }
+.fBy3xycY { background: lime; }
+._1mZzxf-Y { background: lime; }
+._31Eihfoq { background: lime; }
+._3aQjUey8 { background: lime; }
+.Fi_vbOb0 { background: lime; }
+._2PPE1yBA { background: lime; }
+._1CCtldT2 { background: lime; }
+._1CwcQl0I { background: lime; }
+._1wJ1HEuW { background: lime; }
+._2bgUHCtB { background: lime; }
+._2kDs761Y { background: lime; }
+.kDF4zPFr { background: lime; }
+._11wgSOLK { background: lime; }
+._3SaQaoVD { background: lime; }
+._3WN_yiXA { background: lime; }
+.uiCGuCDO { background: lime; }
+._1Wue4zTM { background: lime; }
+._3x4WJytB { background: lime; }
+
+._3S7V-jWX {
   background: hotpink;
 }
 
-._2hUYlBhh {
+._3mkt5Iq- {
   background: hotpink;
 }
 
-._1GrpvCLQ {
+._2x1dgPlv {
   background: hotpink;
 }
 
-._2iqkFI_a {
+._2a8NOF62 {
   background: hotpink;
 }
 ",
@@ -2051,16 +2235,258 @@ Array [
 
 exports[`"modules" option should work and respect the "context" option: warnings 1`] = `Array []`;
 
+exports[`"modules" option should work and respect the "exportOnlyLocals" option with the "esModule" option: errors 1`] = `Array []`;
+
+exports[`"modules" option should work and respect the "exportOnlyLocals" option with the "esModule" option: module 1`] = `
+"// Imports
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../src/index.js??[ident]!./values.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_1___ from \\"-!../../../../src/index.js??[ident]!./something.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_2___ from \\"-!../../../../src/index.js??[ident]!./imported-simple.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_3___ from \\"-!../../../../src/index.js??[ident]!./relative.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_4___ from \\"-!../../../../src/index.js??[ident]!./top-relative.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_5___ from \\"-!../../../../src/index.js??[ident]!../issue-861/node_modules/package/style.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_6___ from \\"-!../../../../src/index.js??[ident]!./alias.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_7___ from \\"-!../../../../src/index.js??[ident]!./scss-file.scss\\";
+var ___CSS_LOADER_EXPORT___ = {};
+// Exports
+___CSS_LOADER_EXPORT___.locals = {
+	\\"v-def\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-def\\"] + \\"\\",
+	\\"v-other\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-other\\"] + \\"\\",
+	\\"s-white\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"s-white\\"] + \\"\\",
+	\\"m-small\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"m-small\\"] + \\"\\",
+	\\"v-something\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"v-something\\"] + \\"\\",
+	\\"v-foo\\": \\"blue\\",
+	\\"v-bar\\": \\"block\\",
+	\\"v-primary\\": \\"#BF4040\\",
+	\\"s-black\\": \\"black-selector\\",
+	\\"m-large\\": \\"(min-width: 960px)\\",
+	\\"v-ident\\": \\"validIdent\\",
+	\\"v-pre-defined-ident\\": \\"left\\",
+	\\"v-string\\": \\"'content'\\",
+	\\"v-string-1\\": \\"''\\",
+	\\"v-url\\": \\"url(https://www.exammple.com/images/my-background.png)\\",
+	\\"v-url-1\\": \\"url('https://www.exammple.com/images/my-background.png')\\",
+	\\"v-url-2\\": \\"url(\\\\\\"https://www.exammple.com/images/my-background.png\\\\\\")\\",
+	\\"v-integer\\": \\"100\\",
+	\\"v-integer-1\\": \\"-100\\",
+	\\"v-integer-2\\": \\"+100\\",
+	\\"v-number\\": \\".60\\",
+	\\"v-number-1\\": \\"-456.8\\",
+	\\"v-number-2\\": \\"-3.4e-2\\",
+	\\"v-dimension\\": \\"12px\\",
+	\\"v-percentage\\": \\"100%\\",
+	\\"v-hex\\": \\"#fff\\",
+	\\"v-function\\": \\"rgb(0,0,0)\\",
+	\\"v-unicode-range\\": \\"U+0025-00FF\\",
+	\\"ghi\\": \\"_ghi\\",
+	\\"class\\": \\"_class\\",
+	\\"other\\": \\"_other\\",
+	\\"other-other\\": \\"_other-other\\",
+	\\"green\\": \\"_green\\",
+	\\"foo\\": \\"_foo\\",
+	\\"simple\\": \\"_simple \\" + ___CSS_LOADER_ICSS_IMPORT_2___.locals[\\"imported-simple\\"] + \\"\\",
+	\\"relative\\": \\"_relative \\" + ___CSS_LOADER_ICSS_IMPORT_3___.locals[\\"imported-relative\\"] + \\"\\",
+	\\"top-relative\\": \\"_top-relative \\" + ___CSS_LOADER_ICSS_IMPORT_4___.locals[\\"imported-relative\\"] + \\"\\",
+	\\"module\\": \\"_module \\" + ___CSS_LOADER_ICSS_IMPORT_5___.locals[\\"imported-module\\"] + \\"\\",
+	\\"alias\\": \\"_alias \\" + ___CSS_LOADER_ICSS_IMPORT_6___.locals[\\"imported-alias\\"] + \\"\\",
+	\\"alias-duplicate\\": \\"_alias-duplicate \\" + ___CSS_LOADER_ICSS_IMPORT_6___.locals[\\"imported-alias\\"] + \\"\\",
+	\\"primary-selector\\": \\"_primary-selector\\",
+	\\"black-selector\\": \\"_black-selector\\",
+	\\"header\\": \\"_header\\",
+	\\"foobarbaz\\": \\"_foobarbaz\\",
+	\\"url\\": \\"_url\\",
+	\\"main\\": \\"_main \\" + ___CSS_LOADER_ICSS_IMPORT_7___.locals[\\"scssClass\\"] + \\"\\"
+};
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"modules" option should work and respect the "exportOnlyLocals" option with the "esModule" option: result 1`] = `
+Object {
+  "locals": Object {
+    "alias": "_alias _imported-alias",
+    "alias-duplicate": "_alias-duplicate _imported-alias",
+    "black-selector": "_black-selector",
+    "class": "_class",
+    "foo": "_foo",
+    "foobarbaz": "_foobarbaz",
+    "ghi": "_ghi",
+    "green": "_green",
+    "header": "_header",
+    "m-large": "(min-width: 960px)",
+    "m-small": "(min-width: 320px)",
+    "main": "_main _scssClass",
+    "module": "_module _imported-module",
+    "other": "_other",
+    "other-other": "_other-other",
+    "primary-selector": "_primary-selector",
+    "relative": "_relative _imported-relative",
+    "s-black": "black-selector",
+    "s-white": "white",
+    "simple": "_simple _imported-simple",
+    "top-relative": "_top-relative undefined",
+    "url": "_url",
+    "v-bar": "block",
+    "v-def": "red",
+    "v-dimension": "12px",
+    "v-foo": "blue",
+    "v-function": "rgb(0,0,0)",
+    "v-hex": "#fff",
+    "v-ident": "validIdent",
+    "v-integer": "100",
+    "v-integer-1": "-100",
+    "v-integer-2": "+100",
+    "v-number": ".60",
+    "v-number-1": "-456.8",
+    "v-number-2": "-3.4e-2",
+    "v-other": "green",
+    "v-percentage": "100%",
+    "v-pre-defined-ident": "left",
+    "v-primary": "#BF4040",
+    "v-something": "2112moon",
+    "v-string": "'content'",
+    "v-string-1": "''",
+    "v-unicode-range": "U+0025-00FF",
+    "v-url": "url(https://www.exammple.com/images/my-background.png)",
+    "v-url-1": "url('https://www.exammple.com/images/my-background.png')",
+    "v-url-2": "url(\\"https://www.exammple.com/images/my-background.png\\")",
+  },
+}
+`;
+
+exports[`"modules" option should work and respect the "exportOnlyLocals" option with the "esModule" option: warnings 1`] = `Array []`;
+
+exports[`"modules" option should work and respect the "exportOnlyLocals" option: errors 1`] = `Array []`;
+
+exports[`"modules" option should work and respect the "exportOnlyLocals" option: module 1`] = `
+"// Imports
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../src/index.js??[ident]!./values.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_1___ from \\"-!../../../../src/index.js??[ident]!./something.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_2___ from \\"-!../../../../src/index.js??[ident]!./imported-simple.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_3___ from \\"-!../../../../src/index.js??[ident]!./relative.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_4___ from \\"-!../../../../src/index.js??[ident]!./top-relative.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_5___ from \\"-!../../../../src/index.js??[ident]!../issue-861/node_modules/package/style.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_6___ from \\"-!../../../../src/index.js??[ident]!./alias.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_7___ from \\"-!../../../../src/index.js??[ident]!./scss-file.scss\\";
+var ___CSS_LOADER_EXPORT___ = {};
+// Exports
+___CSS_LOADER_EXPORT___.locals = {
+	\\"v-def\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-def\\"] + \\"\\",
+	\\"v-other\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-other\\"] + \\"\\",
+	\\"s-white\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"s-white\\"] + \\"\\",
+	\\"m-small\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"m-small\\"] + \\"\\",
+	\\"v-something\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"v-something\\"] + \\"\\",
+	\\"v-foo\\": \\"blue\\",
+	\\"v-bar\\": \\"block\\",
+	\\"v-primary\\": \\"#BF4040\\",
+	\\"s-black\\": \\"black-selector\\",
+	\\"m-large\\": \\"(min-width: 960px)\\",
+	\\"v-ident\\": \\"validIdent\\",
+	\\"v-pre-defined-ident\\": \\"left\\",
+	\\"v-string\\": \\"'content'\\",
+	\\"v-string-1\\": \\"''\\",
+	\\"v-url\\": \\"url(https://www.exammple.com/images/my-background.png)\\",
+	\\"v-url-1\\": \\"url('https://www.exammple.com/images/my-background.png')\\",
+	\\"v-url-2\\": \\"url(\\\\\\"https://www.exammple.com/images/my-background.png\\\\\\")\\",
+	\\"v-integer\\": \\"100\\",
+	\\"v-integer-1\\": \\"-100\\",
+	\\"v-integer-2\\": \\"+100\\",
+	\\"v-number\\": \\".60\\",
+	\\"v-number-1\\": \\"-456.8\\",
+	\\"v-number-2\\": \\"-3.4e-2\\",
+	\\"v-dimension\\": \\"12px\\",
+	\\"v-percentage\\": \\"100%\\",
+	\\"v-hex\\": \\"#fff\\",
+	\\"v-function\\": \\"rgb(0,0,0)\\",
+	\\"v-unicode-range\\": \\"U+0025-00FF\\",
+	\\"ghi\\": \\"_ghi\\",
+	\\"class\\": \\"_class\\",
+	\\"other\\": \\"_other\\",
+	\\"other-other\\": \\"_other-other\\",
+	\\"green\\": \\"_green\\",
+	\\"foo\\": \\"_foo\\",
+	\\"simple\\": \\"_simple \\" + ___CSS_LOADER_ICSS_IMPORT_2___.locals[\\"imported-simple\\"] + \\"\\",
+	\\"relative\\": \\"_relative \\" + ___CSS_LOADER_ICSS_IMPORT_3___.locals[\\"imported-relative\\"] + \\"\\",
+	\\"top-relative\\": \\"_top-relative \\" + ___CSS_LOADER_ICSS_IMPORT_4___.locals[\\"imported-relative\\"] + \\"\\",
+	\\"module\\": \\"_module \\" + ___CSS_LOADER_ICSS_IMPORT_5___.locals[\\"imported-module\\"] + \\"\\",
+	\\"alias\\": \\"_alias \\" + ___CSS_LOADER_ICSS_IMPORT_6___.locals[\\"imported-alias\\"] + \\"\\",
+	\\"alias-duplicate\\": \\"_alias-duplicate \\" + ___CSS_LOADER_ICSS_IMPORT_6___.locals[\\"imported-alias\\"] + \\"\\",
+	\\"primary-selector\\": \\"_primary-selector\\",
+	\\"black-selector\\": \\"_black-selector\\",
+	\\"header\\": \\"_header\\",
+	\\"foobarbaz\\": \\"_foobarbaz\\",
+	\\"url\\": \\"_url\\",
+	\\"main\\": \\"_main \\" + ___CSS_LOADER_ICSS_IMPORT_7___.locals[\\"scssClass\\"] + \\"\\"
+};
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"modules" option should work and respect the "exportOnlyLocals" option: result 1`] = `
+Object {
+  "locals": Object {
+    "alias": "_alias _imported-alias",
+    "alias-duplicate": "_alias-duplicate _imported-alias",
+    "black-selector": "_black-selector",
+    "class": "_class",
+    "foo": "_foo",
+    "foobarbaz": "_foobarbaz",
+    "ghi": "_ghi",
+    "green": "_green",
+    "header": "_header",
+    "m-large": "(min-width: 960px)",
+    "m-small": "(min-width: 320px)",
+    "main": "_main _scssClass",
+    "module": "_module _imported-module",
+    "other": "_other",
+    "other-other": "_other-other",
+    "primary-selector": "_primary-selector",
+    "relative": "_relative _imported-relative",
+    "s-black": "black-selector",
+    "s-white": "white",
+    "simple": "_simple _imported-simple",
+    "top-relative": "_top-relative undefined",
+    "url": "_url",
+    "v-bar": "block",
+    "v-def": "red",
+    "v-dimension": "12px",
+    "v-foo": "blue",
+    "v-function": "rgb(0,0,0)",
+    "v-hex": "#fff",
+    "v-ident": "validIdent",
+    "v-integer": "100",
+    "v-integer-1": "-100",
+    "v-integer-2": "+100",
+    "v-number": ".60",
+    "v-number-1": "-456.8",
+    "v-number-2": "-3.4e-2",
+    "v-other": "green",
+    "v-percentage": "100%",
+    "v-pre-defined-ident": "left",
+    "v-primary": "#BF4040",
+    "v-something": "2112moon",
+    "v-string": "'content'",
+    "v-string-1": "''",
+    "v-unicode-range": "U+0025-00FF",
+    "v-url": "url(https://www.exammple.com/images/my-background.png)",
+    "v-url-1": "url('https://www.exammple.com/images/my-background.png')",
+    "v-url-2": "url(\\"https://www.exammple.com/images/my-background.png\\")",
+  },
+}
+`;
+
+exports[`"modules" option should work and respect the "exportOnlyLocals" option: warnings 1`] = `Array []`;
+
 exports[`"modules" option should work and respect the "getLocalIdent" option: errors 1`] = `Array []`;
 
 exports[`"modules" option should work and respect the "getLocalIdent" option: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".foo {\\\\n  background: red;\\\\n}\\\\n\\\\n.foo {\\\\n  background: blue;\\\\n}\\\\n\\\\n.foo {\\\\n  background: red;\\\\n}\\\\n\\\\n#foo {\\\\n  background: green;\\\\n}\\\\n\\\\n.foo .foo {\\\\n  color: green;\\\\n}\\\\n\\\\n#foo .foo {\\\\n  color: blue;\\\\n}\\\\n\\\\n.foo {\\\\n  color: red;\\\\n}\\\\n\\\\n.foo {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n.foo {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.foo {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n.foo {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#foo {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#foo {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#foo {\\\\n  color: black;\\\\n}\\\\n\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n\\\\n.foo {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".foo {\\\\n  background: red;\\\\n}\\\\n\\\\n.foo {\\\\n  background: blue;\\\\n}\\\\n\\\\n.foo {\\\\n  background: red;\\\\n}\\\\n\\\\n#foo {\\\\n  background: green;\\\\n}\\\\n\\\\n.foo .foo {\\\\n  color: green;\\\\n}\\\\n\\\\n#foo .foo {\\\\n  color: blue;\\\\n}\\\\n\\\\n.foo {\\\\n  color: red;\\\\n}\\\\n\\\\n.foo {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n.foo {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.foo {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n.foo {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#foo {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#foo {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#foo {\\\\n  color: black;\\\\n}\\\\n\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n.foo { background: lime; }\\\\n\\\\n.foo {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"123\\": \\"foo\\",
 	\\"test\\": \\"foo\\",
 	\\"_test\\": \\"foo\\",
@@ -2109,7 +2535,7 @@ exports.locals = {
 	\\"foo/bar/baz\\": \\"foo\\",
 	\\"foo\\\\\\\\bar\\\\\\\\baz\\": \\"foo\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -2242,61 +2668,61 @@ exports[`"modules" option should work and respect the "hashPrefix" option: error
 
 exports[`"modules" option should work and respect the "hashPrefix" option: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-// Module
-exports.push([module.id, \\".test--0142b21a44dabb9819108414c865df64 {\\\\n  background: red;\\\\n}\\\\n\\\\n._test--cde93c8860a038e1411d22cb771488ac {\\\\n  background: blue;\\\\n}\\\\n\\\\n.className--c26790b0ff95d07b06b20d60cf577fd0 {\\\\n  background: red;\\\\n}\\\\n\\\\n#someId--8eb7b7f9ce9981fd21fd6d5fc4381bf6 {\\\\n  background: green;\\\\n}\\\\n\\\\n.className--c26790b0ff95d07b06b20d60cf577fd0 .subClass--54070e7ec2a737162df117984ecc1761 {\\\\n  color: green;\\\\n}\\\\n\\\\n#someId--8eb7b7f9ce9981fd21fd6d5fc4381bf6 .subClass--54070e7ec2a737162df117984ecc1761 {\\\\n  color: blue;\\\\n}\\\\n\\\\n.-a0-34a___f--e6b44b8956c576006aee9cdfc7b8d960 {\\\\n  color: red;\\\\n}\\\\n\\\\n.m_x_\\\\\\\\@--fbb667cb25a70369de60821c8e36b6fd {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n.B\\\\\\\\&W\\\\\\\\?--f1decb173a621f94b1a405675462d8d2 {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\(--0cb50f97a33928f08d2935be79b3fb60 {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n.\\\\\\\\31 a2b3c--4fd20a7ba770527d2b5181e00d5edc42 {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#\\\\\\\\#fake-id--f50da82e1d107cda50fa45b135c86822 {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#-a-b-c---db03ce70db75ed1c1bce599b1d18a186 {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#©--7e0826759ac2aeb5fca6e32aa1edb329 {\\\\n  color: black;\\\\n}\\\\n\\\\n.♥--e5560e4053337bd76daf9c2e75d3d7d0 { background: lime; }\\\\n.©--7e0826759ac2aeb5fca6e32aa1edb329 { background: lime; }\\\\n.“‘’”--8e1e3e4cc7221b3ff51633038fafe426 { background: lime; }\\\\n.☺☃--ebe5c837d5daf12d16f0daa8c61eb11e { background: lime; }\\\\n.⌘⌥--a85dfad97e5b6b370e7c1477411c7af2 { background: lime; }\\\\n.𝄞♪♩♫♬--4c4549c449045769b60d0b58e8938127 { background: lime; }\\\\n.💩--864ce6a5b06391cf964f32c546bfda16 { background: lime; }\\\\n.\\\\\\\\?--03cb0d319a1c01d96b21cce53cc35bf4 { background: lime; }\\\\n.\\\\\\\\@--dd774107a0c2a338e9f095f7f70b54d7 { background: lime; }\\\\n.\\\\\\\\.--e11fe8c7f53154b0b2d6cc27502a200e { background: lime; }\\\\n.\\\\\\\\3A \\\\\\\\)--a796bbeca4dff990227350b8dd6f9034 { background: lime; }\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\(--0cb50f97a33928f08d2935be79b3fb60 { background: lime; }\\\\n.\\\\\\\\31 23--87aac6eecc0561fe00a4fab8675db52e { background: lime; }\\\\n.\\\\\\\\31 a2b3c--4fd20a7ba770527d2b5181e00d5edc42 { background: lime; }\\\\n.\\\\\\\\<p\\\\\\\\>--3477ce97df51423d68db9eb33e056c6b { background: lime; }\\\\n.\\\\\\\\<\\\\\\\\>\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\>\\\\\\\\>\\\\\\\\<\\\\\\\\>--a62ab97a8311b28d0df9758cadb75555 { background: lime; }\\\\n.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\[\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\-\\\\\\\\]\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\<\\\\\\\\<\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.--8a18745abe2facd291ae8c5c6ceabbdf { background: lime; }\\\\n.\\\\\\\\#--57d53edb0e5a6757ce6b205b47cc174d { background: lime; }\\\\n.\\\\\\\\#\\\\\\\\#--ed672da0a00b94520ab8a4eb3c786471 { background: lime; }\\\\n.\\\\\\\\#\\\\\\\\.\\\\\\\\#\\\\\\\\.\\\\\\\\#--f686c0028f3b4932cfd2689eae7db8e7 { background: lime; }\\\\n.\\\\\\\\_--709d19d25c02b59c930033d7ebb27bf3 { background: lime; }\\\\n.\\\\\\\\{\\\\\\\\}--03559aa34d08925b7b37b68cbbbab061 { background: lime; }\\\\n.\\\\\\\\#fake\\\\\\\\-id--f50da82e1d107cda50fa45b135c86822 { background: lime; }\\\\n.foo\\\\\\\\.bar--cdeeba651d743a1c9c8726b82a53f3e7 { background: lime; }\\\\n.\\\\\\\\3A hover--eedb9b11365e5f804ae9e9ca4e4a93eb { background: lime; }\\\\n.\\\\\\\\3A hover\\\\\\\\3A focus\\\\\\\\3A active--fd12204dbd7c44f5cdba57e249953c73 { background: lime; }\\\\n.\\\\\\\\[attr\\\\\\\\=value\\\\\\\\]--fedf0fe616433390cc587cefb1e06f3c { background: lime; }\\\\n.f\\\\\\\\/o\\\\\\\\/o--872f3df58491fec851e2d142ef35a3f6 { background: lime; }\\\\n.f\\\\\\\\\\\\\\\\o\\\\\\\\\\\\\\\\o--afacca2cad66f8fa5b5cf8423518de57 { background: lime; }\\\\n.f\\\\\\\\*o\\\\\\\\*o--098250e92a511c126ef033e2590afcf0 { background: lime; }\\\\n.f\\\\\\\\!o\\\\\\\\!o--5f5ea08f8761ed29077cbf1f17dc6b68 { background: lime; }\\\\n.f\\\\\\\\'o\\\\\\\\'o--43951ef60179b3812e63d74831c1e010 { background: lime; }\\\\n.f\\\\\\\\~o\\\\\\\\~o--5f27f8554b923243815e3866b257c4e4 { background: lime; }\\\\n.f\\\\\\\\+o\\\\\\\\+o--61ecc2824b4db3e9cc7e5a2afedce309 { background: lime; }\\\\n\\\\n.foo\\\\\\\\/bar--282fddfcdf932d9d3664c146306a3c3a {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\\\\\\\\\bar--aec6247bb9290ae6726f5a36f5816c09 {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\/bar\\\\\\\\/baz--d2a732e8a4a273013b0b929ab95835c2 {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\\\\\\\\\bar\\\\\\\\\\\\\\\\baz--bc6ce37cc0c680420ee5056f527a94e7 {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
-// Exports
-exports.locals = {
-	\\"123\\": \\"123--87aac6eecc0561fe00a4fab8675db52e\\",
-	\\"test\\": \\"test--0142b21a44dabb9819108414c865df64\\",
-	\\"_test\\": \\"_test--cde93c8860a038e1411d22cb771488ac\\",
-	\\"className\\": \\"className--c26790b0ff95d07b06b20d60cf577fd0\\",
-	\\"someId\\": \\"someId--8eb7b7f9ce9981fd21fd6d5fc4381bf6\\",
-	\\"subClass\\": \\"subClass--54070e7ec2a737162df117984ecc1761\\",
-	\\"-a0-34a___f\\": \\"-a0-34a___f--e6b44b8956c576006aee9cdfc7b8d960\\",
-	\\"m_x_@\\": \\"m_x_@--fbb667cb25a70369de60821c8e36b6fd\\",
-	\\"B&W?\\": \\"B&W?--f1decb173a621f94b1a405675462d8d2\\",
-	\\":\`(\\": \\":\`(--0cb50f97a33928f08d2935be79b3fb60\\",
-	\\"1a2b3c\\": \\"1a2b3c--4fd20a7ba770527d2b5181e00d5edc42\\",
-	\\"#fake-id\\": \\"#fake-id--f50da82e1d107cda50fa45b135c86822\\",
-	\\"-a-b-c-\\": \\"-a-b-c---db03ce70db75ed1c1bce599b1d18a186\\",
-	\\"©\\": \\"©--7e0826759ac2aeb5fca6e32aa1edb329\\",
-	\\"♥\\": \\"♥--e5560e4053337bd76daf9c2e75d3d7d0\\",
-	\\"“‘’”\\": \\"“‘’”--8e1e3e4cc7221b3ff51633038fafe426\\",
-	\\"☺☃\\": \\"☺☃--ebe5c837d5daf12d16f0daa8c61eb11e\\",
-	\\"⌘⌥\\": \\"⌘⌥--a85dfad97e5b6b370e7c1477411c7af2\\",
-	\\"𝄞♪♩♫♬\\": \\"𝄞♪♩♫♬--4c4549c449045769b60d0b58e8938127\\",
-	\\"💩\\": \\"💩--864ce6a5b06391cf964f32c546bfda16\\",
-	\\"?\\": \\"?--03cb0d319a1c01d96b21cce53cc35bf4\\",
-	\\"@\\": \\"@--dd774107a0c2a338e9f095f7f70b54d7\\",
-	\\".\\": \\".--e11fe8c7f53154b0b2d6cc27502a200e\\",
-	\\":)\\": \\":)--a796bbeca4dff990227350b8dd6f9034\\",
-	\\"<p>\\": \\"<p>--3477ce97df51423d68db9eb33e056c6b\\",
-	\\"<><<<>><>\\": \\"<><<<>><>--a62ab97a8311b28d0df9758cadb75555\\",
-	\\"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.\\": \\"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.--8a18745abe2facd291ae8c5c6ceabbdf\\",
-	\\"#\\": \\"#--57d53edb0e5a6757ce6b205b47cc174d\\",
-	\\"##\\": \\"##--ed672da0a00b94520ab8a4eb3c786471\\",
-	\\"#.#.#\\": \\"#.#.#--f686c0028f3b4932cfd2689eae7db8e7\\",
-	\\"_\\": \\"_--709d19d25c02b59c930033d7ebb27bf3\\",
-	\\"{}\\": \\"{}--03559aa34d08925b7b37b68cbbbab061\\",
-	\\"foo.bar\\": \\"foo.bar--cdeeba651d743a1c9c8726b82a53f3e7\\",
-	\\":hover\\": \\":hover--eedb9b11365e5f804ae9e9ca4e4a93eb\\",
-	\\":hover:focus:active\\": \\":hover:focus:active--fd12204dbd7c44f5cdba57e249953c73\\",
-	\\"[attr=value]\\": \\"[attr=value]--fedf0fe616433390cc587cefb1e06f3c\\",
-	\\"f/o/o\\": \\"f/o/o--872f3df58491fec851e2d142ef35a3f6\\",
-	\\"f\\\\\\\\o\\\\\\\\o\\": \\"f\\\\\\\\o\\\\\\\\o--afacca2cad66f8fa5b5cf8423518de57\\",
-	\\"f*o*o\\": \\"f*o*o--098250e92a511c126ef033e2590afcf0\\",
-	\\"f!o!o\\": \\"f!o!o--5f5ea08f8761ed29077cbf1f17dc6b68\\",
-	\\"f'o'o\\": \\"f'o'o--43951ef60179b3812e63d74831c1e010\\",
-	\\"f~o~o\\": \\"f~o~o--5f27f8554b923243815e3866b257c4e4\\",
-	\\"f+o+o\\": \\"f+o+o--61ecc2824b4db3e9cc7e5a2afedce309\\",
-	\\"foo/bar\\": \\"foo/bar--282fddfcdf932d9d3664c146306a3c3a\\",
-	\\"foo\\\\\\\\bar\\": \\"foo\\\\\\\\bar--aec6247bb9290ae6726f5a36f5816c09\\",
-	\\"foo/bar/baz\\": \\"foo/bar/baz--d2a732e8a4a273013b0b929ab95835c2\\",
-	\\"foo\\\\\\\\bar\\\\\\\\baz\\": \\"foo\\\\\\\\bar\\\\\\\\baz--bc6ce37cc0c680420ee5056f527a94e7\\"
-};
-module.exports = exports;
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\".test--b41321249ebb0685e6618911156e3110 {\\\\n  background: red;\\\\n}\\\\n\\\\n._test--e605d9d2b9f8d108a3bc1e3815bc5742 {\\\\n  background: blue;\\\\n}\\\\n\\\\n.className--22bb9d8df40e3da04687c7b7a35cee6c {\\\\n  background: red;\\\\n}\\\\n\\\\n#someId--8c0f0ebc91d4fb36eb39c7b6ff7dd5b3 {\\\\n  background: green;\\\\n}\\\\n\\\\n.className--22bb9d8df40e3da04687c7b7a35cee6c .subClass--f26ced8fae092bbf6c32c0755b4b2689 {\\\\n  color: green;\\\\n}\\\\n\\\\n#someId--8c0f0ebc91d4fb36eb39c7b6ff7dd5b3 .subClass--f26ced8fae092bbf6c32c0755b4b2689 {\\\\n  color: blue;\\\\n}\\\\n\\\\n.-a0-34a___f--343ba76509d402297336aa3ccd13f346 {\\\\n  color: red;\\\\n}\\\\n\\\\n.m_x_\\\\\\\\@--158b897c83b122dd76838523634e11b7 {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n.B\\\\\\\\&W\\\\\\\\?--dec830b310ac5c6931031f5077fd515f {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\(--6d8fd179dc072fe27c949b1fd22eda29 {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n.\\\\\\\\31 a2b3c--0db261be3609287250bfbcbc24d1fc95 {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#\\\\\\\\#fake-id--bbd4261c5829e34c0c3185ef34318fd5 {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#-a-b-c---95878fa86c34e277bf41bdd102e87a5a {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#©--20a969c38eb11e123e2bfc547bdc5e08 {\\\\n  color: black;\\\\n}\\\\n\\\\n.♥--f3cf6aeaca5cf1740681d26c65f0ec65 { background: lime; }\\\\n.©--20a969c38eb11e123e2bfc547bdc5e08 { background: lime; }\\\\n.“‘’”--a3778ef4d4572ec12c922b10b7512025 { background: lime; }\\\\n.☺☃--3ed5e5b440ef4083dbf310b404b800ed { background: lime; }\\\\n.⌘⌥--7af7e8771036a97e9167554027da67e7 { background: lime; }\\\\n.𝄞♪♩♫♬--b6c998ac9c840d38186128795cfd45c9 { background: lime; }\\\\n.💩--cd06cdeb5495e92691f624dd75e3a38e { background: lime; }\\\\n.\\\\\\\\?--ba4cda6564fd664118a1b291a5eff0d7 { background: lime; }\\\\n.\\\\\\\\@--0c1336757223ea7e8a2972e22c471795 { background: lime; }\\\\n.\\\\\\\\.--4385e8c15fa5c58ca9bbc1b4ad166f56 { background: lime; }\\\\n.\\\\\\\\3A \\\\\\\\)--8943cc547b2d37b17f21e702ab3f99ba { background: lime; }\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\(--6d8fd179dc072fe27c949b1fd22eda29 { background: lime; }\\\\n.\\\\\\\\31 23--1f55ef8239fee16777731cf45fa529b8 { background: lime; }\\\\n.\\\\\\\\31 a2b3c--0db261be3609287250bfbcbc24d1fc95 { background: lime; }\\\\n.\\\\\\\\<p\\\\\\\\>--d2e7501107d4092029d4db45e8ae9e72 { background: lime; }\\\\n.\\\\\\\\<\\\\\\\\>\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\>\\\\\\\\>\\\\\\\\<\\\\\\\\>--a80379f802d9488b6714fd98930aa1ba { background: lime; }\\\\n.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\[\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\-\\\\\\\\]\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\<\\\\\\\\<\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.--8ea662cb37796e437224e3ce0ea5314e { background: lime; }\\\\n.\\\\\\\\#--a343f54935572672cb08973a510e4b2e { background: lime; }\\\\n.\\\\\\\\#\\\\\\\\#--4bbe051c6da4e2351b9fbbd221787752 { background: lime; }\\\\n.\\\\\\\\#\\\\\\\\.\\\\\\\\#\\\\\\\\.\\\\\\\\#--f565f781d2204a02f13c1aa1b7353cfa { background: lime; }\\\\n.\\\\\\\\_--b8e05650bf8b01093e4a07aab4788d2f { background: lime; }\\\\n.\\\\\\\\{\\\\\\\\}--bbe33250951aae8c915a981318ab4a7a { background: lime; }\\\\n.\\\\\\\\#fake\\\\\\\\-id--bbd4261c5829e34c0c3185ef34318fd5 { background: lime; }\\\\n.foo\\\\\\\\.bar--0551f095c83cc1760d6fb7744921345f { background: lime; }\\\\n.\\\\\\\\3A hover--b6212951efdcca7b9aceb46749f23bcd { background: lime; }\\\\n.\\\\\\\\3A hover\\\\\\\\3A focus\\\\\\\\3A active--7bc9104f0ba7a97d19e5211e52743e40 { background: lime; }\\\\n.\\\\\\\\[attr\\\\\\\\=value\\\\\\\\]--999e975b969750094580fc2015bd6840 { background: lime; }\\\\n.f\\\\\\\\/o\\\\\\\\/o--4afed9bcde7e2902a43566ee6b9ce203 { background: lime; }\\\\n.f\\\\\\\\\\\\\\\\o\\\\\\\\\\\\\\\\o--f817fb0fdeb8ab9770a97595177ec49f { background: lime; }\\\\n.f\\\\\\\\*o\\\\\\\\*o--9ed47d92adad9861729359a6a55c7fae { background: lime; }\\\\n.f\\\\\\\\!o\\\\\\\\!o--aad099478379012e2b7fd745e46719df { background: lime; }\\\\n.f\\\\\\\\'o\\\\\\\\'o--ce931aafc17a7d70c933153c66801161 { background: lime; }\\\\n.f\\\\\\\\~o\\\\\\\\~o--316f0e2fe35eb8a83f4d081bf17affce { background: lime; }\\\\n.f\\\\\\\\+o\\\\\\\\+o--89904935c50f3d0737ac0cd81e50193e { background: lime; }\\\\n\\\\n.foo\\\\\\\\/bar--90160e88d07232be7a64629760892d77 {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\\\\\\\\\bar--5697404c682c28f24c0ff83947dc5fd7 {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\/bar\\\\\\\\/baz--a8c3f89a8e8c169e02875e1211c99fb0 {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\\\\\\\\\bar\\\\\\\\\\\\\\\\baz--2ae3a61419e61dda045a78f0e0358c93 {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
+// Exports
+___CSS_LOADER_EXPORT___.locals = {
+	\\"123\\": \\"123--1f55ef8239fee16777731cf45fa529b8\\",
+	\\"test\\": \\"test--b41321249ebb0685e6618911156e3110\\",
+	\\"_test\\": \\"_test--e605d9d2b9f8d108a3bc1e3815bc5742\\",
+	\\"className\\": \\"className--22bb9d8df40e3da04687c7b7a35cee6c\\",
+	\\"someId\\": \\"someId--8c0f0ebc91d4fb36eb39c7b6ff7dd5b3\\",
+	\\"subClass\\": \\"subClass--f26ced8fae092bbf6c32c0755b4b2689\\",
+	\\"-a0-34a___f\\": \\"-a0-34a___f--343ba76509d402297336aa3ccd13f346\\",
+	\\"m_x_@\\": \\"m_x_@--158b897c83b122dd76838523634e11b7\\",
+	\\"B&W?\\": \\"B&W?--dec830b310ac5c6931031f5077fd515f\\",
+	\\":\`(\\": \\":\`(--6d8fd179dc072fe27c949b1fd22eda29\\",
+	\\"1a2b3c\\": \\"1a2b3c--0db261be3609287250bfbcbc24d1fc95\\",
+	\\"#fake-id\\": \\"#fake-id--bbd4261c5829e34c0c3185ef34318fd5\\",
+	\\"-a-b-c-\\": \\"-a-b-c---95878fa86c34e277bf41bdd102e87a5a\\",
+	\\"©\\": \\"©--20a969c38eb11e123e2bfc547bdc5e08\\",
+	\\"♥\\": \\"♥--f3cf6aeaca5cf1740681d26c65f0ec65\\",
+	\\"“‘’”\\": \\"“‘’”--a3778ef4d4572ec12c922b10b7512025\\",
+	\\"☺☃\\": \\"☺☃--3ed5e5b440ef4083dbf310b404b800ed\\",
+	\\"⌘⌥\\": \\"⌘⌥--7af7e8771036a97e9167554027da67e7\\",
+	\\"𝄞♪♩♫♬\\": \\"𝄞♪♩♫♬--b6c998ac9c840d38186128795cfd45c9\\",
+	\\"💩\\": \\"💩--cd06cdeb5495e92691f624dd75e3a38e\\",
+	\\"?\\": \\"?--ba4cda6564fd664118a1b291a5eff0d7\\",
+	\\"@\\": \\"@--0c1336757223ea7e8a2972e22c471795\\",
+	\\".\\": \\".--4385e8c15fa5c58ca9bbc1b4ad166f56\\",
+	\\":)\\": \\":)--8943cc547b2d37b17f21e702ab3f99ba\\",
+	\\"<p>\\": \\"<p>--d2e7501107d4092029d4db45e8ae9e72\\",
+	\\"<><<<>><>\\": \\"<><<<>><>--a80379f802d9488b6714fd98930aa1ba\\",
+	\\"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.\\": \\"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.--8ea662cb37796e437224e3ce0ea5314e\\",
+	\\"#\\": \\"#--a343f54935572672cb08973a510e4b2e\\",
+	\\"##\\": \\"##--4bbe051c6da4e2351b9fbbd221787752\\",
+	\\"#.#.#\\": \\"#.#.#--f565f781d2204a02f13c1aa1b7353cfa\\",
+	\\"_\\": \\"_--b8e05650bf8b01093e4a07aab4788d2f\\",
+	\\"{}\\": \\"{}--bbe33250951aae8c915a981318ab4a7a\\",
+	\\"foo.bar\\": \\"foo.bar--0551f095c83cc1760d6fb7744921345f\\",
+	\\":hover\\": \\":hover--b6212951efdcca7b9aceb46749f23bcd\\",
+	\\":hover:focus:active\\": \\":hover:focus:active--7bc9104f0ba7a97d19e5211e52743e40\\",
+	\\"[attr=value]\\": \\"[attr=value]--999e975b969750094580fc2015bd6840\\",
+	\\"f/o/o\\": \\"f/o/o--4afed9bcde7e2902a43566ee6b9ce203\\",
+	\\"f\\\\\\\\o\\\\\\\\o\\": \\"f\\\\\\\\o\\\\\\\\o--f817fb0fdeb8ab9770a97595177ec49f\\",
+	\\"f*o*o\\": \\"f*o*o--9ed47d92adad9861729359a6a55c7fae\\",
+	\\"f!o!o\\": \\"f!o!o--aad099478379012e2b7fd745e46719df\\",
+	\\"f'o'o\\": \\"f'o'o--ce931aafc17a7d70c933153c66801161\\",
+	\\"f~o~o\\": \\"f~o~o--316f0e2fe35eb8a83f4d081bf17affce\\",
+	\\"f+o+o\\": \\"f+o+o--89904935c50f3d0737ac0cd81e50193e\\",
+	\\"foo/bar\\": \\"foo/bar--90160e88d07232be7a64629760892d77\\",
+	\\"foo\\\\\\\\bar\\": \\"foo\\\\\\\\bar--5697404c682c28f24c0ff83947dc5fd7\\",
+	\\"foo/bar/baz\\": \\"foo/bar/baz--a8c3f89a8e8c169e02875e1211c99fb0\\",
+	\\"foo\\\\\\\\bar\\\\\\\\baz\\": \\"foo\\\\\\\\bar\\\\\\\\baz--2ae3a61419e61dda045a78f0e0358c93\\"
+};
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -2304,117 +2730,117 @@ exports[`"modules" option should work and respect the "hashPrefix" option: resul
 Array [
   Array [
     "./modules/localIdentName/localIdentName.css",
-    ".test--0142b21a44dabb9819108414c865df64 {
+    ".test--b41321249ebb0685e6618911156e3110 {
   background: red;
 }
 
-._test--cde93c8860a038e1411d22cb771488ac {
+._test--e605d9d2b9f8d108a3bc1e3815bc5742 {
   background: blue;
 }
 
-.className--c26790b0ff95d07b06b20d60cf577fd0 {
+.className--22bb9d8df40e3da04687c7b7a35cee6c {
   background: red;
 }
 
-#someId--8eb7b7f9ce9981fd21fd6d5fc4381bf6 {
+#someId--8c0f0ebc91d4fb36eb39c7b6ff7dd5b3 {
   background: green;
 }
 
-.className--c26790b0ff95d07b06b20d60cf577fd0 .subClass--54070e7ec2a737162df117984ecc1761 {
+.className--22bb9d8df40e3da04687c7b7a35cee6c .subClass--f26ced8fae092bbf6c32c0755b4b2689 {
   color: green;
 }
 
-#someId--8eb7b7f9ce9981fd21fd6d5fc4381bf6 .subClass--54070e7ec2a737162df117984ecc1761 {
+#someId--8c0f0ebc91d4fb36eb39c7b6ff7dd5b3 .subClass--f26ced8fae092bbf6c32c0755b4b2689 {
   color: blue;
 }
 
-.-a0-34a___f--e6b44b8956c576006aee9cdfc7b8d960 {
+.-a0-34a___f--343ba76509d402297336aa3ccd13f346 {
   color: red;
 }
 
-.m_x_\\\\@--fbb667cb25a70369de60821c8e36b6fd {
+.m_x_\\\\@--158b897c83b122dd76838523634e11b7 {
   margin-left: auto !important;
   margin-right: auto !important;
 }
 
-.B\\\\&W\\\\?--f1decb173a621f94b1a405675462d8d2 {
+.B\\\\&W\\\\?--dec830b310ac5c6931031f5077fd515f {
   margin-left: auto !important;
   margin-right: auto !important;
 }
 
 /* matches elements with class=\\":\`(\\" */
-.\\\\3A \\\\\`\\\\(--0cb50f97a33928f08d2935be79b3fb60 {
+.\\\\3A \\\\\`\\\\(--6d8fd179dc072fe27c949b1fd22eda29 {
   color: aqua;
 }
 
 /* matches elements with class=\\"1a2b3c\\" */
-.\\\\31 a2b3c--4fd20a7ba770527d2b5181e00d5edc42 {
+.\\\\31 a2b3c--0db261be3609287250bfbcbc24d1fc95 {
   color: aliceblue;
 }
 
 /* matches the element with id=\\"#fake-id\\" */
-#\\\\#fake-id--f50da82e1d107cda50fa45b135c86822 {
+#\\\\#fake-id--bbd4261c5829e34c0c3185ef34318fd5 {
   color: antiquewhite;
 }
 
 /* matches the element with id=\\"-a-b-c-\\" */
-#-a-b-c---db03ce70db75ed1c1bce599b1d18a186 {
+#-a-b-c---95878fa86c34e277bf41bdd102e87a5a {
   color: azure;
 }
 
 /* matches the element with id=\\"©\\" */
-#©--7e0826759ac2aeb5fca6e32aa1edb329 {
+#©--20a969c38eb11e123e2bfc547bdc5e08 {
   color: black;
 }
 
-.♥--e5560e4053337bd76daf9c2e75d3d7d0 { background: lime; }
-.©--7e0826759ac2aeb5fca6e32aa1edb329 { background: lime; }
-.“‘’”--8e1e3e4cc7221b3ff51633038fafe426 { background: lime; }
-.☺☃--ebe5c837d5daf12d16f0daa8c61eb11e { background: lime; }
-.⌘⌥--a85dfad97e5b6b370e7c1477411c7af2 { background: lime; }
-.𝄞♪♩♫♬--4c4549c449045769b60d0b58e8938127 { background: lime; }
-.💩--864ce6a5b06391cf964f32c546bfda16 { background: lime; }
-.\\\\?--03cb0d319a1c01d96b21cce53cc35bf4 { background: lime; }
-.\\\\@--dd774107a0c2a338e9f095f7f70b54d7 { background: lime; }
-.\\\\.--e11fe8c7f53154b0b2d6cc27502a200e { background: lime; }
-.\\\\3A \\\\)--a796bbeca4dff990227350b8dd6f9034 { background: lime; }
-.\\\\3A \\\\\`\\\\(--0cb50f97a33928f08d2935be79b3fb60 { background: lime; }
-.\\\\31 23--87aac6eecc0561fe00a4fab8675db52e { background: lime; }
-.\\\\31 a2b3c--4fd20a7ba770527d2b5181e00d5edc42 { background: lime; }
-.\\\\<p\\\\>--3477ce97df51423d68db9eb33e056c6b { background: lime; }
-.\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\>--a62ab97a8311b28d0df9758cadb75555 { background: lime; }
-.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\.--8a18745abe2facd291ae8c5c6ceabbdf { background: lime; }
-.\\\\#--57d53edb0e5a6757ce6b205b47cc174d { background: lime; }
-.\\\\#\\\\#--ed672da0a00b94520ab8a4eb3c786471 { background: lime; }
-.\\\\#\\\\.\\\\#\\\\.\\\\#--f686c0028f3b4932cfd2689eae7db8e7 { background: lime; }
-.\\\\_--709d19d25c02b59c930033d7ebb27bf3 { background: lime; }
-.\\\\{\\\\}--03559aa34d08925b7b37b68cbbbab061 { background: lime; }
-.\\\\#fake\\\\-id--f50da82e1d107cda50fa45b135c86822 { background: lime; }
-.foo\\\\.bar--cdeeba651d743a1c9c8726b82a53f3e7 { background: lime; }
-.\\\\3A hover--eedb9b11365e5f804ae9e9ca4e4a93eb { background: lime; }
-.\\\\3A hover\\\\3A focus\\\\3A active--fd12204dbd7c44f5cdba57e249953c73 { background: lime; }
-.\\\\[attr\\\\=value\\\\]--fedf0fe616433390cc587cefb1e06f3c { background: lime; }
-.f\\\\/o\\\\/o--872f3df58491fec851e2d142ef35a3f6 { background: lime; }
-.f\\\\\\\\o\\\\\\\\o--afacca2cad66f8fa5b5cf8423518de57 { background: lime; }
-.f\\\\*o\\\\*o--098250e92a511c126ef033e2590afcf0 { background: lime; }
-.f\\\\!o\\\\!o--5f5ea08f8761ed29077cbf1f17dc6b68 { background: lime; }
-.f\\\\'o\\\\'o--43951ef60179b3812e63d74831c1e010 { background: lime; }
-.f\\\\~o\\\\~o--5f27f8554b923243815e3866b257c4e4 { background: lime; }
-.f\\\\+o\\\\+o--61ecc2824b4db3e9cc7e5a2afedce309 { background: lime; }
-
-.foo\\\\/bar--282fddfcdf932d9d3664c146306a3c3a {
+.♥--f3cf6aeaca5cf1740681d26c65f0ec65 { background: lime; }
+.©--20a969c38eb11e123e2bfc547bdc5e08 { background: lime; }
+.“‘’”--a3778ef4d4572ec12c922b10b7512025 { background: lime; }
+.☺☃--3ed5e5b440ef4083dbf310b404b800ed { background: lime; }
+.⌘⌥--7af7e8771036a97e9167554027da67e7 { background: lime; }
+.𝄞♪♩♫♬--b6c998ac9c840d38186128795cfd45c9 { background: lime; }
+.💩--cd06cdeb5495e92691f624dd75e3a38e { background: lime; }
+.\\\\?--ba4cda6564fd664118a1b291a5eff0d7 { background: lime; }
+.\\\\@--0c1336757223ea7e8a2972e22c471795 { background: lime; }
+.\\\\.--4385e8c15fa5c58ca9bbc1b4ad166f56 { background: lime; }
+.\\\\3A \\\\)--8943cc547b2d37b17f21e702ab3f99ba { background: lime; }
+.\\\\3A \\\\\`\\\\(--6d8fd179dc072fe27c949b1fd22eda29 { background: lime; }
+.\\\\31 23--1f55ef8239fee16777731cf45fa529b8 { background: lime; }
+.\\\\31 a2b3c--0db261be3609287250bfbcbc24d1fc95 { background: lime; }
+.\\\\<p\\\\>--d2e7501107d4092029d4db45e8ae9e72 { background: lime; }
+.\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\>--a80379f802d9488b6714fd98930aa1ba { background: lime; }
+.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\.--8ea662cb37796e437224e3ce0ea5314e { background: lime; }
+.\\\\#--a343f54935572672cb08973a510e4b2e { background: lime; }
+.\\\\#\\\\#--4bbe051c6da4e2351b9fbbd221787752 { background: lime; }
+.\\\\#\\\\.\\\\#\\\\.\\\\#--f565f781d2204a02f13c1aa1b7353cfa { background: lime; }
+.\\\\_--b8e05650bf8b01093e4a07aab4788d2f { background: lime; }
+.\\\\{\\\\}--bbe33250951aae8c915a981318ab4a7a { background: lime; }
+.\\\\#fake\\\\-id--bbd4261c5829e34c0c3185ef34318fd5 { background: lime; }
+.foo\\\\.bar--0551f095c83cc1760d6fb7744921345f { background: lime; }
+.\\\\3A hover--b6212951efdcca7b9aceb46749f23bcd { background: lime; }
+.\\\\3A hover\\\\3A focus\\\\3A active--7bc9104f0ba7a97d19e5211e52743e40 { background: lime; }
+.\\\\[attr\\\\=value\\\\]--999e975b969750094580fc2015bd6840 { background: lime; }
+.f\\\\/o\\\\/o--4afed9bcde7e2902a43566ee6b9ce203 { background: lime; }
+.f\\\\\\\\o\\\\\\\\o--f817fb0fdeb8ab9770a97595177ec49f { background: lime; }
+.f\\\\*o\\\\*o--9ed47d92adad9861729359a6a55c7fae { background: lime; }
+.f\\\\!o\\\\!o--aad099478379012e2b7fd745e46719df { background: lime; }
+.f\\\\'o\\\\'o--ce931aafc17a7d70c933153c66801161 { background: lime; }
+.f\\\\~o\\\\~o--316f0e2fe35eb8a83f4d081bf17affce { background: lime; }
+.f\\\\+o\\\\+o--89904935c50f3d0737ac0cd81e50193e { background: lime; }
+
+.foo\\\\/bar--90160e88d07232be7a64629760892d77 {
   background: hotpink;
 }
 
-.foo\\\\\\\\bar--aec6247bb9290ae6726f5a36f5816c09 {
+.foo\\\\\\\\bar--5697404c682c28f24c0ff83947dc5fd7 {
   background: hotpink;
 }
 
-.foo\\\\/bar\\\\/baz--d2a732e8a4a273013b0b929ab95835c2 {
+.foo\\\\/bar\\\\/baz--a8c3f89a8e8c169e02875e1211c99fb0 {
   background: hotpink;
 }
 
-.foo\\\\\\\\bar\\\\\\\\baz--bc6ce37cc0c680420ee5056f527a94e7 {
+.foo\\\\\\\\bar\\\\\\\\baz--2ae3a61419e61dda045a78f0e0358c93 {
   background: hotpink;
 }
 ",
@@ -2425,65 +2851,332 @@ Array [
 
 exports[`"modules" option should work and respect the "hashPrefix" option: warnings 1`] = `Array []`;
 
+exports[`"modules" option should work and respect the "localConvention" option with the "asIs" value: errors 1`] = `Array []`;
+
+exports[`"modules" option should work and respect the "localConvention" option with the "asIs" value: module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2Q1V4VOWJJw_SluZvvIlhU {\\\\n  color: blue;\\\\n}\\\\n\\\\n._3gHYo9kyEfgQSONFjm5nvh {\\\\n  color: blue;\\\\n}\\\\n\\\\n._2jczkRmOmQX2P5z27ZjpPQ {\\\\n  color: red;\\\\n}\\\\n\\\\na {\\\\n  color: yellow;\\\\n}\\\\n\\\\n._3VtSmmeR_mxHj2SfhVM4Hm {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+// Exports
+___CSS_LOADER_EXPORT___.locals = {
+	\\"foo\\": \\"bar\\",
+	\\"my-btn-info_is-disabled\\": \\"value\\",
+	\\"btn-info_is-disabled\\": \\"_2Q1V4VOWJJw_SluZvvIlhU\\",
+	\\"btn--info_is-disabled_1\\": \\"_3gHYo9kyEfgQSONFjm5nvh\\",
+	\\"simple\\": \\"_2jczkRmOmQX2P5z27ZjpPQ\\",
+	\\"foo_bar\\": \\"_3VtSmmeR_mxHj2SfhVM4Hm\\"
+};
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"modules" option should work and respect the "localConvention" option with the "asIs" value: result 1`] = `
+Array [
+  Array [
+    "./modules/localsConvention/localsConvention.css",
+    "._2Q1V4VOWJJw_SluZvvIlhU {
+  color: blue;
+}
+
+._3gHYo9kyEfgQSONFjm5nvh {
+  color: blue;
+}
+
+._2jczkRmOmQX2P5z27ZjpPQ {
+  color: red;
+}
+
+a {
+  color: yellow;
+}
+
+._3VtSmmeR_mxHj2SfhVM4Hm {
+  color: red;
+}
+",
+    "",
+  ],
+]
+`;
+
+exports[`"modules" option should work and respect the "localConvention" option with the "asIs" value: warnings 1`] = `Array []`;
+
+exports[`"modules" option should work and respect the "localConvention" option with the "camelCase" value: errors 1`] = `Array []`;
+
+exports[`"modules" option should work and respect the "localConvention" option with the "camelCase" value: module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2Q1V4VOWJJw_SluZvvIlhU {\\\\n  color: blue;\\\\n}\\\\n\\\\n._3gHYo9kyEfgQSONFjm5nvh {\\\\n  color: blue;\\\\n}\\\\n\\\\n._2jczkRmOmQX2P5z27ZjpPQ {\\\\n  color: red;\\\\n}\\\\n\\\\na {\\\\n  color: yellow;\\\\n}\\\\n\\\\n._3VtSmmeR_mxHj2SfhVM4Hm {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+// Exports
+___CSS_LOADER_EXPORT___.locals = {
+	\\"foo\\": \\"bar\\",
+	\\"my-btn-info_is-disabled\\": \\"value\\",
+	\\"myBtnInfoIsDisabled\\": \\"value\\",
+	\\"btn-info_is-disabled\\": \\"_2Q1V4VOWJJw_SluZvvIlhU\\",
+	\\"btnInfoIsDisabled\\": \\"_2Q1V4VOWJJw_SluZvvIlhU\\",
+	\\"btn--info_is-disabled_1\\": \\"_3gHYo9kyEfgQSONFjm5nvh\\",
+	\\"btnInfoIsDisabled1\\": \\"_3gHYo9kyEfgQSONFjm5nvh\\",
+	\\"simple\\": \\"_2jczkRmOmQX2P5z27ZjpPQ\\",
+	\\"foo_bar\\": \\"_3VtSmmeR_mxHj2SfhVM4Hm\\",
+	\\"fooBar\\": \\"_3VtSmmeR_mxHj2SfhVM4Hm\\"
+};
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"modules" option should work and respect the "localConvention" option with the "camelCase" value: result 1`] = `
+Array [
+  Array [
+    "./modules/localsConvention/localsConvention.css",
+    "._2Q1V4VOWJJw_SluZvvIlhU {
+  color: blue;
+}
+
+._3gHYo9kyEfgQSONFjm5nvh {
+  color: blue;
+}
+
+._2jczkRmOmQX2P5z27ZjpPQ {
+  color: red;
+}
+
+a {
+  color: yellow;
+}
+
+._3VtSmmeR_mxHj2SfhVM4Hm {
+  color: red;
+}
+",
+    "",
+  ],
+]
+`;
+
+exports[`"modules" option should work and respect the "localConvention" option with the "camelCase" value: warnings 1`] = `Array []`;
+
+exports[`"modules" option should work and respect the "localConvention" option with the "camelCaseOnly" value: errors 1`] = `Array []`;
+
+exports[`"modules" option should work and respect the "localConvention" option with the "camelCaseOnly" value: module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2Q1V4VOWJJw_SluZvvIlhU {\\\\n  color: blue;\\\\n}\\\\n\\\\n._3gHYo9kyEfgQSONFjm5nvh {\\\\n  color: blue;\\\\n}\\\\n\\\\n._2jczkRmOmQX2P5z27ZjpPQ {\\\\n  color: red;\\\\n}\\\\n\\\\na {\\\\n  color: yellow;\\\\n}\\\\n\\\\n._3VtSmmeR_mxHj2SfhVM4Hm {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+// Exports
+___CSS_LOADER_EXPORT___.locals = {
+	\\"foo\\": \\"bar\\",
+	\\"myBtnInfoIsDisabled\\": \\"value\\",
+	\\"btnInfoIsDisabled\\": \\"_2Q1V4VOWJJw_SluZvvIlhU\\",
+	\\"btnInfoIsDisabled1\\": \\"_3gHYo9kyEfgQSONFjm5nvh\\",
+	\\"simple\\": \\"_2jczkRmOmQX2P5z27ZjpPQ\\",
+	\\"fooBar\\": \\"_3VtSmmeR_mxHj2SfhVM4Hm\\"
+};
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"modules" option should work and respect the "localConvention" option with the "camelCaseOnly" value: result 1`] = `
+Array [
+  Array [
+    "./modules/localsConvention/localsConvention.css",
+    "._2Q1V4VOWJJw_SluZvvIlhU {
+  color: blue;
+}
+
+._3gHYo9kyEfgQSONFjm5nvh {
+  color: blue;
+}
+
+._2jczkRmOmQX2P5z27ZjpPQ {
+  color: red;
+}
+
+a {
+  color: yellow;
+}
+
+._3VtSmmeR_mxHj2SfhVM4Hm {
+  color: red;
+}
+",
+    "",
+  ],
+]
+`;
+
+exports[`"modules" option should work and respect the "localConvention" option with the "camelCaseOnly" value: warnings 1`] = `Array []`;
+
+exports[`"modules" option should work and respect the "localConvention" option with the "dashes" value: errors 1`] = `Array []`;
+
+exports[`"modules" option should work and respect the "localConvention" option with the "dashes" value: module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2Q1V4VOWJJw_SluZvvIlhU {\\\\n  color: blue;\\\\n}\\\\n\\\\n._3gHYo9kyEfgQSONFjm5nvh {\\\\n  color: blue;\\\\n}\\\\n\\\\n._2jczkRmOmQX2P5z27ZjpPQ {\\\\n  color: red;\\\\n}\\\\n\\\\na {\\\\n  color: yellow;\\\\n}\\\\n\\\\n._3VtSmmeR_mxHj2SfhVM4Hm {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+// Exports
+___CSS_LOADER_EXPORT___.locals = {
+	\\"foo\\": \\"bar\\",
+	\\"my-btn-info_is-disabled\\": \\"value\\",
+	\\"myBtnInfo_isDisabled\\": \\"value\\",
+	\\"btn-info_is-disabled\\": \\"_2Q1V4VOWJJw_SluZvvIlhU\\",
+	\\"btnInfo_isDisabled\\": \\"_2Q1V4VOWJJw_SluZvvIlhU\\",
+	\\"btn--info_is-disabled_1\\": \\"_3gHYo9kyEfgQSONFjm5nvh\\",
+	\\"btnInfo_isDisabled_1\\": \\"_3gHYo9kyEfgQSONFjm5nvh\\",
+	\\"simple\\": \\"_2jczkRmOmQX2P5z27ZjpPQ\\",
+	\\"foo_bar\\": \\"_3VtSmmeR_mxHj2SfhVM4Hm\\"
+};
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"modules" option should work and respect the "localConvention" option with the "dashes" value: result 1`] = `
+Array [
+  Array [
+    "./modules/localsConvention/localsConvention.css",
+    "._2Q1V4VOWJJw_SluZvvIlhU {
+  color: blue;
+}
+
+._3gHYo9kyEfgQSONFjm5nvh {
+  color: blue;
+}
+
+._2jczkRmOmQX2P5z27ZjpPQ {
+  color: red;
+}
+
+a {
+  color: yellow;
+}
+
+._3VtSmmeR_mxHj2SfhVM4Hm {
+  color: red;
+}
+",
+    "",
+  ],
+]
+`;
+
+exports[`"modules" option should work and respect the "localConvention" option with the "dashes" value: warnings 1`] = `Array []`;
+
+exports[`"modules" option should work and respect the "localConvention" option with the "dashesOnly" value: errors 1`] = `Array []`;
+
+exports[`"modules" option should work and respect the "localConvention" option with the "dashesOnly" value: module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2Q1V4VOWJJw_SluZvvIlhU {\\\\n  color: blue;\\\\n}\\\\n\\\\n._3gHYo9kyEfgQSONFjm5nvh {\\\\n  color: blue;\\\\n}\\\\n\\\\n._2jczkRmOmQX2P5z27ZjpPQ {\\\\n  color: red;\\\\n}\\\\n\\\\na {\\\\n  color: yellow;\\\\n}\\\\n\\\\n._3VtSmmeR_mxHj2SfhVM4Hm {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+// Exports
+___CSS_LOADER_EXPORT___.locals = {
+	\\"foo\\": \\"bar\\",
+	\\"myBtnInfo_isDisabled\\": \\"value\\",
+	\\"btnInfo_isDisabled\\": \\"_2Q1V4VOWJJw_SluZvvIlhU\\",
+	\\"btnInfo_isDisabled_1\\": \\"_3gHYo9kyEfgQSONFjm5nvh\\",
+	\\"simple\\": \\"_2jczkRmOmQX2P5z27ZjpPQ\\",
+	\\"foo_bar\\": \\"_3VtSmmeR_mxHj2SfhVM4Hm\\"
+};
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"modules" option should work and respect the "localConvention" option with the "dashesOnly" value: result 1`] = `
+Array [
+  Array [
+    "./modules/localsConvention/localsConvention.css",
+    "._2Q1V4VOWJJw_SluZvvIlhU {
+  color: blue;
+}
+
+._3gHYo9kyEfgQSONFjm5nvh {
+  color: blue;
+}
+
+._2jczkRmOmQX2P5z27ZjpPQ {
+  color: red;
+}
+
+a {
+  color: yellow;
+}
+
+._3VtSmmeR_mxHj2SfhVM4Hm {
+  color: red;
+}
+",
+    "",
+  ],
+]
+`;
+
+exports[`"modules" option should work and respect the "localConvention" option with the "dashesOnly" value: warnings 1`] = `Array []`;
+
 exports[`"modules" option should work and respect the "localIdentName" option: errors 1`] = `Array []`;
 
 exports[`"modules" option should work and respect the "localIdentName" option: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-// Module
-exports.push([module.id, \\".localIdentName--test--3bArY {\\\\n  background: red;\\\\n}\\\\n\\\\n.localIdentName--_test--XTGsN {\\\\n  background: blue;\\\\n}\\\\n\\\\n.localIdentName--className--2ilfW {\\\\n  background: red;\\\\n}\\\\n\\\\n#localIdentName--someId--3v-9L {\\\\n  background: green;\\\\n}\\\\n\\\\n.localIdentName--className--2ilfW .localIdentName--subClass--3DLY7 {\\\\n  color: green;\\\\n}\\\\n\\\\n#localIdentName--someId--3v-9L .localIdentName--subClass--3DLY7 {\\\\n  color: blue;\\\\n}\\\\n\\\\n.localIdentName---a0-34a___f--2skz9 {\\\\n  color: red;\\\\n}\\\\n\\\\n.localIdentName--m_x_\\\\\\\\@--1pEJL {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n.localIdentName--B\\\\\\\\&W\\\\\\\\?--36Mz6 {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.localIdentName--\\\\\\\\3A \\\\\\\\\`\\\\\\\\(--3smFt {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n.localIdentName--\\\\\\\\31 a2b3c--3nWh_ {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#localIdentName--\\\\\\\\#fake-id--3zyOT {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#localIdentName---a-b-c---SXlBp {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#localIdentName--©--3wIdK {\\\\n  color: black;\\\\n}\\\\n\\\\n.localIdentName--♥--3CvZA { background: lime; }\\\\n.localIdentName--©--3wIdK { background: lime; }\\\\n.localIdentName--“‘’”--1lLtT { background: lime; }\\\\n.localIdentName--☺☃--129OO { background: lime; }\\\\n.localIdentName--⌘⌥--31l8- { background: lime; }\\\\n.localIdentName--𝄞♪♩♫♬--3PTmP { background: lime; }\\\\n.localIdentName--💩--3iDx9 { background: lime; }\\\\n.localIdentName--\\\\\\\\?--gjylL { background: lime; }\\\\n.localIdentName--\\\\\\\\@--t5XxN { background: lime; }\\\\n.localIdentName--\\\\\\\\.--fEcdI { background: lime; }\\\\n.localIdentName--\\\\\\\\3A \\\\\\\\)--3JwMk { background: lime; }\\\\n.localIdentName--\\\\\\\\3A \\\\\\\\\`\\\\\\\\(--3smFt { background: lime; }\\\\n.localIdentName--\\\\\\\\31 23--30YAJ { background: lime; }\\\\n.localIdentName--\\\\\\\\31 a2b3c--3nWh_ { background: lime; }\\\\n.localIdentName--\\\\\\\\<p\\\\\\\\>--juMfC { background: lime; }\\\\n.localIdentName--\\\\\\\\<\\\\\\\\>\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\>\\\\\\\\>\\\\\\\\<\\\\\\\\>--1nZHf { background: lime; }\\\\n.localIdentName--\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\[\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\-\\\\\\\\]\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\<\\\\\\\\<\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.--3tH-J { background: lime; }\\\\n.localIdentName--\\\\\\\\#--1d4pW { background: lime; }\\\\n.localIdentName--\\\\\\\\#\\\\\\\\#--1yrD9 { background: lime; }\\\\n.localIdentName--\\\\\\\\#\\\\\\\\.\\\\\\\\#\\\\\\\\.\\\\\\\\#--181tN { background: lime; }\\\\n.localIdentName--\\\\\\\\_--3XX_E { background: lime; }\\\\n.localIdentName--\\\\\\\\{\\\\\\\\}--1okIt { background: lime; }\\\\n.localIdentName--\\\\\\\\#fake\\\\\\\\-id--3zyOT { background: lime; }\\\\n.localIdentName--foo\\\\\\\\.bar--D1UTM { background: lime; }\\\\n.localIdentName--\\\\\\\\3A hover--1VdiV { background: lime; }\\\\n.localIdentName--\\\\\\\\3A hover\\\\\\\\3A focus\\\\\\\\3A active--3bwG4 { background: lime; }\\\\n.localIdentName--\\\\\\\\[attr\\\\\\\\=value\\\\\\\\]--2dg-h { background: lime; }\\\\n.localIdentName--f\\\\\\\\/o\\\\\\\\/o--3MAXc { background: lime; }\\\\n.localIdentName--f\\\\\\\\\\\\\\\\o\\\\\\\\\\\\\\\\o--S0VDf { background: lime; }\\\\n.localIdentName--f\\\\\\\\*o\\\\\\\\*o--1Dj0P { background: lime; }\\\\n.localIdentName--f\\\\\\\\!o\\\\\\\\!o--3SZwC { background: lime; }\\\\n.localIdentName--f\\\\\\\\'o\\\\\\\\'o--mapSs { background: lime; }\\\\n.localIdentName--f\\\\\\\\~o\\\\\\\\~o--10Kpk { background: lime; }\\\\n.localIdentName--f\\\\\\\\+o\\\\\\\\+o--3t38e { background: lime; }\\\\n\\\\n.localIdentName--foo\\\\\\\\/bar--37a0Q {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.localIdentName--foo\\\\\\\\\\\\\\\\bar--2hUYl {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.localIdentName--foo\\\\\\\\/bar\\\\\\\\/baz--1Grpv {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.localIdentName--foo\\\\\\\\\\\\\\\\bar\\\\\\\\\\\\\\\\baz--2iqkF {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
-// Exports
-exports.locals = {
-	\\"123\\": \\"localIdentName--123--30YAJ\\",
-	\\"test\\": \\"localIdentName--test--3bArY\\",
-	\\"_test\\": \\"localIdentName--_test--XTGsN\\",
-	\\"className\\": \\"localIdentName--className--2ilfW\\",
-	\\"someId\\": \\"localIdentName--someId--3v-9L\\",
-	\\"subClass\\": \\"localIdentName--subClass--3DLY7\\",
-	\\"-a0-34a___f\\": \\"localIdentName---a0-34a___f--2skz9\\",
-	\\"m_x_@\\": \\"localIdentName--m_x_@--1pEJL\\",
-	\\"B&W?\\": \\"localIdentName--B&W?--36Mz6\\",
-	\\":\`(\\": \\"localIdentName--:\`(--3smFt\\",
-	\\"1a2b3c\\": \\"localIdentName--1a2b3c--3nWh_\\",
-	\\"#fake-id\\": \\"localIdentName--#fake-id--3zyOT\\",
-	\\"-a-b-c-\\": \\"localIdentName---a-b-c---SXlBp\\",
-	\\"©\\": \\"localIdentName--©--3wIdK\\",
-	\\"♥\\": \\"localIdentName--♥--3CvZA\\",
-	\\"“‘’”\\": \\"localIdentName--“‘’”--1lLtT\\",
-	\\"☺☃\\": \\"localIdentName--☺☃--129OO\\",
-	\\"⌘⌥\\": \\"localIdentName--⌘⌥--31l8-\\",
-	\\"𝄞♪♩♫♬\\": \\"localIdentName--𝄞♪♩♫♬--3PTmP\\",
-	\\"💩\\": \\"localIdentName--💩--3iDx9\\",
-	\\"?\\": \\"localIdentName--?--gjylL\\",
-	\\"@\\": \\"localIdentName--@--t5XxN\\",
-	\\".\\": \\"localIdentName--.--fEcdI\\",
-	\\":)\\": \\"localIdentName--:)--3JwMk\\",
-	\\"<p>\\": \\"localIdentName--<p>--juMfC\\",
-	\\"<><<<>><>\\": \\"localIdentName--<><<<>><>--1nZHf\\",
-	\\"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.\\": \\"localIdentName--++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.--3tH-J\\",
-	\\"#\\": \\"localIdentName--#--1d4pW\\",
-	\\"##\\": \\"localIdentName--##--1yrD9\\",
-	\\"#.#.#\\": \\"localIdentName--#.#.#--181tN\\",
-	\\"_\\": \\"localIdentName--_--3XX_E\\",
-	\\"{}\\": \\"localIdentName--{}--1okIt\\",
-	\\"foo.bar\\": \\"localIdentName--foo.bar--D1UTM\\",
-	\\":hover\\": \\"localIdentName--:hover--1VdiV\\",
-	\\":hover:focus:active\\": \\"localIdentName--:hover:focus:active--3bwG4\\",
-	\\"[attr=value]\\": \\"localIdentName--[attr=value]--2dg-h\\",
-	\\"f/o/o\\": \\"localIdentName--f/o/o--3MAXc\\",
-	\\"f\\\\\\\\o\\\\\\\\o\\": \\"localIdentName--f\\\\\\\\o\\\\\\\\o--S0VDf\\",
-	\\"f*o*o\\": \\"localIdentName--f*o*o--1Dj0P\\",
-	\\"f!o!o\\": \\"localIdentName--f!o!o--3SZwC\\",
-	\\"f'o'o\\": \\"localIdentName--f'o'o--mapSs\\",
-	\\"f~o~o\\": \\"localIdentName--f~o~o--10Kpk\\",
-	\\"f+o+o\\": \\"localIdentName--f+o+o--3t38e\\",
-	\\"foo/bar\\": \\"localIdentName--foo/bar--37a0Q\\",
-	\\"foo\\\\\\\\bar\\": \\"localIdentName--foo\\\\\\\\bar--2hUYl\\",
-	\\"foo/bar/baz\\": \\"localIdentName--foo/bar/baz--1Grpv\\",
-	\\"foo\\\\\\\\bar\\\\\\\\baz\\": \\"localIdentName--foo\\\\\\\\bar\\\\\\\\baz--2iqkF\\"
-};
-module.exports = exports;
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\".localIdentName--test--3THCh {\\\\n  background: red;\\\\n}\\\\n\\\\n.localIdentName--_test--1Ic0T {\\\\n  background: blue;\\\\n}\\\\n\\\\n.localIdentName--className--1cIQw {\\\\n  background: red;\\\\n}\\\\n\\\\n#localIdentName--someId--2KQxk {\\\\n  background: green;\\\\n}\\\\n\\\\n.localIdentName--className--1cIQw .localIdentName--subClass--1SaZq {\\\\n  color: green;\\\\n}\\\\n\\\\n#localIdentName--someId--2KQxk .localIdentName--subClass--1SaZq {\\\\n  color: blue;\\\\n}\\\\n\\\\n.localIdentName---a0-34a___f--3_8fO {\\\\n  color: red;\\\\n}\\\\n\\\\n.localIdentName--m_x_\\\\\\\\@--oSCIy {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n.localIdentName--B\\\\\\\\&W\\\\\\\\?--1YhNo {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.localIdentName--\\\\\\\\3A \\\\\\\\\`\\\\\\\\(--1OM1X {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n.localIdentName--\\\\\\\\31 a2b3c--1bpu3 {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#localIdentName--\\\\\\\\#fake-id--1CCtl {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#localIdentName---a-b-c---2TwUo {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#localIdentName--©--2DQau {\\\\n  color: black;\\\\n}\\\\n\\\\n.localIdentName--♥--1OsGH { background: lime; }\\\\n.localIdentName--©--2DQau { background: lime; }\\\\n.localIdentName--“‘’”--2KvI5 { background: lime; }\\\\n.localIdentName--☺☃--2yQjB { background: lime; }\\\\n.localIdentName--⌘⌥--3fcdf { background: lime; }\\\\n.localIdentName--𝄞♪♩♫♬--36_8U { background: lime; }\\\\n.localIdentName--💩--uHOC9 { background: lime; }\\\\n.localIdentName--\\\\\\\\?--3yhO8 { background: lime; }\\\\n.localIdentName--\\\\\\\\@--2FM4H { background: lime; }\\\\n.localIdentName--\\\\\\\\.--3Xwjs { background: lime; }\\\\n.localIdentName--\\\\\\\\3A \\\\\\\\)--3Rekp { background: lime; }\\\\n.localIdentName--\\\\\\\\3A \\\\\\\\\`\\\\\\\\(--1OM1X { background: lime; }\\\\n.localIdentName--\\\\\\\\31 23--3rkg9 { background: lime; }\\\\n.localIdentName--\\\\\\\\31 a2b3c--1bpu3 { background: lime; }\\\\n.localIdentName--\\\\\\\\<p\\\\\\\\>--2NpJO { background: lime; }\\\\n.localIdentName--\\\\\\\\<\\\\\\\\>\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\>\\\\\\\\>\\\\\\\\<\\\\\\\\>--3rLnD { background: lime; }\\\\n.localIdentName--\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\[\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\-\\\\\\\\]\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\<\\\\\\\\<\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.--fBy3x { background: lime; }\\\\n.localIdentName--\\\\\\\\#--1mZzx { background: lime; }\\\\n.localIdentName--\\\\\\\\#\\\\\\\\#--31Eih { background: lime; }\\\\n.localIdentName--\\\\\\\\#\\\\\\\\.\\\\\\\\#\\\\\\\\.\\\\\\\\#--3aQjU { background: lime; }\\\\n.localIdentName--\\\\\\\\_--Fi_vb { background: lime; }\\\\n.localIdentName--\\\\\\\\{\\\\\\\\}--2PPE1 { background: lime; }\\\\n.localIdentName--\\\\\\\\#fake\\\\\\\\-id--1CCtl { background: lime; }\\\\n.localIdentName--foo\\\\\\\\.bar--1CwcQ { background: lime; }\\\\n.localIdentName--\\\\\\\\3A hover--1wJ1H { background: lime; }\\\\n.localIdentName--\\\\\\\\3A hover\\\\\\\\3A focus\\\\\\\\3A active--2bgUH { background: lime; }\\\\n.localIdentName--\\\\\\\\[attr\\\\\\\\=value\\\\\\\\]--2kDs7 { background: lime; }\\\\n.localIdentName--f\\\\\\\\/o\\\\\\\\/o--kDF4z { background: lime; }\\\\n.localIdentName--f\\\\\\\\\\\\\\\\o\\\\\\\\\\\\\\\\o--11wgS { background: lime; }\\\\n.localIdentName--f\\\\\\\\*o\\\\\\\\*o--3SaQa { background: lime; }\\\\n.localIdentName--f\\\\\\\\!o\\\\\\\\!o--3WN_y { background: lime; }\\\\n.localIdentName--f\\\\\\\\'o\\\\\\\\'o--uiCGu { background: lime; }\\\\n.localIdentName--f\\\\\\\\~o\\\\\\\\~o--1Wue4 { background: lime; }\\\\n.localIdentName--f\\\\\\\\+o\\\\\\\\+o--3x4WJ { background: lime; }\\\\n\\\\n.localIdentName--foo\\\\\\\\/bar--3S7V- {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.localIdentName--foo\\\\\\\\\\\\\\\\bar--3mkt5 {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.localIdentName--foo\\\\\\\\/bar\\\\\\\\/baz--2x1dg {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.localIdentName--foo\\\\\\\\\\\\\\\\bar\\\\\\\\\\\\\\\\baz--2a8NO {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
+// Exports
+___CSS_LOADER_EXPORT___.locals = {
+	\\"123\\": \\"localIdentName--123--3rkg9\\",
+	\\"test\\": \\"localIdentName--test--3THCh\\",
+	\\"_test\\": \\"localIdentName--_test--1Ic0T\\",
+	\\"className\\": \\"localIdentName--className--1cIQw\\",
+	\\"someId\\": \\"localIdentName--someId--2KQxk\\",
+	\\"subClass\\": \\"localIdentName--subClass--1SaZq\\",
+	\\"-a0-34a___f\\": \\"localIdentName---a0-34a___f--3_8fO\\",
+	\\"m_x_@\\": \\"localIdentName--m_x_@--oSCIy\\",
+	\\"B&W?\\": \\"localIdentName--B&W?--1YhNo\\",
+	\\":\`(\\": \\"localIdentName--:\`(--1OM1X\\",
+	\\"1a2b3c\\": \\"localIdentName--1a2b3c--1bpu3\\",
+	\\"#fake-id\\": \\"localIdentName--#fake-id--1CCtl\\",
+	\\"-a-b-c-\\": \\"localIdentName---a-b-c---2TwUo\\",
+	\\"©\\": \\"localIdentName--©--2DQau\\",
+	\\"♥\\": \\"localIdentName--♥--1OsGH\\",
+	\\"“‘’”\\": \\"localIdentName--“‘’”--2KvI5\\",
+	\\"☺☃\\": \\"localIdentName--☺☃--2yQjB\\",
+	\\"⌘⌥\\": \\"localIdentName--⌘⌥--3fcdf\\",
+	\\"𝄞♪♩♫♬\\": \\"localIdentName--𝄞♪♩♫♬--36_8U\\",
+	\\"💩\\": \\"localIdentName--💩--uHOC9\\",
+	\\"?\\": \\"localIdentName--?--3yhO8\\",
+	\\"@\\": \\"localIdentName--@--2FM4H\\",
+	\\".\\": \\"localIdentName--.--3Xwjs\\",
+	\\":)\\": \\"localIdentName--:)--3Rekp\\",
+	\\"<p>\\": \\"localIdentName--<p>--2NpJO\\",
+	\\"<><<<>><>\\": \\"localIdentName--<><<<>><>--3rLnD\\",
+	\\"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.\\": \\"localIdentName--++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.--fBy3x\\",
+	\\"#\\": \\"localIdentName--#--1mZzx\\",
+	\\"##\\": \\"localIdentName--##--31Eih\\",
+	\\"#.#.#\\": \\"localIdentName--#.#.#--3aQjU\\",
+	\\"_\\": \\"localIdentName--_--Fi_vb\\",
+	\\"{}\\": \\"localIdentName--{}--2PPE1\\",
+	\\"foo.bar\\": \\"localIdentName--foo.bar--1CwcQ\\",
+	\\":hover\\": \\"localIdentName--:hover--1wJ1H\\",
+	\\":hover:focus:active\\": \\"localIdentName--:hover:focus:active--2bgUH\\",
+	\\"[attr=value]\\": \\"localIdentName--[attr=value]--2kDs7\\",
+	\\"f/o/o\\": \\"localIdentName--f/o/o--kDF4z\\",
+	\\"f\\\\\\\\o\\\\\\\\o\\": \\"localIdentName--f\\\\\\\\o\\\\\\\\o--11wgS\\",
+	\\"f*o*o\\": \\"localIdentName--f*o*o--3SaQa\\",
+	\\"f!o!o\\": \\"localIdentName--f!o!o--3WN_y\\",
+	\\"f'o'o\\": \\"localIdentName--f'o'o--uiCGu\\",
+	\\"f~o~o\\": \\"localIdentName--f~o~o--1Wue4\\",
+	\\"f+o+o\\": \\"localIdentName--f+o+o--3x4WJ\\",
+	\\"foo/bar\\": \\"localIdentName--foo/bar--3S7V-\\",
+	\\"foo\\\\\\\\bar\\": \\"localIdentName--foo\\\\\\\\bar--3mkt5\\",
+	\\"foo/bar/baz\\": \\"localIdentName--foo/bar/baz--2x1dg\\",
+	\\"foo\\\\\\\\bar\\\\\\\\baz\\": \\"localIdentName--foo\\\\\\\\bar\\\\\\\\baz--2a8NO\\"
+};
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -2491,117 +3184,117 @@ exports[`"modules" option should work and respect the "localIdentName" option: r
 Array [
   Array [
     "./modules/localIdentName/localIdentName.css",
-    ".localIdentName--test--3bArY {
+    ".localIdentName--test--3THCh {
   background: red;
 }
 
-.localIdentName--_test--XTGsN {
+.localIdentName--_test--1Ic0T {
   background: blue;
 }
 
-.localIdentName--className--2ilfW {
+.localIdentName--className--1cIQw {
   background: red;
 }
 
-#localIdentName--someId--3v-9L {
+#localIdentName--someId--2KQxk {
   background: green;
 }
 
-.localIdentName--className--2ilfW .localIdentName--subClass--3DLY7 {
+.localIdentName--className--1cIQw .localIdentName--subClass--1SaZq {
   color: green;
 }
 
-#localIdentName--someId--3v-9L .localIdentName--subClass--3DLY7 {
+#localIdentName--someId--2KQxk .localIdentName--subClass--1SaZq {
   color: blue;
 }
 
-.localIdentName---a0-34a___f--2skz9 {
+.localIdentName---a0-34a___f--3_8fO {
   color: red;
 }
 
-.localIdentName--m_x_\\\\@--1pEJL {
+.localIdentName--m_x_\\\\@--oSCIy {
   margin-left: auto !important;
   margin-right: auto !important;
 }
 
-.localIdentName--B\\\\&W\\\\?--36Mz6 {
+.localIdentName--B\\\\&W\\\\?--1YhNo {
   margin-left: auto !important;
   margin-right: auto !important;
 }
 
 /* matches elements with class=\\":\`(\\" */
-.localIdentName--\\\\3A \\\\\`\\\\(--3smFt {
+.localIdentName--\\\\3A \\\\\`\\\\(--1OM1X {
   color: aqua;
 }
 
 /* matches elements with class=\\"1a2b3c\\" */
-.localIdentName--\\\\31 a2b3c--3nWh_ {
+.localIdentName--\\\\31 a2b3c--1bpu3 {
   color: aliceblue;
 }
 
 /* matches the element with id=\\"#fake-id\\" */
-#localIdentName--\\\\#fake-id--3zyOT {
+#localIdentName--\\\\#fake-id--1CCtl {
   color: antiquewhite;
 }
 
 /* matches the element with id=\\"-a-b-c-\\" */
-#localIdentName---a-b-c---SXlBp {
+#localIdentName---a-b-c---2TwUo {
   color: azure;
 }
 
 /* matches the element with id=\\"©\\" */
-#localIdentName--©--3wIdK {
+#localIdentName--©--2DQau {
   color: black;
 }
 
-.localIdentName--♥--3CvZA { background: lime; }
-.localIdentName--©--3wIdK { background: lime; }
-.localIdentName--“‘’”--1lLtT { background: lime; }
-.localIdentName--☺☃--129OO { background: lime; }
-.localIdentName--⌘⌥--31l8- { background: lime; }
-.localIdentName--𝄞♪♩♫♬--3PTmP { background: lime; }
-.localIdentName--💩--3iDx9 { background: lime; }
-.localIdentName--\\\\?--gjylL { background: lime; }
-.localIdentName--\\\\@--t5XxN { background: lime; }
-.localIdentName--\\\\.--fEcdI { background: lime; }
-.localIdentName--\\\\3A \\\\)--3JwMk { background: lime; }
-.localIdentName--\\\\3A \\\\\`\\\\(--3smFt { background: lime; }
-.localIdentName--\\\\31 23--30YAJ { background: lime; }
-.localIdentName--\\\\31 a2b3c--3nWh_ { background: lime; }
-.localIdentName--\\\\<p\\\\>--juMfC { background: lime; }
-.localIdentName--\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\>--1nZHf { background: lime; }
-.localIdentName--\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\.--3tH-J { background: lime; }
-.localIdentName--\\\\#--1d4pW { background: lime; }
-.localIdentName--\\\\#\\\\#--1yrD9 { background: lime; }
-.localIdentName--\\\\#\\\\.\\\\#\\\\.\\\\#--181tN { background: lime; }
-.localIdentName--\\\\_--3XX_E { background: lime; }
-.localIdentName--\\\\{\\\\}--1okIt { background: lime; }
-.localIdentName--\\\\#fake\\\\-id--3zyOT { background: lime; }
-.localIdentName--foo\\\\.bar--D1UTM { background: lime; }
-.localIdentName--\\\\3A hover--1VdiV { background: lime; }
-.localIdentName--\\\\3A hover\\\\3A focus\\\\3A active--3bwG4 { background: lime; }
-.localIdentName--\\\\[attr\\\\=value\\\\]--2dg-h { background: lime; }
-.localIdentName--f\\\\/o\\\\/o--3MAXc { background: lime; }
-.localIdentName--f\\\\\\\\o\\\\\\\\o--S0VDf { background: lime; }
-.localIdentName--f\\\\*o\\\\*o--1Dj0P { background: lime; }
-.localIdentName--f\\\\!o\\\\!o--3SZwC { background: lime; }
-.localIdentName--f\\\\'o\\\\'o--mapSs { background: lime; }
-.localIdentName--f\\\\~o\\\\~o--10Kpk { background: lime; }
-.localIdentName--f\\\\+o\\\\+o--3t38e { background: lime; }
-
-.localIdentName--foo\\\\/bar--37a0Q {
+.localIdentName--♥--1OsGH { background: lime; }
+.localIdentName--©--2DQau { background: lime; }
+.localIdentName--“‘’”--2KvI5 { background: lime; }
+.localIdentName--☺☃--2yQjB { background: lime; }
+.localIdentName--⌘⌥--3fcdf { background: lime; }
+.localIdentName--𝄞♪♩♫♬--36_8U { background: lime; }
+.localIdentName--💩--uHOC9 { background: lime; }
+.localIdentName--\\\\?--3yhO8 { background: lime; }
+.localIdentName--\\\\@--2FM4H { background: lime; }
+.localIdentName--\\\\.--3Xwjs { background: lime; }
+.localIdentName--\\\\3A \\\\)--3Rekp { background: lime; }
+.localIdentName--\\\\3A \\\\\`\\\\(--1OM1X { background: lime; }
+.localIdentName--\\\\31 23--3rkg9 { background: lime; }
+.localIdentName--\\\\31 a2b3c--1bpu3 { background: lime; }
+.localIdentName--\\\\<p\\\\>--2NpJO { background: lime; }
+.localIdentName--\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\>--3rLnD { background: lime; }
+.localIdentName--\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\.--fBy3x { background: lime; }
+.localIdentName--\\\\#--1mZzx { background: lime; }
+.localIdentName--\\\\#\\\\#--31Eih { background: lime; }
+.localIdentName--\\\\#\\\\.\\\\#\\\\.\\\\#--3aQjU { background: lime; }
+.localIdentName--\\\\_--Fi_vb { background: lime; }
+.localIdentName--\\\\{\\\\}--2PPE1 { background: lime; }
+.localIdentName--\\\\#fake\\\\-id--1CCtl { background: lime; }
+.localIdentName--foo\\\\.bar--1CwcQ { background: lime; }
+.localIdentName--\\\\3A hover--1wJ1H { background: lime; }
+.localIdentName--\\\\3A hover\\\\3A focus\\\\3A active--2bgUH { background: lime; }
+.localIdentName--\\\\[attr\\\\=value\\\\]--2kDs7 { background: lime; }
+.localIdentName--f\\\\/o\\\\/o--kDF4z { background: lime; }
+.localIdentName--f\\\\\\\\o\\\\\\\\o--11wgS { background: lime; }
+.localIdentName--f\\\\*o\\\\*o--3SaQa { background: lime; }
+.localIdentName--f\\\\!o\\\\!o--3WN_y { background: lime; }
+.localIdentName--f\\\\'o\\\\'o--uiCGu { background: lime; }
+.localIdentName--f\\\\~o\\\\~o--1Wue4 { background: lime; }
+.localIdentName--f\\\\+o\\\\+o--3x4WJ { background: lime; }
+
+.localIdentName--foo\\\\/bar--3S7V- {
   background: hotpink;
 }
 
-.localIdentName--foo\\\\\\\\bar--2hUYl {
+.localIdentName--foo\\\\\\\\bar--3mkt5 {
   background: hotpink;
 }
 
-.localIdentName--foo\\\\/bar\\\\/baz--1Grpv {
+.localIdentName--foo\\\\/bar\\\\/baz--2x1dg {
   background: hotpink;
 }
 
-.localIdentName--foo\\\\\\\\bar\\\\\\\\baz--2iqkF {
+.localIdentName--foo\\\\\\\\bar\\\\\\\\baz--2a8NO {
   background: hotpink;
 }
 ",
@@ -2616,12 +3309,12 @@ exports[`"modules" option should work and respect the "path" placeholder: errors
 
 exports[`"modules" option should work and respect the "path" placeholder: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".fixtures-modules-localIdentName-localIdentName__test {\\\\n  background: red;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName___test {\\\\n  background: blue;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__className {\\\\n  background: red;\\\\n}\\\\n\\\\n#fixtures-modules-localIdentName-localIdentName__someId {\\\\n  background: green;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__className .fixtures-modules-localIdentName-localIdentName__subClass {\\\\n  color: green;\\\\n}\\\\n\\\\n#fixtures-modules-localIdentName-localIdentName__someId .fixtures-modules-localIdentName-localIdentName__subClass {\\\\n  color: blue;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__-a0-34a___f {\\\\n  color: red;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__m_x_\\\\\\\\@ {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__B\\\\\\\\&W\\\\\\\\? {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\31 a2b3c {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#fixtures-modules-localIdentName-localIdentName__\\\\\\\\#fake-id {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#fixtures-modules-localIdentName-localIdentName__-a-b-c- {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#fixtures-modules-localIdentName-localIdentName__© {\\\\n  color: black;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__♥ { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__© { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__“‘’” { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__☺☃ { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__⌘⌥ { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__𝄞♪♩♫♬ { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__💩 { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\? { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\@ { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\. { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\3A \\\\\\\\) { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\3A \\\\\\\\\`\\\\\\\\( { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\31 23 { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\31 a2b3c { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\<p\\\\\\\\> { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\<\\\\\\\\>\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\>\\\\\\\\>\\\\\\\\<\\\\\\\\> { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\[\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\-\\\\\\\\]\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\<\\\\\\\\<\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\. { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\# { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\#\\\\\\\\# { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\#\\\\\\\\.\\\\\\\\#\\\\\\\\.\\\\\\\\# { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\_ { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\{\\\\\\\\} { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\#fake\\\\\\\\-id { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__foo\\\\\\\\.bar { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\3A hover { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\3A hover\\\\\\\\3A focus\\\\\\\\3A active { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\[attr\\\\\\\\=value\\\\\\\\] { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__f\\\\\\\\/o\\\\\\\\/o { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__f\\\\\\\\\\\\\\\\o\\\\\\\\\\\\\\\\o { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__f\\\\\\\\*o\\\\\\\\*o { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__f\\\\\\\\!o\\\\\\\\!o { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__f\\\\\\\\'o\\\\\\\\'o { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__f\\\\\\\\~o\\\\\\\\~o { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__f\\\\\\\\+o\\\\\\\\+o { background: lime; }\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__foo\\\\\\\\/bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__foo\\\\\\\\\\\\\\\\bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__foo\\\\\\\\/bar\\\\\\\\/baz {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__foo\\\\\\\\\\\\\\\\bar\\\\\\\\\\\\\\\\baz {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".fixtures-modules-localIdentName-localIdentName__test {\\\\n  background: red;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName___test {\\\\n  background: blue;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__className {\\\\n  background: red;\\\\n}\\\\n\\\\n#fixtures-modules-localIdentName-localIdentName__someId {\\\\n  background: green;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__className .fixtures-modules-localIdentName-localIdentName__subClass {\\\\n  color: green;\\\\n}\\\\n\\\\n#fixtures-modules-localIdentName-localIdentName__someId .fixtures-modules-localIdentName-localIdentName__subClass {\\\\n  color: blue;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__-a0-34a___f {\\\\n  color: red;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__m_x_\\\\\\\\@ {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__B\\\\\\\\&W\\\\\\\\? {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\31 a2b3c {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#fixtures-modules-localIdentName-localIdentName__\\\\\\\\#fake-id {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#fixtures-modules-localIdentName-localIdentName__-a-b-c- {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#fixtures-modules-localIdentName-localIdentName__© {\\\\n  color: black;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__♥ { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__© { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__“‘’” { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__☺☃ { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__⌘⌥ { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__𝄞♪♩♫♬ { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__💩 { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\? { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\@ { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\. { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\3A \\\\\\\\) { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\3A \\\\\\\\\`\\\\\\\\( { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\31 23 { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\31 a2b3c { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\<p\\\\\\\\> { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\<\\\\\\\\>\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\>\\\\\\\\>\\\\\\\\<\\\\\\\\> { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\[\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\-\\\\\\\\]\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\<\\\\\\\\<\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\. { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\# { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\#\\\\\\\\# { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\#\\\\\\\\.\\\\\\\\#\\\\\\\\.\\\\\\\\# { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\_ { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\{\\\\\\\\} { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\#fake\\\\\\\\-id { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__foo\\\\\\\\.bar { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\3A hover { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\3A hover\\\\\\\\3A focus\\\\\\\\3A active { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__\\\\\\\\[attr\\\\\\\\=value\\\\\\\\] { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__f\\\\\\\\/o\\\\\\\\/o { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__f\\\\\\\\\\\\\\\\o\\\\\\\\\\\\\\\\o { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__f\\\\\\\\*o\\\\\\\\*o { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__f\\\\\\\\!o\\\\\\\\!o { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__f\\\\\\\\'o\\\\\\\\'o { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__f\\\\\\\\~o\\\\\\\\~o { background: lime; }\\\\n.fixtures-modules-localIdentName-localIdentName__f\\\\\\\\+o\\\\\\\\+o { background: lime; }\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__foo\\\\\\\\/bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__foo\\\\\\\\\\\\\\\\bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__foo\\\\\\\\/bar\\\\\\\\/baz {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.fixtures-modules-localIdentName-localIdentName__foo\\\\\\\\\\\\\\\\bar\\\\\\\\\\\\\\\\baz {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"123\\": \\"fixtures-modules-localIdentName-localIdentName__123\\",
 	\\"test\\": \\"fixtures-modules-localIdentName-localIdentName__test\\",
 	\\"_test\\": \\"fixtures-modules-localIdentName-localIdentName___test\\",
@@ -2670,7 +3363,7 @@ exports.locals = {
 	\\"foo/bar/baz\\": \\"fixtures-modules-localIdentName-localIdentName__foo/bar/baz\\",
 	\\"foo\\\\\\\\bar\\\\\\\\baz\\": \\"fixtures-modules-localIdentName-localIdentName__foo\\\\\\\\bar\\\\\\\\baz\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -2803,29 +3496,29 @@ exports[`"modules" option should work and support "pure" mode #2: errors 1`] = `
 
 exports[`"modules" option should work and support "pure" mode #2: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1ORNYXwneW2JZ8HOIELZsO {\\\\n  color: red;\\\\n}\\\\n\\\\nh1 ._1YzI-dPdJjO8MFoqnmHSiS {\\\\n  color: green;\\\\n}\\\\n\\\\n._19XuUcEihnxeccG4GuGcFK h1 {\\\\n  color: blue;\\\\n}\\\\n\\\\n._28hFOdkf6HPeamArMDTyjg h1 .X_RacgG5tjWeZG02q-q84 {\\\\n  color: red;\\\\n}\\\\n\\\\n#_3eOAbv4_jk5PEpaqUX_vV_ {\\\\n  color: red;\\\\n}\\\\n\\\\nh1 #_3eYZhuXQ5Ha1DcKYJnSpdv {\\\\n  color: green;\\\\n}\\\\n\\\\n#tbNgruvlVjTBtv4zb7xzW h1 {\\\\n  color: blue;\\\\n}\\\\n\\\\n#_1pV9OUnTdQPjZdQ4zHh8fk h1 #_14gkAn2VC8A8K862gBpfxU {\\\\n  color: red;\\\\n}\\\\n\\\\n._1jv12xYuqjtEG-3ZW0dplp .bar ._1Ruta1CeojEt_QePDvXgV4 {\\\\n  color: white;\\\\n}\\\\n\\\\n.FTCrXWhb6BcHdiPxKhbDq ._3Spcb1SWXkMsVPOJBD4FCA ._3J8yK5Q14ZQ1VUMZ3vk9yl {\\\\n  color: black;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._1u_NtoKhpaUNZX7yiJVIiY {\\\\n  color: red;\\\\n}\\\\n\\\\nh1 .UCShdZTu4s3n7oXJOhzrK {\\\\n  color: green;\\\\n}\\\\n\\\\n._3mfZHE9XqYBUx_E24Rn3UG h1 {\\\\n  color: blue;\\\\n}\\\\n\\\\n.CvML8FKPF660KwN3nSNSe h1 ._2Qqlcv7vRMswReW-DKC_IZ {\\\\n  color: red;\\\\n}\\\\n\\\\n#_2xp6Er0qRUlWxHQh1ROAc1 {\\\\n  color: red;\\\\n}\\\\n\\\\nh1 #_14PgYX9AnCgTBatBghNmOB {\\\\n  color: green;\\\\n}\\\\n\\\\n#_2SOsIDB25B_Yrw86eby8OG h1 {\\\\n  color: blue;\\\\n}\\\\n\\\\n#_1LkHG2nV0HloeZOXYEK8cH h1 #_e3BBhro5bf0ZsgUTOLnT {\\\\n  color: red;\\\\n}\\\\n\\\\n._39A31JnHJWqKuTZf-fX3Vt .bar .TGSef9fpByYTb8vhFGgJZ {\\\\n  color: white;\\\\n}\\\\n\\\\n._1KJPrddvuAKs2XObDlRWOx ._19kxTSs8JMPxGQiFY45wzD .ioThrUUaohmyS5xZAilPn {\\\\n  color: black;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"foo\\": \\"_1ORNYXwneW2JZ8HOIELZsO\\",
-	\\"foo-1\\": \\"_1YzI-dPdJjO8MFoqnmHSiS\\",
-	\\"foo-2\\": \\"_19XuUcEihnxeccG4GuGcFK\\",
-	\\"foo-3\\": \\"_28hFOdkf6HPeamArMDTyjg\\",
-	\\"foo-4\\": \\"X_RacgG5tjWeZG02q-q84\\",
-	\\"foo-5\\": \\"_3eOAbv4_jk5PEpaqUX_vV_\\",
-	\\"foo-6\\": \\"_3eYZhuXQ5Ha1DcKYJnSpdv\\",
-	\\"foo-7\\": \\"tbNgruvlVjTBtv4zb7xzW\\",
-	\\"foo-8\\": \\"_1pV9OUnTdQPjZdQ4zHh8fk\\",
-	\\"foo-9\\": \\"_14gkAn2VC8A8K862gBpfxU\\",
-	\\"bar-1\\": \\"_1jv12xYuqjtEG-3ZW0dplp\\",
-	\\"bar-2\\": \\"_1Ruta1CeojEt_QePDvXgV4\\",
-	\\"baz-3\\": \\"FTCrXWhb6BcHdiPxKhbDq\\",
-	\\"baz\\": \\"_3Spcb1SWXkMsVPOJBD4FCA\\",
-	\\"bar-4\\": \\"_3J8yK5Q14ZQ1VUMZ3vk9yl\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"foo\\": \\"_1u_NtoKhpaUNZX7yiJVIiY\\",
+	\\"foo-1\\": \\"UCShdZTu4s3n7oXJOhzrK\\",
+	\\"foo-2\\": \\"_3mfZHE9XqYBUx_E24Rn3UG\\",
+	\\"foo-3\\": \\"CvML8FKPF660KwN3nSNSe\\",
+	\\"foo-4\\": \\"_2Qqlcv7vRMswReW-DKC_IZ\\",
+	\\"foo-5\\": \\"_2xp6Er0qRUlWxHQh1ROAc1\\",
+	\\"foo-6\\": \\"_14PgYX9AnCgTBatBghNmOB\\",
+	\\"foo-7\\": \\"_2SOsIDB25B_Yrw86eby8OG\\",
+	\\"foo-8\\": \\"_1LkHG2nV0HloeZOXYEK8cH\\",
+	\\"foo-9\\": \\"_e3BBhro5bf0ZsgUTOLnT\\",
+	\\"bar-1\\": \\"_39A31JnHJWqKuTZf-fX3Vt\\",
+	\\"bar-2\\": \\"TGSef9fpByYTb8vhFGgJZ\\",
+	\\"baz-3\\": \\"_1KJPrddvuAKs2XObDlRWOx\\",
+	\\"baz\\": \\"_19kxTSs8JMPxGQiFY45wzD\\",
+	\\"bar-4\\": \\"ioThrUUaohmyS5xZAilPn\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -2833,43 +3526,43 @@ exports[`"modules" option should work and support "pure" mode #2: result 1`] = `
 Array [
   Array [
     "./modules/pure/pure.css",
-    "._1ORNYXwneW2JZ8HOIELZsO {
+    "._1u_NtoKhpaUNZX7yiJVIiY {
   color: red;
 }
 
-h1 ._1YzI-dPdJjO8MFoqnmHSiS {
+h1 .UCShdZTu4s3n7oXJOhzrK {
   color: green;
 }
 
-._19XuUcEihnxeccG4GuGcFK h1 {
+._3mfZHE9XqYBUx_E24Rn3UG h1 {
   color: blue;
 }
 
-._28hFOdkf6HPeamArMDTyjg h1 .X_RacgG5tjWeZG02q-q84 {
+.CvML8FKPF660KwN3nSNSe h1 ._2Qqlcv7vRMswReW-DKC_IZ {
   color: red;
 }
 
-#_3eOAbv4_jk5PEpaqUX_vV_ {
+#_2xp6Er0qRUlWxHQh1ROAc1 {
   color: red;
 }
 
-h1 #_3eYZhuXQ5Ha1DcKYJnSpdv {
+h1 #_14PgYX9AnCgTBatBghNmOB {
   color: green;
 }
 
-#tbNgruvlVjTBtv4zb7xzW h1 {
+#_2SOsIDB25B_Yrw86eby8OG h1 {
   color: blue;
 }
 
-#_1pV9OUnTdQPjZdQ4zHh8fk h1 #_14gkAn2VC8A8K862gBpfxU {
+#_1LkHG2nV0HloeZOXYEK8cH h1 #_e3BBhro5bf0ZsgUTOLnT {
   color: red;
 }
 
-._1jv12xYuqjtEG-3ZW0dplp .bar ._1Ruta1CeojEt_QePDvXgV4 {
+._39A31JnHJWqKuTZf-fX3Vt .bar .TGSef9fpByYTb8vhFGgJZ {
   color: white;
 }
 
-.FTCrXWhb6BcHdiPxKhbDq ._3Spcb1SWXkMsVPOJBD4FCA ._3J8yK5Q14ZQ1VUMZ3vk9yl {
+._1KJPrddvuAKs2XObDlRWOx ._19kxTSs8JMPxGQiFY45wzD .ioThrUUaohmyS5xZAilPn {
   color: black;
 }
 ",
@@ -2884,29 +3577,29 @@ exports[`"modules" option should work and support "pure" mode: errors 1`] = `Arr
 
 exports[`"modules" option should work and support "pure" mode: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1ORNYXwneW2JZ8HOIELZsO {\\\\n  color: red;\\\\n}\\\\n\\\\nh1 ._1YzI-dPdJjO8MFoqnmHSiS {\\\\n  color: green;\\\\n}\\\\n\\\\n._19XuUcEihnxeccG4GuGcFK h1 {\\\\n  color: blue;\\\\n}\\\\n\\\\n._28hFOdkf6HPeamArMDTyjg h1 .X_RacgG5tjWeZG02q-q84 {\\\\n  color: red;\\\\n}\\\\n\\\\n#_3eOAbv4_jk5PEpaqUX_vV_ {\\\\n  color: red;\\\\n}\\\\n\\\\nh1 #_3eYZhuXQ5Ha1DcKYJnSpdv {\\\\n  color: green;\\\\n}\\\\n\\\\n#tbNgruvlVjTBtv4zb7xzW h1 {\\\\n  color: blue;\\\\n}\\\\n\\\\n#_1pV9OUnTdQPjZdQ4zHh8fk h1 #_14gkAn2VC8A8K862gBpfxU {\\\\n  color: red;\\\\n}\\\\n\\\\n._1jv12xYuqjtEG-3ZW0dplp .bar ._1Ruta1CeojEt_QePDvXgV4 {\\\\n  color: white;\\\\n}\\\\n\\\\n.FTCrXWhb6BcHdiPxKhbDq ._3Spcb1SWXkMsVPOJBD4FCA ._3J8yK5Q14ZQ1VUMZ3vk9yl {\\\\n  color: black;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._1u_NtoKhpaUNZX7yiJVIiY {\\\\n  color: red;\\\\n}\\\\n\\\\nh1 .UCShdZTu4s3n7oXJOhzrK {\\\\n  color: green;\\\\n}\\\\n\\\\n._3mfZHE9XqYBUx_E24Rn3UG h1 {\\\\n  color: blue;\\\\n}\\\\n\\\\n.CvML8FKPF660KwN3nSNSe h1 ._2Qqlcv7vRMswReW-DKC_IZ {\\\\n  color: red;\\\\n}\\\\n\\\\n#_2xp6Er0qRUlWxHQh1ROAc1 {\\\\n  color: red;\\\\n}\\\\n\\\\nh1 #_14PgYX9AnCgTBatBghNmOB {\\\\n  color: green;\\\\n}\\\\n\\\\n#_2SOsIDB25B_Yrw86eby8OG h1 {\\\\n  color: blue;\\\\n}\\\\n\\\\n#_1LkHG2nV0HloeZOXYEK8cH h1 #_e3BBhro5bf0ZsgUTOLnT {\\\\n  color: red;\\\\n}\\\\n\\\\n._39A31JnHJWqKuTZf-fX3Vt .bar .TGSef9fpByYTb8vhFGgJZ {\\\\n  color: white;\\\\n}\\\\n\\\\n._1KJPrddvuAKs2XObDlRWOx ._19kxTSs8JMPxGQiFY45wzD .ioThrUUaohmyS5xZAilPn {\\\\n  color: black;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"foo\\": \\"_1ORNYXwneW2JZ8HOIELZsO\\",
-	\\"foo-1\\": \\"_1YzI-dPdJjO8MFoqnmHSiS\\",
-	\\"foo-2\\": \\"_19XuUcEihnxeccG4GuGcFK\\",
-	\\"foo-3\\": \\"_28hFOdkf6HPeamArMDTyjg\\",
-	\\"foo-4\\": \\"X_RacgG5tjWeZG02q-q84\\",
-	\\"foo-5\\": \\"_3eOAbv4_jk5PEpaqUX_vV_\\",
-	\\"foo-6\\": \\"_3eYZhuXQ5Ha1DcKYJnSpdv\\",
-	\\"foo-7\\": \\"tbNgruvlVjTBtv4zb7xzW\\",
-	\\"foo-8\\": \\"_1pV9OUnTdQPjZdQ4zHh8fk\\",
-	\\"foo-9\\": \\"_14gkAn2VC8A8K862gBpfxU\\",
-	\\"bar-1\\": \\"_1jv12xYuqjtEG-3ZW0dplp\\",
-	\\"bar-2\\": \\"_1Ruta1CeojEt_QePDvXgV4\\",
-	\\"baz-3\\": \\"FTCrXWhb6BcHdiPxKhbDq\\",
-	\\"baz\\": \\"_3Spcb1SWXkMsVPOJBD4FCA\\",
-	\\"bar-4\\": \\"_3J8yK5Q14ZQ1VUMZ3vk9yl\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"foo\\": \\"_1u_NtoKhpaUNZX7yiJVIiY\\",
+	\\"foo-1\\": \\"UCShdZTu4s3n7oXJOhzrK\\",
+	\\"foo-2\\": \\"_3mfZHE9XqYBUx_E24Rn3UG\\",
+	\\"foo-3\\": \\"CvML8FKPF660KwN3nSNSe\\",
+	\\"foo-4\\": \\"_2Qqlcv7vRMswReW-DKC_IZ\\",
+	\\"foo-5\\": \\"_2xp6Er0qRUlWxHQh1ROAc1\\",
+	\\"foo-6\\": \\"_14PgYX9AnCgTBatBghNmOB\\",
+	\\"foo-7\\": \\"_2SOsIDB25B_Yrw86eby8OG\\",
+	\\"foo-8\\": \\"_1LkHG2nV0HloeZOXYEK8cH\\",
+	\\"foo-9\\": \\"_e3BBhro5bf0ZsgUTOLnT\\",
+	\\"bar-1\\": \\"_39A31JnHJWqKuTZf-fX3Vt\\",
+	\\"bar-2\\": \\"TGSef9fpByYTb8vhFGgJZ\\",
+	\\"baz-3\\": \\"_1KJPrddvuAKs2XObDlRWOx\\",
+	\\"baz\\": \\"_19kxTSs8JMPxGQiFY45wzD\\",
+	\\"bar-4\\": \\"ioThrUUaohmyS5xZAilPn\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -2914,259 +3607,135 @@ exports[`"modules" option should work and support "pure" mode: result 1`] = `
 Array [
   Array [
     "./modules/pure/pure.css",
-    "._1ORNYXwneW2JZ8HOIELZsO {
+    "._1u_NtoKhpaUNZX7yiJVIiY {
   color: red;
 }
 
-h1 ._1YzI-dPdJjO8MFoqnmHSiS {
+h1 .UCShdZTu4s3n7oXJOhzrK {
   color: green;
 }
 
-._19XuUcEihnxeccG4GuGcFK h1 {
+._3mfZHE9XqYBUx_E24Rn3UG h1 {
   color: blue;
 }
 
-._28hFOdkf6HPeamArMDTyjg h1 .X_RacgG5tjWeZG02q-q84 {
+.CvML8FKPF660KwN3nSNSe h1 ._2Qqlcv7vRMswReW-DKC_IZ {
   color: red;
 }
 
-#_3eOAbv4_jk5PEpaqUX_vV_ {
+#_2xp6Er0qRUlWxHQh1ROAc1 {
   color: red;
 }
 
-h1 #_3eYZhuXQ5Ha1DcKYJnSpdv {
+h1 #_14PgYX9AnCgTBatBghNmOB {
   color: green;
 }
 
-#tbNgruvlVjTBtv4zb7xzW h1 {
+#_2SOsIDB25B_Yrw86eby8OG h1 {
   color: blue;
 }
 
-#_1pV9OUnTdQPjZdQ4zHh8fk h1 #_14gkAn2VC8A8K862gBpfxU {
-  color: red;
-}
-
-._1jv12xYuqjtEG-3ZW0dplp .bar ._1Ruta1CeojEt_QePDvXgV4 {
-  color: white;
-}
-
-.FTCrXWhb6BcHdiPxKhbDq ._3Spcb1SWXkMsVPOJBD4FCA ._3J8yK5Q14ZQ1VUMZ3vk9yl {
-  color: black;
-}
-",
-    "",
-  ],
-]
-`;
-
-exports[`"modules" option should work and support "pure" mode: warnings 1`] = `Array []`;
-
-exports[`"modules" option should work when the "getLocalIdent" option returns "false": errors 1`] = `Array []`;
-
-exports[`"modules" option should work when the "getLocalIdent" option returns "false": module 1`] = `
-"// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-// Module
-exports.push([module.id, \\".test {\\\\n  background: red;\\\\n}\\\\n\\\\n._test {\\\\n  background: blue;\\\\n}\\\\n\\\\n.className {\\\\n  background: red;\\\\n}\\\\n\\\\n#someId {\\\\n  background: green;\\\\n}\\\\n\\\\n.className .subClass {\\\\n  color: green;\\\\n}\\\\n\\\\n#someId .subClass {\\\\n  color: blue;\\\\n}\\\\n\\\\n.-a0-34a___f {\\\\n  color: red;\\\\n}\\\\n\\\\n.m_x_\\\\\\\\@ {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n.B\\\\\\\\&W\\\\\\\\? {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#\\\\\\\\#fake-id {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#-a-b-c- {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#© {\\\\n  color: black;\\\\n}\\\\n\\\\n.♥ { background: lime; }\\\\n.© { background: lime; }\\\\n.“‘’” { background: lime; }\\\\n.☺☃ { background: lime; }\\\\n.⌘⌥ { background: lime; }\\\\n.𝄞♪♩♫♬ { background: lime; }\\\\n.💩 { background: lime; }\\\\n.\\\\\\\\? { background: lime; }\\\\n.\\\\\\\\@ { background: lime; }\\\\n.\\\\\\\\. { background: lime; }\\\\n.\\\\\\\\3A \\\\\\\\) { background: lime; }\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( { background: lime; }\\\\n.\\\\\\\\31 23 { background: lime; }\\\\n.\\\\\\\\31 a2b3c { background: lime; }\\\\n.\\\\\\\\<p\\\\\\\\> { background: lime; }\\\\n.\\\\\\\\<\\\\\\\\>\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\>\\\\\\\\>\\\\\\\\<\\\\\\\\> { background: lime; }\\\\n.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\[\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\-\\\\\\\\]\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\<\\\\\\\\<\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\. { background: lime; }\\\\n.\\\\\\\\# { background: lime; }\\\\n.\\\\\\\\#\\\\\\\\# { background: lime; }\\\\n.\\\\\\\\#\\\\\\\\.\\\\\\\\#\\\\\\\\.\\\\\\\\# { background: lime; }\\\\n.\\\\\\\\_ { background: lime; }\\\\n.\\\\\\\\{\\\\\\\\} { background: lime; }\\\\n.\\\\\\\\#fake\\\\\\\\-id { background: lime; }\\\\n.foo\\\\\\\\.bar { background: lime; }\\\\n.\\\\\\\\3A hover { background: lime; }\\\\n.\\\\\\\\3A hover\\\\\\\\3A focus\\\\\\\\3A active { background: lime; }\\\\n.\\\\\\\\[attr\\\\\\\\=value\\\\\\\\] { background: lime; }\\\\n.f\\\\\\\\/o\\\\\\\\/o { background: lime; }\\\\n.f\\\\\\\\\\\\\\\\o\\\\\\\\\\\\\\\\o { background: lime; }\\\\n.f\\\\\\\\*o\\\\\\\\*o { background: lime; }\\\\n.f\\\\\\\\!o\\\\\\\\!o { background: lime; }\\\\n.f\\\\\\\\'o\\\\\\\\'o { background: lime; }\\\\n.f\\\\\\\\~o\\\\\\\\~o { background: lime; }\\\\n.f\\\\\\\\+o\\\\\\\\+o { background: lime; }\\\\n\\\\n.foo\\\\\\\\/bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\\\\\\\\\bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\/bar\\\\\\\\/baz {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\\\\\\\\\bar\\\\\\\\\\\\\\\\baz {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
-// Exports
-exports.locals = {
-	\\"123\\": \\"123\\",
-	\\"test\\": \\"test\\",
-	\\"_test\\": \\"_test\\",
-	\\"className\\": \\"className\\",
-	\\"someId\\": \\"someId\\",
-	\\"subClass\\": \\"subClass\\",
-	\\"-a0-34a___f\\": \\"-a0-34a___f\\",
-	\\"m_x_@\\": \\"m_x_@\\",
-	\\"B&W?\\": \\"B&W?\\",
-	\\":\`(\\": \\":\`(\\",
-	\\"1a2b3c\\": \\"1a2b3c\\",
-	\\"#fake-id\\": \\"#fake-id\\",
-	\\"-a-b-c-\\": \\"-a-b-c-\\",
-	\\"©\\": \\"©\\",
-	\\"♥\\": \\"♥\\",
-	\\"“‘’”\\": \\"“‘’”\\",
-	\\"☺☃\\": \\"☺☃\\",
-	\\"⌘⌥\\": \\"⌘⌥\\",
-	\\"𝄞♪♩♫♬\\": \\"𝄞♪♩♫♬\\",
-	\\"💩\\": \\"💩\\",
-	\\"?\\": \\"?\\",
-	\\"@\\": \\"@\\",
-	\\".\\": \\".\\",
-	\\":)\\": \\":)\\",
-	\\"<p>\\": \\"<p>\\",
-	\\"<><<<>><>\\": \\"<><<<>><>\\",
-	\\"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.\\": \\"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.\\",
-	\\"#\\": \\"#\\",
-	\\"##\\": \\"##\\",
-	\\"#.#.#\\": \\"#.#.#\\",
-	\\"_\\": \\"_\\",
-	\\"{}\\": \\"{}\\",
-	\\"foo.bar\\": \\"foo.bar\\",
-	\\":hover\\": \\":hover\\",
-	\\":hover:focus:active\\": \\":hover:focus:active\\",
-	\\"[attr=value]\\": \\"[attr=value]\\",
-	\\"f/o/o\\": \\"f/o/o\\",
-	\\"f\\\\\\\\o\\\\\\\\o\\": \\"f\\\\\\\\o\\\\\\\\o\\",
-	\\"f*o*o\\": \\"f*o*o\\",
-	\\"f!o!o\\": \\"f!o!o\\",
-	\\"f'o'o\\": \\"f'o'o\\",
-	\\"f~o~o\\": \\"f~o~o\\",
-	\\"f+o+o\\": \\"f+o+o\\",
-	\\"foo/bar\\": \\"foo/bar\\",
-	\\"foo\\\\\\\\bar\\": \\"foo\\\\\\\\bar\\",
-	\\"foo/bar/baz\\": \\"foo/bar/baz\\",
-	\\"foo\\\\\\\\bar\\\\\\\\baz\\": \\"foo\\\\\\\\bar\\\\\\\\baz\\"
-};
-module.exports = exports;
-"
-`;
-
-exports[`"modules" option should work when the "getLocalIdent" option returns "false": result 1`] = `
-Array [
-  Array [
-    "./modules/localIdentName/localIdentName.css",
-    ".test {
-  background: red;
-}
-
-._test {
-  background: blue;
-}
-
-.className {
-  background: red;
-}
-
-#someId {
-  background: green;
-}
-
-.className .subClass {
-  color: green;
-}
-
-#someId .subClass {
-  color: blue;
-}
-
-.-a0-34a___f {
-  color: red;
-}
-
-.m_x_\\\\@ {
-  margin-left: auto !important;
-  margin-right: auto !important;
-}
-
-.B\\\\&W\\\\? {
-  margin-left: auto !important;
-  margin-right: auto !important;
-}
-
-/* matches elements with class=\\":\`(\\" */
-.\\\\3A \\\\\`\\\\( {
-  color: aqua;
-}
-
-/* matches elements with class=\\"1a2b3c\\" */
-.\\\\31 a2b3c {
-  color: aliceblue;
-}
-
-/* matches the element with id=\\"#fake-id\\" */
-#\\\\#fake-id {
-  color: antiquewhite;
+#_1LkHG2nV0HloeZOXYEK8cH h1 #_e3BBhro5bf0ZsgUTOLnT {
+  color: red;
 }
 
-/* matches the element with id=\\"-a-b-c-\\" */
-#-a-b-c- {
-  color: azure;
+._39A31JnHJWqKuTZf-fX3Vt .bar .TGSef9fpByYTb8vhFGgJZ {
+  color: white;
 }
 
-/* matches the element with id=\\"©\\" */
-#© {
+._1KJPrddvuAKs2XObDlRWOx ._19kxTSs8JMPxGQiFY45wzD .ioThrUUaohmyS5xZAilPn {
   color: black;
 }
+",
+    "",
+  ],
+]
+`;
 
-.♥ { background: lime; }
-.© { background: lime; }
-.“‘’” { background: lime; }
-.☺☃ { background: lime; }
-.⌘⌥ { background: lime; }
-.𝄞♪♩♫♬ { background: lime; }
-.💩 { background: lime; }
-.\\\\? { background: lime; }
-.\\\\@ { background: lime; }
-.\\\\. { background: lime; }
-.\\\\3A \\\\) { background: lime; }
-.\\\\3A \\\\\`\\\\( { background: lime; }
-.\\\\31 23 { background: lime; }
-.\\\\31 a2b3c { background: lime; }
-.\\\\<p\\\\> { background: lime; }
-.\\\\<\\\\>\\\\<\\\\<\\\\<\\\\>\\\\>\\\\<\\\\> { background: lime; }
-.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\[\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\>\\\\+\\\\+\\\\+\\\\>\\\\+\\\\<\\\\<\\\\<\\\\<\\\\-\\\\]\\\\>\\\\+\\\\+\\\\.\\\\>\\\\+\\\\.\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\.\\\\+\\\\+\\\\+\\\\.\\\\>\\\\+\\\\+\\\\.\\\\<\\\\<\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\+\\\\.\\\\>\\\\.\\\\+\\\\+\\\\+\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\-\\\\.\\\\>\\\\+\\\\.\\\\>\\\\. { background: lime; }
-.\\\\# { background: lime; }
-.\\\\#\\\\# { background: lime; }
-.\\\\#\\\\.\\\\#\\\\.\\\\# { background: lime; }
-.\\\\_ { background: lime; }
-.\\\\{\\\\} { background: lime; }
-.\\\\#fake\\\\-id { background: lime; }
-.foo\\\\.bar { background: lime; }
-.\\\\3A hover { background: lime; }
-.\\\\3A hover\\\\3A focus\\\\3A active { background: lime; }
-.\\\\[attr\\\\=value\\\\] { background: lime; }
-.f\\\\/o\\\\/o { background: lime; }
-.f\\\\\\\\o\\\\\\\\o { background: lime; }
-.f\\\\*o\\\\*o { background: lime; }
-.f\\\\!o\\\\!o { background: lime; }
-.f\\\\'o\\\\'o { background: lime; }
-.f\\\\~o\\\\~o { background: lime; }
-.f\\\\+o\\\\+o { background: lime; }
+exports[`"modules" option should work and support "pure" mode: warnings 1`] = `Array []`;
 
-.foo\\\\/bar {
-  background: hotpink;
-}
+exports[`"modules" option should work js template with "namedExport" option: errors 1`] = `Array []`;
 
-.foo\\\\\\\\bar {
-  background: hotpink;
+exports[`"modules" option should work js template with "namedExport" option: module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\".header-baz {\\\\n  color: red;\\\\n}\\\\n\\\\n.body {\\\\n  color: coral;\\\\n}\\\\n\\\\n.footer {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
+// Exports
+export const headerBaz = \\"header-baz\\";
+export const body = \\"body\\";
+export const footer = \\"footer\\";
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"modules" option should work js template with "namedExport" option: result 1`] = `
+Object {
+  "css": Array [
+    Array [
+      "./modules/namedExport/template/index.css",
+      ".header-baz {
+  color: red;
 }
 
-.foo\\\\/bar\\\\/baz {
-  background: hotpink;
+.body {
+  color: coral;
 }
 
-.foo\\\\\\\\bar\\\\\\\\baz {
-  background: hotpink;
+.footer {
+  color: blue;
 }
 ",
-    "",
+      "",
+    ],
   ],
-]
+  "html": "
+<div class=\\"header-baz\\">
+<div class=\\"body\\">
+<div class=\\"footer\\">
+",
+}
 `;
 
-exports[`"modules" option should work when the "getLocalIdent" option returns "false": warnings 1`] = `Array []`;
+exports[`"modules" option should work js template with "namedExport" option: warnings 1`] = `Array []`;
 
-exports[`"modules" option should work with a modules.auto Boolean that is "false": errors 1`] = `Array []`;
+exports[`"modules" option should work with "url" and "namedExport": errors 1`] = `Array []`;
 
-exports[`"modules" option should work with a modules.auto Boolean that is "false": module 1`] = `
+exports[`"modules" option should work with "url" and "namedExport": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___, * as ___CSS_LOADER_ICSS_IMPORT_0____NAMED___ from \\"-!../../../../src/index.js??[ident]!./shared.css\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\".relative {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"a {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\nbody {\\\\n  background: \\" + ___CSS_LOADER_ICSS_IMPORT_0____NAMED___[\\"vUrlOther\\"] + \\";\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export const vUrl = \\"url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\")\\";
+export const vUrlOther = \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0____NAMED___[\\"vUrlOther\\"] + \\"\\";
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
-exports[`"modules" option should work with a modules.auto Boolean that is "false": result 1`] = `
+exports[`"modules" option should work with "url" and "namedExport": result 1`] = `
 Array [
   Array [
-    "./modules/mode/relative.module.css",
-    ".relative {
-  color: red;
+    "../../src/index.js?[ident]!./modules/url/shared.css",
+    "
+",
+    "",
+  ],
+  Array [
+    "./modules/url/source.css",
+    "a {
+  background: url(/webpack/public/path/img.png);
+}
+
+body {
+  background: url(/webpack/public/path/img.png);
 }
 ",
     "",
@@ -3174,30 +3743,46 @@ Array [
 ]
 `;
 
-exports[`"modules" option should work with a modules.auto Boolean that is "false": warnings 1`] = `Array []`;
+exports[`"modules" option should work with "url" and "namedExport": warnings 1`] = `Array []`;
 
-exports[`"modules" option should work with a modules.auto Boolean that is "true": errors 1`] = `Array []`;
+exports[`"modules" option should work with "url": errors 1`] = `Array []`;
 
-exports[`"modules" option should work with a modules.auto Boolean that is "true": module 1`] = `
+exports[`"modules" option should work with "url": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../src/index.js??[ident]!./shared.css\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\".y35Nud52-ZFXmqL6AWueX {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"a {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\nbody {\\\\n  background: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-url-other\\"] + \\";\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"relative\\": \\"y35Nud52-ZFXmqL6AWueX\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"v-url\\": \\"url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\")\\",
+	\\"v-url-other\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"v-url-other\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
-exports[`"modules" option should work with a modules.auto Boolean that is "true": result 1`] = `
+exports[`"modules" option should work with "url": result 1`] = `
 Array [
   Array [
-    "./modules/mode/relative.module.css",
-    ".y35Nud52-ZFXmqL6AWueX {
-  color: red;
+    "../../src/index.js?[ident]!./modules/url/shared.css",
+    "
+",
+    "",
+  ],
+  Array [
+    "./modules/url/source.css",
+    "a {
+  background: url(/webpack/public/path/img.png);
+}
+
+body {
+  background: url(/webpack/public/path/img.png);
 }
 ",
     "",
@@ -3205,18 +3790,18 @@ Array [
 ]
 `;
 
-exports[`"modules" option should work with a modules.auto Boolean that is "true": warnings 1`] = `Array []`;
+exports[`"modules" option should work with "url": warnings 1`] = `Array []`;
 
 exports[`"modules" option should work with a modules.auto Function that returns "false": errors 1`] = `Array []`;
 
 exports[`"modules" option should work with a modules.auto Function that returns "false": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".relative {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".relative {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3239,15 +3824,15 @@ exports[`"modules" option should work with a modules.auto Function that returns
 
 exports[`"modules" option should work with a modules.auto Function that returns "true": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".y35Nud52-ZFXmqL6AWueX {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._7x1O42EfTGW5Jj5FVZ0HH {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"relative\\": \\"y35Nud52-ZFXmqL6AWueX\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"relative\\": \\"_7x1O42EfTGW5Jj5FVZ0HH\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3255,7 +3840,7 @@ exports[`"modules" option should work with a modules.auto Function that returns
 Array [
   Array [
     "./modules/mode/relative.module.css",
-    ".y35Nud52-ZFXmqL6AWueX {
+    "._7x1O42EfTGW5Jj5FVZ0HH {
   color: red;
 }
 ",
@@ -3270,12 +3855,12 @@ exports[`"modules" option should work with a modules.auto RegExp that returns "f
 
 exports[`"modules" option should work with a modules.auto RegExp that returns "false": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".relative {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".relative {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3298,15 +3883,15 @@ exports[`"modules" option should work with a modules.auto RegExp that returns "t
 
 exports[`"modules" option should work with a modules.auto RegExp that returns "true": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".y35Nud52-ZFXmqL6AWueX {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._7x1O42EfTGW5Jj5FVZ0HH {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"relative\\": \\"y35Nud52-ZFXmqL6AWueX\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"relative\\": \\"_7x1O42EfTGW5Jj5FVZ0HH\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3314,7 +3899,7 @@ exports[`"modules" option should work with a modules.auto RegExp that returns "t
 Array [
   Array [
     "./modules/mode/relative.module.css",
-    ".y35Nud52-ZFXmqL6AWueX {
+    "._7x1O42EfTGW5Jj5FVZ0HH {
   color: red;
 }
 ",
@@ -3325,16 +3910,97 @@ Array [
 
 exports[`"modules" option should work with a modules.auto RegExp that returns "true": warnings 1`] = `Array []`;
 
+exports[`"modules" option should work with an empty object value: errors 1`] = `Array []`;
+
+exports[`"modules" option should work with an empty object value: module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\"._1u_NtoKhpaUNZX7yiJVIiY {\\\\n  color: red;\\\\n}\\\\n\\\\nh1 .UCShdZTu4s3n7oXJOhzrK {\\\\n  color: green;\\\\n}\\\\n\\\\n._3mfZHE9XqYBUx_E24Rn3UG h1 {\\\\n  color: blue;\\\\n}\\\\n\\\\n.CvML8FKPF660KwN3nSNSe h1 ._2Qqlcv7vRMswReW-DKC_IZ {\\\\n  color: red;\\\\n}\\\\n\\\\n#_2xp6Er0qRUlWxHQh1ROAc1 {\\\\n  color: red;\\\\n}\\\\n\\\\nh1 #_14PgYX9AnCgTBatBghNmOB {\\\\n  color: green;\\\\n}\\\\n\\\\n#_2SOsIDB25B_Yrw86eby8OG h1 {\\\\n  color: blue;\\\\n}\\\\n\\\\n#_1LkHG2nV0HloeZOXYEK8cH h1 #_e3BBhro5bf0ZsgUTOLnT {\\\\n  color: red;\\\\n}\\\\n\\\\n._39A31JnHJWqKuTZf-fX3Vt .bar .TGSef9fpByYTb8vhFGgJZ {\\\\n  color: white;\\\\n}\\\\n\\\\n._1KJPrddvuAKs2XObDlRWOx ._19kxTSs8JMPxGQiFY45wzD .ioThrUUaohmyS5xZAilPn {\\\\n  color: black;\\\\n}\\\\n\\", \\"\\"]);
+// Exports
+___CSS_LOADER_EXPORT___.locals = {
+	\\"foo\\": \\"_1u_NtoKhpaUNZX7yiJVIiY\\",
+	\\"foo-1\\": \\"UCShdZTu4s3n7oXJOhzrK\\",
+	\\"foo-2\\": \\"_3mfZHE9XqYBUx_E24Rn3UG\\",
+	\\"foo-3\\": \\"CvML8FKPF660KwN3nSNSe\\",
+	\\"foo-4\\": \\"_2Qqlcv7vRMswReW-DKC_IZ\\",
+	\\"foo-5\\": \\"_2xp6Er0qRUlWxHQh1ROAc1\\",
+	\\"foo-6\\": \\"_14PgYX9AnCgTBatBghNmOB\\",
+	\\"foo-7\\": \\"_2SOsIDB25B_Yrw86eby8OG\\",
+	\\"foo-8\\": \\"_1LkHG2nV0HloeZOXYEK8cH\\",
+	\\"foo-9\\": \\"_e3BBhro5bf0ZsgUTOLnT\\",
+	\\"bar-1\\": \\"_39A31JnHJWqKuTZf-fX3Vt\\",
+	\\"bar-2\\": \\"TGSef9fpByYTb8vhFGgJZ\\",
+	\\"baz-3\\": \\"_1KJPrddvuAKs2XObDlRWOx\\",
+	\\"baz\\": \\"_19kxTSs8JMPxGQiFY45wzD\\",
+	\\"bar-4\\": \\"ioThrUUaohmyS5xZAilPn\\"
+};
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"modules" option should work with an empty object value: result 1`] = `
+Array [
+  Array [
+    "./modules/pure/pure.css",
+    "._1u_NtoKhpaUNZX7yiJVIiY {
+  color: red;
+}
+
+h1 .UCShdZTu4s3n7oXJOhzrK {
+  color: green;
+}
+
+._3mfZHE9XqYBUx_E24Rn3UG h1 {
+  color: blue;
+}
+
+.CvML8FKPF660KwN3nSNSe h1 ._2Qqlcv7vRMswReW-DKC_IZ {
+  color: red;
+}
+
+#_2xp6Er0qRUlWxHQh1ROAc1 {
+  color: red;
+}
+
+h1 #_14PgYX9AnCgTBatBghNmOB {
+  color: green;
+}
+
+#_2SOsIDB25B_Yrw86eby8OG h1 {
+  color: blue;
+}
+
+#_1LkHG2nV0HloeZOXYEK8cH h1 #_e3BBhro5bf0ZsgUTOLnT {
+  color: red;
+}
+
+._39A31JnHJWqKuTZf-fX3Vt .bar .TGSef9fpByYTb8vhFGgJZ {
+  color: white;
+}
+
+._1KJPrddvuAKs2XObDlRWOx ._19kxTSs8JMPxGQiFY45wzD .ioThrUUaohmyS5xZAilPn {
+  color: black;
+}
+",
+    "",
+  ],
+]
+`;
+
+exports[`"modules" option should work with an empty object value: warnings 1`] = `Array []`;
+
 exports[`"modules" option should work with case \`animation\` (\`modules\` value is \`false)\`: errors 1`] = `Array []`;
 
 exports[`"modules" option should work with case \`animation\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"a {\\\\n  animation: slide-right 300ms forwards ease-out, fade-in 300ms forwards ease-out;\\\\n\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"a {\\\\n  animation: slide-right 300ms forwards ease-out, fade-in 300ms forwards ease-out;\\\\n\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3358,12 +4024,12 @@ exports[`"modules" option should work with case \`animation\` (\`modules\` value
 
 exports[`"modules" option should work with case \`animation\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"a {\\\\n  animation: slide-right 300ms forwards ease-out, fade-in 300ms forwards ease-out;\\\\n\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"a {\\\\n  animation: slide-right 300ms forwards ease-out, fade-in 300ms forwards ease-out;\\\\n\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3387,16 +4053,16 @@ exports[`"modules" option should work with case \`animation\` (\`modules\` value
 
 exports[`"modules" option should work with case \`animation\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"a {\\\\n  animation: _2jinakhsfBWcUNZSsOxUHz 300ms forwards ease-out, _3XZSV759G141XcbTZgtQkF 300ms forwards ease-out;\\\\n\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"a {\\\\n  animation: _2BRgcVnUYbF24oaTRKY85w 300ms forwards ease-out, _1kI30zF7k0JjwpVexLHOjm 300ms forwards ease-out;\\\\n\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"slide-right\\": \\"_2jinakhsfBWcUNZSsOxUHz\\",
-	\\"fade-in\\": \\"_3XZSV759G141XcbTZgtQkF\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"slide-right\\": \\"_2BRgcVnUYbF24oaTRKY85w\\",
+	\\"fade-in\\": \\"_1kI30zF7k0JjwpVexLHOjm\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3405,7 +4071,7 @@ Array [
   Array [
     "./modules/tests-cases/animation/source.css",
     "a {
-  animation: _2jinakhsfBWcUNZSsOxUHz 300ms forwards ease-out, _3XZSV759G141XcbTZgtQkF 300ms forwards ease-out;
+  animation: _2BRgcVnUYbF24oaTRKY85w 300ms forwards ease-out, _1kI30zF7k0JjwpVexLHOjm 300ms forwards ease-out;
 
 }
 ",
@@ -3420,12 +4086,12 @@ exports[`"modules" option should work with case \`animation\` (\`modules\` value
 
 exports[`"modules" option should work with case \`animation\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"a {\\\\n  animation: slide-right 300ms forwards ease-out, fade-in 300ms forwards ease-out;\\\\n\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"a {\\\\n  animation: slide-right 300ms forwards ease-out, fade-in 300ms forwards ease-out;\\\\n\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3449,16 +4115,16 @@ exports[`"modules" option should work with case \`animation\` (\`modules\` value
 
 exports[`"modules" option should work with case \`animation\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"a {\\\\n  animation: _slide-right 300ms forwards ease-out, _fade-in 300ms forwards ease-out;\\\\n\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"a {\\\\n  animation: _slide-right 300ms forwards ease-out, _fade-in 300ms forwards ease-out;\\\\n\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"slide-right\\": \\"_slide-right\\",
 	\\"fade-in\\": \\"_fade-in\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3482,16 +4148,16 @@ exports[`"modules" option should work with case \`animation\` (\`modules\` value
 
 exports[`"modules" option should work with case \`animation\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"a {\\\\n  animation: _2jinakhsfBWcUNZSsOxUHz 300ms forwards ease-out, _3XZSV759G141XcbTZgtQkF 300ms forwards ease-out;\\\\n\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"a {\\\\n  animation: _2BRgcVnUYbF24oaTRKY85w 300ms forwards ease-out, _1kI30zF7k0JjwpVexLHOjm 300ms forwards ease-out;\\\\n\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"slide-right\\": \\"_2jinakhsfBWcUNZSsOxUHz\\",
-	\\"fade-in\\": \\"_3XZSV759G141XcbTZgtQkF\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"slide-right\\": \\"_2BRgcVnUYbF24oaTRKY85w\\",
+	\\"fade-in\\": \\"_1kI30zF7k0JjwpVexLHOjm\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3500,7 +4166,7 @@ Array [
   Array [
     "./modules/tests-cases/animation/source.css",
     "a {
-  animation: _2jinakhsfBWcUNZSsOxUHz 300ms forwards ease-out, _3XZSV759G141XcbTZgtQkF 300ms forwards ease-out;
+  animation: _2BRgcVnUYbF24oaTRKY85w 300ms forwards ease-out, _1kI30zF7k0JjwpVexLHOjm 300ms forwards ease-out;
 
 }
 ",
@@ -3515,12 +4181,12 @@ exports[`"modules" option should work with case \`class-names\` (\`modules\` val
 
 exports[`"modules" option should work with case \`class-names\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".class-1, .class-10 .bar-1 {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class-1, .class-10 .bar-1 {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3543,12 +4209,12 @@ exports[`"modules" option should work with case \`class-names\` (\`modules\` val
 
 exports[`"modules" option should work with case \`class-names\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".class-1, .class-10 .bar-1 {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class-1, .class-10 .bar-1 {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3571,17 +4237,17 @@ exports[`"modules" option should work with case \`class-names\` (\`modules\` val
 
 exports[`"modules" option should work with case \`class-names\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1GNZOTxutjEX7cZ3Ec7knU, ._15N9BXxWirSgwhYficwysK ._3GpM4NK17tELexNK1Szvws {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".eaOP8i1V08oyfq4bGK3he, ._3bcIdvYQeUZTsRSsUjfwPS ._8OBb_Y_BX-Fb2un3v_cso {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"class-1\\": \\"_1GNZOTxutjEX7cZ3Ec7knU\\",
-	\\"class-10\\": \\"_15N9BXxWirSgwhYficwysK\\",
-	\\"bar-1\\": \\"_3GpM4NK17tELexNK1Szvws\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"class-1\\": \\"eaOP8i1V08oyfq4bGK3he\\",
+	\\"class-10\\": \\"_3bcIdvYQeUZTsRSsUjfwPS\\",
+	\\"bar-1\\": \\"_8OBb_Y_BX-Fb2un3v_cso\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3589,7 +4255,7 @@ exports[`"modules" option should work with case \`class-names\` (\`modules\` val
 Array [
   Array [
     "./modules/tests-cases/class-names/source.css",
-    "._1GNZOTxutjEX7cZ3Ec7knU, ._15N9BXxWirSgwhYficwysK ._3GpM4NK17tELexNK1Szvws {
+    ".eaOP8i1V08oyfq4bGK3he, ._3bcIdvYQeUZTsRSsUjfwPS ._8OBb_Y_BX-Fb2un3v_cso {
 	color: green;
 }
 ",
@@ -3604,12 +4270,12 @@ exports[`"modules" option should work with case \`class-names\` (\`modules\` val
 
 exports[`"modules" option should work with case \`class-names\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".class-1, .class-10 .bar-1 {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class-1, .class-10 .bar-1 {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3632,17 +4298,17 @@ exports[`"modules" option should work with case \`class-names\` (\`modules\` val
 
 exports[`"modules" option should work with case \`class-names\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._class-1, ._class-10 ._bar-1 {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._class-1, ._class-10 ._bar-1 {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"class-1\\": \\"_class-1\\",
 	\\"class-10\\": \\"_class-10\\",
 	\\"bar-1\\": \\"_bar-1\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3665,17 +4331,17 @@ exports[`"modules" option should work with case \`class-names\` (\`modules\` val
 
 exports[`"modules" option should work with case \`class-names\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1GNZOTxutjEX7cZ3Ec7knU, ._15N9BXxWirSgwhYficwysK ._3GpM4NK17tELexNK1Szvws {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".eaOP8i1V08oyfq4bGK3he, ._3bcIdvYQeUZTsRSsUjfwPS ._8OBb_Y_BX-Fb2un3v_cso {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"class-1\\": \\"_1GNZOTxutjEX7cZ3Ec7knU\\",
-	\\"class-10\\": \\"_15N9BXxWirSgwhYficwysK\\",
-	\\"bar-1\\": \\"_3GpM4NK17tELexNK1Szvws\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"class-1\\": \\"eaOP8i1V08oyfq4bGK3he\\",
+	\\"class-10\\": \\"_3bcIdvYQeUZTsRSsUjfwPS\\",
+	\\"bar-1\\": \\"_8OBb_Y_BX-Fb2un3v_cso\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3683,7 +4349,7 @@ exports[`"modules" option should work with case \`class-names\` (\`modules\` val
 Array [
   Array [
     "./modules/tests-cases/class-names/source.css",
-    "._1GNZOTxutjEX7cZ3Ec7knU, ._15N9BXxWirSgwhYficwysK ._3GpM4NK17tELexNK1Szvws {
+    ".eaOP8i1V08oyfq4bGK3he, ._3bcIdvYQeUZTsRSsUjfwPS ._8OBb_Y_BX-Fb2un3v_cso {
 	color: green;
 }
 ",
@@ -3698,12 +4364,12 @@ exports[`"modules" option should work with case \`comment-in-local\` (\`modules\
 
 exports[`"modules" option should work with case \`comment-in-local\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\":local(.c1/*.c2*/.c3) { background: red; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\":local(.c1/*.c2*/.c3) { background: red; }\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3724,16 +4390,16 @@ exports[`"modules" option should work with case \`comment-in-local\` (\`modules\
 
 exports[`"modules" option should work with case \`comment-in-local\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1xn1UbV-5a_s7ig53fR7Lz/*.c2*/._36mr1nZ1pdjd1s5j3RV-z7 { background: red; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".teEK3sdEAAKljf9aUyFC5/*.c2*/._3gBobi-8jFL965hMnHyyrB { background: red; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"c1\\": \\"_1xn1UbV-5a_s7ig53fR7Lz\\",
-	\\"c3\\": \\"_36mr1nZ1pdjd1s5j3RV-z7\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"c1\\": \\"teEK3sdEAAKljf9aUyFC5\\",
+	\\"c3\\": \\"_3gBobi-8jFL965hMnHyyrB\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3741,7 +4407,7 @@ exports[`"modules" option should work with case \`comment-in-local\` (\`modules\
 Array [
   Array [
     "./modules/tests-cases/comment-in-local/source.css",
-    "._1xn1UbV-5a_s7ig53fR7Lz/*.c2*/._36mr1nZ1pdjd1s5j3RV-z7 { background: red; }
+    ".teEK3sdEAAKljf9aUyFC5/*.c2*/._3gBobi-8jFL965hMnHyyrB { background: red; }
 ",
     "",
   ],
@@ -3754,16 +4420,16 @@ exports[`"modules" option should work with case \`comment-in-local\` (\`modules\
 
 exports[`"modules" option should work with case \`comment-in-local\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1xn1UbV-5a_s7ig53fR7Lz/*.c2*/._36mr1nZ1pdjd1s5j3RV-z7 { background: red; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".teEK3sdEAAKljf9aUyFC5/*.c2*/._3gBobi-8jFL965hMnHyyrB { background: red; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"c1\\": \\"_1xn1UbV-5a_s7ig53fR7Lz\\",
-	\\"c3\\": \\"_36mr1nZ1pdjd1s5j3RV-z7\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"c1\\": \\"teEK3sdEAAKljf9aUyFC5\\",
+	\\"c3\\": \\"_3gBobi-8jFL965hMnHyyrB\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3771,7 +4437,7 @@ exports[`"modules" option should work with case \`comment-in-local\` (\`modules\
 Array [
   Array [
     "./modules/tests-cases/comment-in-local/source.css",
-    "._1xn1UbV-5a_s7ig53fR7Lz/*.c2*/._36mr1nZ1pdjd1s5j3RV-z7 { background: red; }
+    ".teEK3sdEAAKljf9aUyFC5/*.c2*/._3gBobi-8jFL965hMnHyyrB { background: red; }
 ",
     "",
   ],
@@ -3784,16 +4450,16 @@ exports[`"modules" option should work with case \`comment-in-local\` (\`modules\
 
 exports[`"modules" option should work with case \`comment-in-local\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._c1/*.c2*/._c3 { background: red; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._c1/*.c2*/._c3 { background: red; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"c1\\": \\"_c1\\",
 	\\"c3\\": \\"_c3\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3814,16 +4480,16 @@ exports[`"modules" option should work with case \`comment-in-local\` (\`modules\
 
 exports[`"modules" option should work with case \`comment-in-local\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._c1/*.c2*/._c3 { background: red; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._c1/*.c2*/._c3 { background: red; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"c1\\": \\"_c1\\",
 	\\"c3\\": \\"_c3\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3844,16 +4510,16 @@ exports[`"modules" option should work with case \`comment-in-local\` (\`modules\
 
 exports[`"modules" option should work with case \`comment-in-local\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1xn1UbV-5a_s7ig53fR7Lz/*.c2*/._36mr1nZ1pdjd1s5j3RV-z7 { background: red; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".teEK3sdEAAKljf9aUyFC5/*.c2*/._3gBobi-8jFL965hMnHyyrB { background: red; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"c1\\": \\"_1xn1UbV-5a_s7ig53fR7Lz\\",
-	\\"c3\\": \\"_36mr1nZ1pdjd1s5j3RV-z7\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"c1\\": \\"teEK3sdEAAKljf9aUyFC5\\",
+	\\"c3\\": \\"_3gBobi-8jFL965hMnHyyrB\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3861,7 +4527,7 @@ exports[`"modules" option should work with case \`comment-in-local\` (\`modules\
 Array [
   Array [
     "./modules/tests-cases/comment-in-local/source.css",
-    "._1xn1UbV-5a_s7ig53fR7Lz/*.c2*/._36mr1nZ1pdjd1s5j3RV-z7 { background: red; }
+    ".teEK3sdEAAKljf9aUyFC5/*.c2*/._3gBobi-8jFL965hMnHyyrB { background: red; }
 ",
     "",
   ],
@@ -3874,15 +4540,15 @@ exports[`"modules" option should work with case \`comments\` (\`modules\` value
 
 exports[`"modules" option should work with case \`comments\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"/*\\\\n * a ' above\\\\n */\\\\n\\\\n.bg {\\\\n  background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n/*\\\\n * a ' below\\\\n */\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"/*\\\\n * a ' above\\\\n */\\\\n\\\\n.bg {\\\\n  background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n/*\\\\n * a ' below\\\\n */\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3913,15 +4579,15 @@ exports[`"modules" option should work with case \`comments\` (\`modules\` value
 
 exports[`"modules" option should work with case \`comments\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"/*\\\\n * a ' above\\\\n */\\\\n\\\\n.bg {\\\\n  background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n/*\\\\n * a ' below\\\\n */\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"/*\\\\n * a ' above\\\\n */\\\\n\\\\n.bg {\\\\n  background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n/*\\\\n * a ' below\\\\n */\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3952,18 +4618,18 @@ exports[`"modules" option should work with case \`comments\` (\`modules\` value
 
 exports[`"modules" option should work with case \`comments\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"/*\\\\n * a ' above\\\\n */\\\\n\\\\n._28-VAWbJ8gQCgX50Jcqtzs {\\\\n  background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n/*\\\\n * a ' below\\\\n */\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"/*\\\\n * a ' above\\\\n */\\\\n\\\\n.j4zJgEr5H67lbBMVZ1hG- {\\\\n  background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n/*\\\\n * a ' below\\\\n */\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"bg\\": \\"_28-VAWbJ8gQCgX50Jcqtzs\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"bg\\": \\"j4zJgEr5H67lbBMVZ1hG-\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -3975,7 +4641,7 @@ Array [
  * a ' above
  */
 
-._28-VAWbJ8gQCgX50Jcqtzs {
+.j4zJgEr5H67lbBMVZ1hG- {
   background-image: url(/webpack/public/path/img.png);
 }
 
@@ -3994,15 +4660,15 @@ exports[`"modules" option should work with case \`comments\` (\`modules\` value
 
 exports[`"modules" option should work with case \`comments\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"/*\\\\n * a ' above\\\\n */\\\\n\\\\n.bg {\\\\n  background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n/*\\\\n * a ' below\\\\n */\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"/*\\\\n * a ' above\\\\n */\\\\n\\\\n.bg {\\\\n  background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n/*\\\\n * a ' below\\\\n */\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4033,18 +4699,18 @@ exports[`"modules" option should work with case \`comments\` (\`modules\` value
 
 exports[`"modules" option should work with case \`comments\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"/*\\\\n * a ' above\\\\n */\\\\n\\\\n._bg {\\\\n  background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n/*\\\\n * a ' below\\\\n */\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"/*\\\\n * a ' above\\\\n */\\\\n\\\\n._bg {\\\\n  background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n/*\\\\n * a ' below\\\\n */\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"bg\\": \\"_bg\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4075,18 +4741,18 @@ exports[`"modules" option should work with case \`comments\` (\`modules\` value
 
 exports[`"modules" option should work with case \`comments\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"/*\\\\n * a ' above\\\\n */\\\\n\\\\n._28-VAWbJ8gQCgX50Jcqtzs {\\\\n  background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n/*\\\\n * a ' below\\\\n */\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"/*\\\\n * a ' above\\\\n */\\\\n\\\\n.j4zJgEr5H67lbBMVZ1hG- {\\\\n  background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n/*\\\\n * a ' below\\\\n */\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"bg\\": \\"_28-VAWbJ8gQCgX50Jcqtzs\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"bg\\": \\"j4zJgEr5H67lbBMVZ1hG-\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4098,7 +4764,7 @@ Array [
  * a ' above
  */
 
-._28-VAWbJ8gQCgX50Jcqtzs {
+.j4zJgEr5H67lbBMVZ1hG- {
   background-image: url(/webpack/public/path/img.png);
 }
 
@@ -4117,12 +4783,12 @@ exports[`"modules" option should work with case \`composes\` (\`modules\` value
 
 exports[`"modules" option should work with case \`composes\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\":local(.c1) { a: 1; }\\\\n:local(.c2) { composes: c1; b: 1; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\":local(.c1) { a: 1; }\\\\n:local(.c2) { composes: c1; b: 1; }\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4144,16 +4810,16 @@ exports[`"modules" option should work with case \`composes\` (\`modules\` value
 
 exports[`"modules" option should work with case \`composes\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._2lVGKlfYXzywV6_acW1a3J { a: 1; }\\\\n._2FPXZHdIWogtLWkFQcjYj7 { b: 1; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._34mNstMQgDzGDaB2hWRHrA { a: 1; }\\\\n._3W9EM3Fx7zB7OUIw7l9ZGQ { b: 1; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"c1\\": \\"_2lVGKlfYXzywV6_acW1a3J\\",
-	\\"c2\\": \\"_2FPXZHdIWogtLWkFQcjYj7 _2lVGKlfYXzywV6_acW1a3J\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"c1\\": \\"_34mNstMQgDzGDaB2hWRHrA\\",
+	\\"c2\\": \\"_3W9EM3Fx7zB7OUIw7l9ZGQ _34mNstMQgDzGDaB2hWRHrA\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4161,8 +4827,8 @@ exports[`"modules" option should work with case \`composes\` (\`modules\` value
 Array [
   Array [
     "./modules/tests-cases/composes/source.css",
-    "._2lVGKlfYXzywV6_acW1a3J { a: 1; }
-._2FPXZHdIWogtLWkFQcjYj7 { b: 1; }
+    "._34mNstMQgDzGDaB2hWRHrA { a: 1; }
+._3W9EM3Fx7zB7OUIw7l9ZGQ { b: 1; }
 ",
     "",
   ],
@@ -4175,16 +4841,16 @@ exports[`"modules" option should work with case \`composes\` (\`modules\` value
 
 exports[`"modules" option should work with case \`composes\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._2lVGKlfYXzywV6_acW1a3J { a: 1; }\\\\n._2FPXZHdIWogtLWkFQcjYj7 { b: 1; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._34mNstMQgDzGDaB2hWRHrA { a: 1; }\\\\n._3W9EM3Fx7zB7OUIw7l9ZGQ { b: 1; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"c1\\": \\"_2lVGKlfYXzywV6_acW1a3J\\",
-	\\"c2\\": \\"_2FPXZHdIWogtLWkFQcjYj7 _2lVGKlfYXzywV6_acW1a3J\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"c1\\": \\"_34mNstMQgDzGDaB2hWRHrA\\",
+	\\"c2\\": \\"_3W9EM3Fx7zB7OUIw7l9ZGQ _34mNstMQgDzGDaB2hWRHrA\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4192,8 +4858,8 @@ exports[`"modules" option should work with case \`composes\` (\`modules\` value
 Array [
   Array [
     "./modules/tests-cases/composes/source.css",
-    "._2lVGKlfYXzywV6_acW1a3J { a: 1; }
-._2FPXZHdIWogtLWkFQcjYj7 { b: 1; }
+    "._34mNstMQgDzGDaB2hWRHrA { a: 1; }
+._3W9EM3Fx7zB7OUIw7l9ZGQ { b: 1; }
 ",
     "",
   ],
@@ -4206,16 +4872,16 @@ exports[`"modules" option should work with case \`composes\` (\`modules\` value
 
 exports[`"modules" option should work with case \`composes\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._c1 { a: 1; }\\\\n._c2 { b: 1; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._c1 { a: 1; }\\\\n._c2 { b: 1; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"c1\\": \\"_c1\\",
 	\\"c2\\": \\"_c2 _c1\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4237,16 +4903,16 @@ exports[`"modules" option should work with case \`composes\` (\`modules\` value
 
 exports[`"modules" option should work with case \`composes\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._c1 { a: 1; }\\\\n._c2 { b: 1; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._c1 { a: 1; }\\\\n._c2 { b: 1; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"c1\\": \\"_c1\\",
 	\\"c2\\": \\"_c2 _c1\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4268,16 +4934,16 @@ exports[`"modules" option should work with case \`composes\` (\`modules\` value
 
 exports[`"modules" option should work with case \`composes\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._2lVGKlfYXzywV6_acW1a3J { a: 1; }\\\\n._2FPXZHdIWogtLWkFQcjYj7 { b: 1; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._34mNstMQgDzGDaB2hWRHrA { a: 1; }\\\\n._3W9EM3Fx7zB7OUIw7l9ZGQ { b: 1; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"c1\\": \\"_2lVGKlfYXzywV6_acW1a3J\\",
-	\\"c2\\": \\"_2FPXZHdIWogtLWkFQcjYj7 _2lVGKlfYXzywV6_acW1a3J\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"c1\\": \\"_34mNstMQgDzGDaB2hWRHrA\\",
+	\\"c2\\": \\"_3W9EM3Fx7zB7OUIw7l9ZGQ _34mNstMQgDzGDaB2hWRHrA\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4285,8 +4951,8 @@ exports[`"modules" option should work with case \`composes\` (\`modules\` value
 Array [
   Array [
     "./modules/tests-cases/composes/source.css",
-    "._2lVGKlfYXzywV6_acW1a3J { a: 1; }
-._2FPXZHdIWogtLWkFQcjYj7 { b: 1; }
+    "._34mNstMQgDzGDaB2hWRHrA { a: 1; }
+._3W9EM3Fx7zB7OUIw7l9ZGQ { b: 1; }
 ",
     "",
   ],
@@ -4299,12 +4965,12 @@ exports[`"modules" option should work with case \`composes-1\` (\`modules\` valu
 
 exports[`"modules" option should work with case \`composes-1\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\":local(.c1) { composes: c2 from \\\\\\"./file.css\\\\\\"; b: 1; }\\\\n:local(.c3) { composes: c1; b: 3; }\\\\n:local(.c5) { composes: c2 c4 from \\\\\\"./file.css\\\\\\"; b: 5; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\":local(.c1) { composes: c2 from \\\\\\"./file.css\\\\\\"; b: 1; }\\\\n:local(.c3) { composes: c1; b: 3; }\\\\n:local(.c5) { composes: c2 c4 from \\\\\\"./file.css\\\\\\"; b: 5; }\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4327,19 +4993,19 @@ exports[`"modules" option should work with case \`composes-1\` (\`modules\` valu
 
 exports[`"modules" option should work with case \`composes-1\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._1DZQbqp1oX8etdFa5oSOnV { b: 1; }\\\\n._1PKuwglb3xQB3gwJBZx6_G { b: 3; }\\\\n._1MtdK0_soIbU20fcYBbRAe { b: 5; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._3-qx8pJmXRBC7ZWgEAQzet { b: 1; }\\\\n._1FVKB0KU1wWA69SjlrbmzH { b: 3; }\\\\n._3OeARQF_xkOFvBrTjU9Utk { b: 5; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"c1\\": \\"_1DZQbqp1oX8etdFa5oSOnV \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\"\\",
-	\\"c3\\": \\"_1PKuwglb3xQB3gwJBZx6_G _1DZQbqp1oX8etdFa5oSOnV \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\"\\",
-	\\"c5\\": \\"_1MtdK0_soIbU20fcYBbRAe \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c4\\"] + \\"\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"c1\\": \\"_3-qx8pJmXRBC7ZWgEAQzet \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\"\\",
+	\\"c3\\": \\"_1FVKB0KU1wWA69SjlrbmzH _3-qx8pJmXRBC7ZWgEAQzet \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\"\\",
+	\\"c5\\": \\"_3OeARQF_xkOFvBrTjU9Utk \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c4\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4347,11 +5013,11 @@ exports[`"modules" option should work with case \`composes-1\` (\`modules\` valu
 Array [
   Array [
     "../../src/index.js?[ident]!./modules/tests-cases/composes-1/file.css",
-    "._1xYJRliqpSHYzUvktbdaCo {
+    "._3BQSb6gr0fyI7-ih_Aa3gM {
   color: red;
 }
 
-._1jdJRc6HaM3lHykxBSOeII {
+.P8RDC3heoZh1wjKCjD0Vg {
   color: blue;
 }
 
@@ -4363,9 +5029,9 @@ Array [
   ],
   Array [
     "./modules/tests-cases/composes-1/source.css",
-    "._1DZQbqp1oX8etdFa5oSOnV { b: 1; }
-._1PKuwglb3xQB3gwJBZx6_G { b: 3; }
-._1MtdK0_soIbU20fcYBbRAe { b: 5; }
+    "._3-qx8pJmXRBC7ZWgEAQzet { b: 1; }
+._1FVKB0KU1wWA69SjlrbmzH { b: 3; }
+._3OeARQF_xkOFvBrTjU9Utk { b: 5; }
 ",
     "",
   ],
@@ -4378,19 +5044,19 @@ exports[`"modules" option should work with case \`composes-1\` (\`modules\` valu
 
 exports[`"modules" option should work with case \`composes-1\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._1DZQbqp1oX8etdFa5oSOnV { b: 1; }\\\\n._1PKuwglb3xQB3gwJBZx6_G { b: 3; }\\\\n._1MtdK0_soIbU20fcYBbRAe { b: 5; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._3-qx8pJmXRBC7ZWgEAQzet { b: 1; }\\\\n._1FVKB0KU1wWA69SjlrbmzH { b: 3; }\\\\n._3OeARQF_xkOFvBrTjU9Utk { b: 5; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"c1\\": \\"_1DZQbqp1oX8etdFa5oSOnV \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\"\\",
-	\\"c3\\": \\"_1PKuwglb3xQB3gwJBZx6_G _1DZQbqp1oX8etdFa5oSOnV \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\"\\",
-	\\"c5\\": \\"_1MtdK0_soIbU20fcYBbRAe \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c4\\"] + \\"\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"c1\\": \\"_3-qx8pJmXRBC7ZWgEAQzet \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\"\\",
+	\\"c3\\": \\"_1FVKB0KU1wWA69SjlrbmzH _3-qx8pJmXRBC7ZWgEAQzet \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\"\\",
+	\\"c5\\": \\"_3OeARQF_xkOFvBrTjU9Utk \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c4\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4398,15 +5064,15 @@ exports[`"modules" option should work with case \`composes-1\` (\`modules\` valu
 Array [
   Array [
     "../../src/index.js?[ident]!./modules/tests-cases/composes-1/file.css",
-    "._1xYJRliqpSHYzUvktbdaCo {
+    "._3BQSb6gr0fyI7-ih_Aa3gM {
   color: red;
 }
 
-._1jdJRc6HaM3lHykxBSOeII {
+.P8RDC3heoZh1wjKCjD0Vg {
   color: blue;
 }
 
-._3YdnDqqBfyyJ_9JKWIle3X{
+.gub3V-VWCTquMMUix7UfI{
   c: d
 }
 ",
@@ -4414,9 +5080,9 @@ Array [
   ],
   Array [
     "./modules/tests-cases/composes-1/source.css",
-    "._1DZQbqp1oX8etdFa5oSOnV { b: 1; }
-._1PKuwglb3xQB3gwJBZx6_G { b: 3; }
-._1MtdK0_soIbU20fcYBbRAe { b: 5; }
+    "._3-qx8pJmXRBC7ZWgEAQzet { b: 1; }
+._1FVKB0KU1wWA69SjlrbmzH { b: 3; }
+._3OeARQF_xkOFvBrTjU9Utk { b: 5; }
 ",
     "",
   ],
@@ -4429,19 +5095,19 @@ exports[`"modules" option should work with case \`composes-1\` (\`modules\` valu
 
 exports[`"modules" option should work with case \`composes-1\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._c1 { b: 1; }\\\\n._c3 { b: 3; }\\\\n._c5 { b: 5; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._c1 { b: 1; }\\\\n._c3 { b: 3; }\\\\n._c5 { b: 5; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"c1\\": \\"_c1 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\"\\",
 	\\"c3\\": \\"_c3 _c1 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\"\\",
 	\\"c5\\": \\"_c5 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c4\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4480,19 +5146,19 @@ exports[`"modules" option should work with case \`composes-1\` (\`modules\` valu
 
 exports[`"modules" option should work with case \`composes-1\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._c1 { b: 1; }\\\\n._c3 { b: 3; }\\\\n._c5 { b: 5; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._c1 { b: 1; }\\\\n._c3 { b: 3; }\\\\n._c5 { b: 5; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"c1\\": \\"_c1 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\"\\",
 	\\"c3\\": \\"_c3 _c1 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\"\\",
 	\\"c5\\": \\"_c5 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c4\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4531,19 +5197,19 @@ exports[`"modules" option should work with case \`composes-1\` (\`modules\` valu
 
 exports[`"modules" option should work with case \`composes-1\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._1DZQbqp1oX8etdFa5oSOnV { b: 1; }\\\\n._1PKuwglb3xQB3gwJBZx6_G { b: 3; }\\\\n._1MtdK0_soIbU20fcYBbRAe { b: 5; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._3-qx8pJmXRBC7ZWgEAQzet { b: 1; }\\\\n._1FVKB0KU1wWA69SjlrbmzH { b: 3; }\\\\n._3OeARQF_xkOFvBrTjU9Utk { b: 5; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"c1\\": \\"_1DZQbqp1oX8etdFa5oSOnV \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\"\\",
-	\\"c3\\": \\"_1PKuwglb3xQB3gwJBZx6_G _1DZQbqp1oX8etdFa5oSOnV \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\"\\",
-	\\"c5\\": \\"_1MtdK0_soIbU20fcYBbRAe \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c4\\"] + \\"\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"c1\\": \\"_3-qx8pJmXRBC7ZWgEAQzet \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\"\\",
+	\\"c3\\": \\"_1FVKB0KU1wWA69SjlrbmzH _3-qx8pJmXRBC7ZWgEAQzet \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\"\\",
+	\\"c5\\": \\"_3OeARQF_xkOFvBrTjU9Utk \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c2\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c4\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4551,15 +5217,15 @@ exports[`"modules" option should work with case \`composes-1\` (\`modules\` valu
 Array [
   Array [
     "../../src/index.js?[ident]!./modules/tests-cases/composes-1/file.css",
-    "._1xYJRliqpSHYzUvktbdaCo {
+    "._3BQSb6gr0fyI7-ih_Aa3gM {
   color: red;
 }
 
-._1jdJRc6HaM3lHykxBSOeII {
+.P8RDC3heoZh1wjKCjD0Vg {
   color: blue;
 }
 
-._3YdnDqqBfyyJ_9JKWIle3X{
+.gub3V-VWCTquMMUix7UfI{
   c: d
 }
 ",
@@ -4567,9 +5233,9 @@ Array [
   ],
   Array [
     "./modules/tests-cases/composes-1/source.css",
-    "._1DZQbqp1oX8etdFa5oSOnV { b: 1; }
-._1PKuwglb3xQB3gwJBZx6_G { b: 3; }
-._1MtdK0_soIbU20fcYBbRAe { b: 5; }
+    "._3-qx8pJmXRBC7ZWgEAQzet { b: 1; }
+._1FVKB0KU1wWA69SjlrbmzH { b: 3; }
+._3OeARQF_xkOFvBrTjU9Utk { b: 5; }
 ",
     "",
   ],
@@ -4582,12 +5248,12 @@ exports[`"modules" option should work with case \`composes-2\` (\`modules\` valu
 
 exports[`"modules" option should work with case \`composes-2\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\":local(.c1) { composes: c-2 from \\\\\\"./file.css\\\\\\"; b: 1; }\\\\n:local(.c3) { composes: c1; b: 3; }\\\\n:local(.c5) { composes: c-2 c4 from \\\\\\"./file.css\\\\\\"; b: 5; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\":local(.c1) { composes: c-2 from \\\\\\"./file.css\\\\\\"; b: 1; }\\\\n:local(.c3) { composes: c1; b: 3; }\\\\n:local(.c5) { composes: c-2 c4 from \\\\\\"./file.css\\\\\\"; b: 5; }\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4610,19 +5276,19 @@ exports[`"modules" option should work with case \`composes-2\` (\`modules\` valu
 
 exports[`"modules" option should work with case \`composes-2\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._2tj5Xzv7Ei8HGFvkrlGXyv { b: 1; }\\\\n._1TPNBQGz_snQ6aGvXARYo0 { b: 3; }\\\\n.rkDOmH5RkgZGaQ5Fey09Z { b: 5; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._149ZUYbfaXcUW5RECwsqm- { b: 1; }\\\\n._1jgbfSMRKu9SzdQe6V40dS { b: 3; }\\\\n._34ysYLP4WhvpT6DBtB9Z0B { b: 5; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"c1\\": \\"_2tj5Xzv7Ei8HGFvkrlGXyv \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\"\\",
-	\\"c3\\": \\"_1TPNBQGz_snQ6aGvXARYo0 _2tj5Xzv7Ei8HGFvkrlGXyv \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\"\\",
-	\\"c5\\": \\"rkDOmH5RkgZGaQ5Fey09Z \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c4\\"] + \\"\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"c1\\": \\"_149ZUYbfaXcUW5RECwsqm- \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\"\\",
+	\\"c3\\": \\"_1jgbfSMRKu9SzdQe6V40dS _149ZUYbfaXcUW5RECwsqm- \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\"\\",
+	\\"c5\\": \\"_34ysYLP4WhvpT6DBtB9Z0B \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c4\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4630,11 +5296,11 @@ exports[`"modules" option should work with case \`composes-2\` (\`modules\` valu
 Array [
   Array [
     "../../src/index.js?[ident]!./modules/tests-cases/composes-2/file.css",
-    "._3CxjkH18CkEkRZ4FO4v-NQ {
+    "._2C4Wmr5C8BvxldyLPCylH_ {
   color: red;
 }
 
-.G8VU3XI3HtOvZPlSEb9S3 {
+._3aiuN39FwndzB_dvA--VO0 {
   color: blue;
 }
 
@@ -4646,9 +5312,9 @@ Array [
   ],
   Array [
     "./modules/tests-cases/composes-2/source.css",
-    "._2tj5Xzv7Ei8HGFvkrlGXyv { b: 1; }
-._1TPNBQGz_snQ6aGvXARYo0 { b: 3; }
-.rkDOmH5RkgZGaQ5Fey09Z { b: 5; }
+    "._149ZUYbfaXcUW5RECwsqm- { b: 1; }
+._1jgbfSMRKu9SzdQe6V40dS { b: 3; }
+._34ysYLP4WhvpT6DBtB9Z0B { b: 5; }
 ",
     "",
   ],
@@ -4661,19 +5327,19 @@ exports[`"modules" option should work with case \`composes-2\` (\`modules\` valu
 
 exports[`"modules" option should work with case \`composes-2\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._2tj5Xzv7Ei8HGFvkrlGXyv { b: 1; }\\\\n._1TPNBQGz_snQ6aGvXARYo0 { b: 3; }\\\\n.rkDOmH5RkgZGaQ5Fey09Z { b: 5; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._149ZUYbfaXcUW5RECwsqm- { b: 1; }\\\\n._1jgbfSMRKu9SzdQe6V40dS { b: 3; }\\\\n._34ysYLP4WhvpT6DBtB9Z0B { b: 5; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"c1\\": \\"_2tj5Xzv7Ei8HGFvkrlGXyv \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\"\\",
-	\\"c3\\": \\"_1TPNBQGz_snQ6aGvXARYo0 _2tj5Xzv7Ei8HGFvkrlGXyv \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\"\\",
-	\\"c5\\": \\"rkDOmH5RkgZGaQ5Fey09Z \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c4\\"] + \\"\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"c1\\": \\"_149ZUYbfaXcUW5RECwsqm- \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\"\\",
+	\\"c3\\": \\"_1jgbfSMRKu9SzdQe6V40dS _149ZUYbfaXcUW5RECwsqm- \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\"\\",
+	\\"c5\\": \\"_34ysYLP4WhvpT6DBtB9Z0B \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c4\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4681,15 +5347,15 @@ exports[`"modules" option should work with case \`composes-2\` (\`modules\` valu
 Array [
   Array [
     "../../src/index.js?[ident]!./modules/tests-cases/composes-2/file.css",
-    "._3CxjkH18CkEkRZ4FO4v-NQ {
+    "._2C4Wmr5C8BvxldyLPCylH_ {
   color: red;
 }
 
-.G8VU3XI3HtOvZPlSEb9S3 {
+._3aiuN39FwndzB_dvA--VO0 {
   color: blue;
 }
 
-._10rrqoQ7Mb3ZcY6LixlnpR{
+._3aoDQjaHcfzlLkTk2i9Mt5{
   c: d
 }
 ",
@@ -4697,9 +5363,9 @@ Array [
   ],
   Array [
     "./modules/tests-cases/composes-2/source.css",
-    "._2tj5Xzv7Ei8HGFvkrlGXyv { b: 1; }
-._1TPNBQGz_snQ6aGvXARYo0 { b: 3; }
-.rkDOmH5RkgZGaQ5Fey09Z { b: 5; }
+    "._149ZUYbfaXcUW5RECwsqm- { b: 1; }
+._1jgbfSMRKu9SzdQe6V40dS { b: 3; }
+._34ysYLP4WhvpT6DBtB9Z0B { b: 5; }
 ",
     "",
   ],
@@ -4712,19 +5378,19 @@ exports[`"modules" option should work with case \`composes-2\` (\`modules\` valu
 
 exports[`"modules" option should work with case \`composes-2\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._c1 { b: 1; }\\\\n._c3 { b: 3; }\\\\n._c5 { b: 5; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._c1 { b: 1; }\\\\n._c3 { b: 3; }\\\\n._c5 { b: 5; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"c1\\": \\"_c1 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\"\\",
 	\\"c3\\": \\"_c3 _c1 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\"\\",
 	\\"c5\\": \\"_c5 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c4\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4763,19 +5429,19 @@ exports[`"modules" option should work with case \`composes-2\` (\`modules\` valu
 
 exports[`"modules" option should work with case \`composes-2\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._c1 { b: 1; }\\\\n._c3 { b: 3; }\\\\n._c5 { b: 5; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._c1 { b: 1; }\\\\n._c3 { b: 3; }\\\\n._c5 { b: 5; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"c1\\": \\"_c1 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\"\\",
 	\\"c3\\": \\"_c3 _c1 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\"\\",
 	\\"c5\\": \\"_c5 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c4\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4814,19 +5480,19 @@ exports[`"modules" option should work with case \`composes-2\` (\`modules\` valu
 
 exports[`"modules" option should work with case \`composes-2\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._2tj5Xzv7Ei8HGFvkrlGXyv { b: 1; }\\\\n._1TPNBQGz_snQ6aGvXARYo0 { b: 3; }\\\\n.rkDOmH5RkgZGaQ5Fey09Z { b: 5; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._149ZUYbfaXcUW5RECwsqm- { b: 1; }\\\\n._1jgbfSMRKu9SzdQe6V40dS { b: 3; }\\\\n._34ysYLP4WhvpT6DBtB9Z0B { b: 5; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"c1\\": \\"_2tj5Xzv7Ei8HGFvkrlGXyv \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\"\\",
-	\\"c3\\": \\"_1TPNBQGz_snQ6aGvXARYo0 _2tj5Xzv7Ei8HGFvkrlGXyv \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\"\\",
-	\\"c5\\": \\"rkDOmH5RkgZGaQ5Fey09Z \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c4\\"] + \\"\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"c1\\": \\"_149ZUYbfaXcUW5RECwsqm- \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\"\\",
+	\\"c3\\": \\"_1jgbfSMRKu9SzdQe6V40dS _149ZUYbfaXcUW5RECwsqm- \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\"\\",
+	\\"c5\\": \\"_34ysYLP4WhvpT6DBtB9Z0B \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c-2\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"c4\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4834,15 +5500,15 @@ exports[`"modules" option should work with case \`composes-2\` (\`modules\` valu
 Array [
   Array [
     "../../src/index.js?[ident]!./modules/tests-cases/composes-2/file.css",
-    "._3CxjkH18CkEkRZ4FO4v-NQ {
+    "._2C4Wmr5C8BvxldyLPCylH_ {
   color: red;
 }
 
-.G8VU3XI3HtOvZPlSEb9S3 {
+._3aiuN39FwndzB_dvA--VO0 {
   color: blue;
 }
 
-._10rrqoQ7Mb3ZcY6LixlnpR{
+._3aoDQjaHcfzlLkTk2i9Mt5{
   c: d
 }
 ",
@@ -4850,9 +5516,9 @@ Array [
   ],
   Array [
     "./modules/tests-cases/composes-2/source.css",
-    "._2tj5Xzv7Ei8HGFvkrlGXyv { b: 1; }
-._1TPNBQGz_snQ6aGvXARYo0 { b: 3; }
-.rkDOmH5RkgZGaQ5Fey09Z { b: 5; }
+    "._149ZUYbfaXcUW5RECwsqm- { b: 1; }
+._1jgbfSMRKu9SzdQe6V40dS { b: 3; }
+._34ysYLP4WhvpT6DBtB9Z0B { b: 5; }
 ",
     "",
   ],
@@ -4865,12 +5531,12 @@ exports[`"modules" option should work with case \`composes-multiple\` (\`modules
 
 exports[`"modules" option should work with case \`composes-multiple\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\":local(.abc) {\\\\n  composes: def1 from \\\\\\"./file1.css\\\\\\";\\\\n  composes: def2 from \\\\\\"./file2.css\\\\\\";\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\":local(.abc) {\\\\n  composes: def1 from \\\\\\"./file1.css\\\\\\";\\\\n  composes: def2 from \\\\\\"./file2.css\\\\\\";\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4894,19 +5560,19 @@ exports[`"modules" option should work with case \`composes-multiple\` (\`modules
 
 exports[`"modules" option should work with case \`composes-multiple\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../../../src/index.js??[ident]!./file2.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
-exports.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_1___ from \\"-!../../../../../src/index.js??[ident]!./file2.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._1bAv4bLL8-hE3a7MyZXrT- {\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._iiR_tqijyI8mcO-r3Ohe {\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"abc\\": \\"_1bAv4bLL8-hE3a7MyZXrT- \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def1\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def2\\"] + \\"\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"abc\\": \\"_iiR_tqijyI8mcO-r3Ohe \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def1\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def2\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4914,7 +5580,7 @@ exports[`"modules" option should work with case \`composes-multiple\` (\`modules
 Array [
   Array [
     "../../src/index.js?[ident]!./modules/tests-cases/composes-multiple/file1.css",
-    "._3hEvHUTrMHercKPgTBsK6W {
+    "._2yvVc8ldKIruPL1UnP7sZ2 {
   color: red;
 }
 ",
@@ -4922,7 +5588,7 @@ Array [
   ],
   Array [
     "../../src/index.js?[ident]!./modules/tests-cases/composes-multiple/file2.css",
-    "._1UYEX_kWsPgokwmdBHI8pU {
+    ".vCQloi3WRTK___Y-xY2Pp {
   color: blue;
 }
 ",
@@ -4930,7 +5596,7 @@ Array [
   ],
   Array [
     "./modules/tests-cases/composes-multiple/source.css",
-    "._1bAv4bLL8-hE3a7MyZXrT- {
+    "._iiR_tqijyI8mcO-r3Ohe {
 }
 ",
     "",
@@ -4944,19 +5610,19 @@ exports[`"modules" option should work with case \`composes-multiple\` (\`modules
 
 exports[`"modules" option should work with case \`composes-multiple\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../../../src/index.js??[ident]!./file2.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
-exports.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_1___ from \\"-!../../../../../src/index.js??[ident]!./file2.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._1bAv4bLL8-hE3a7MyZXrT- {\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._iiR_tqijyI8mcO-r3Ohe {\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"abc\\": \\"_1bAv4bLL8-hE3a7MyZXrT- \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def1\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def2\\"] + \\"\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"abc\\": \\"_iiR_tqijyI8mcO-r3Ohe \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def1\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def2\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -4964,7 +5630,7 @@ exports[`"modules" option should work with case \`composes-multiple\` (\`modules
 Array [
   Array [
     "../../src/index.js?[ident]!./modules/tests-cases/composes-multiple/file1.css",
-    "._3hEvHUTrMHercKPgTBsK6W {
+    "._2yvVc8ldKIruPL1UnP7sZ2 {
   color: red;
 }
 ",
@@ -4972,7 +5638,7 @@ Array [
   ],
   Array [
     "../../src/index.js?[ident]!./modules/tests-cases/composes-multiple/file2.css",
-    "._1UYEX_kWsPgokwmdBHI8pU {
+    ".vCQloi3WRTK___Y-xY2Pp {
   color: blue;
 }
 ",
@@ -4980,7 +5646,7 @@ Array [
   ],
   Array [
     "./modules/tests-cases/composes-multiple/source.css",
-    "._1bAv4bLL8-hE3a7MyZXrT- {
+    "._iiR_tqijyI8mcO-r3Ohe {
 }
 ",
     "",
@@ -4994,19 +5660,19 @@ exports[`"modules" option should work with case \`composes-multiple\` (\`modules
 
 exports[`"modules" option should work with case \`composes-multiple\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../../../src/index.js??[ident]!./file2.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
-exports.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_1___ from \\"-!../../../../../src/index.js??[ident]!./file2.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._abc {\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._abc {\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"abc\\": \\"_abc \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def1\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def2\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5044,19 +5710,19 @@ exports[`"modules" option should work with case \`composes-multiple\` (\`modules
 
 exports[`"modules" option should work with case \`composes-multiple\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../../../src/index.js??[ident]!./file2.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
-exports.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_1___ from \\"-!../../../../../src/index.js??[ident]!./file2.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._abc {\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._abc {\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"abc\\": \\"_abc \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def1\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def2\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5094,19 +5760,19 @@ exports[`"modules" option should work with case \`composes-multiple\` (\`modules
 
 exports[`"modules" option should work with case \`composes-multiple\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../../../src/index.js??[ident]!./file2.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
-exports.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_1___ from \\"-!../../../../../src/index.js??[ident]!./file2.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._1bAv4bLL8-hE3a7MyZXrT- {\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._iiR_tqijyI8mcO-r3Ohe {\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"abc\\": \\"_1bAv4bLL8-hE3a7MyZXrT- \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def1\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def2\\"] + \\"\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"abc\\": \\"_iiR_tqijyI8mcO-r3Ohe \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def1\\"] + \\" \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def2\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5114,7 +5780,7 @@ exports[`"modules" option should work with case \`composes-multiple\` (\`modules
 Array [
   Array [
     "../../src/index.js?[ident]!./modules/tests-cases/composes-multiple/file1.css",
-    "._3hEvHUTrMHercKPgTBsK6W {
+    "._2yvVc8ldKIruPL1UnP7sZ2 {
   color: red;
 }
 ",
@@ -5122,7 +5788,7 @@ Array [
   ],
   Array [
     "../../src/index.js?[ident]!./modules/tests-cases/composes-multiple/file2.css",
-    "._1UYEX_kWsPgokwmdBHI8pU {
+    ".vCQloi3WRTK___Y-xY2Pp {
   color: blue;
 }
 ",
@@ -5130,7 +5796,7 @@ Array [
   ],
   Array [
     "./modules/tests-cases/composes-multiple/source.css",
-    "._1bAv4bLL8-hE3a7MyZXrT- {
+    "._iiR_tqijyI8mcO-r3Ohe {
 }
 ",
     "",
@@ -5144,12 +5810,12 @@ exports[`"modules" option should work with case \`composes-with-importing\` (\`m
 
 exports[`"modules" option should work with case \`composes-with-importing\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\":local(.abc) {\\\\n  composes: def from \\\\\\"./file.css\\\\\\";\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\":local(.abc) {\\\\n  composes: def from \\\\\\"./file.css\\\\\\";\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5172,17 +5838,17 @@ exports[`"modules" option should work with case \`composes-with-importing\` (\`m
 
 exports[`"modules" option should work with case \`composes-with-importing\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._3sT-Lzs6aj6TM9J3mM7_Cj {\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2Qb9qhAk65z7gYDqmpe4vH {\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"abc\\": \\"_3sT-Lzs6aj6TM9J3mM7_Cj \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"abc\\": \\"_2Qb9qhAk65z7gYDqmpe4vH \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5190,7 +5856,7 @@ exports[`"modules" option should work with case \`composes-with-importing\` (\`m
 Array [
   Array [
     "../../src/index.js?[ident]!./modules/tests-cases/composes-with-importing/file.css",
-    ".zu3DT3PNuTYdVravHX310 {
+    "._1poPm3GtzgzcMTbEPyiRPA {
   color: red;
 }
 ",
@@ -5198,7 +5864,7 @@ Array [
   ],
   Array [
     "./modules/tests-cases/composes-with-importing/source.css",
-    "._3sT-Lzs6aj6TM9J3mM7_Cj {
+    "._2Qb9qhAk65z7gYDqmpe4vH {
 }
 ",
     "",
@@ -5212,17 +5878,17 @@ exports[`"modules" option should work with case \`composes-with-importing\` (\`m
 
 exports[`"modules" option should work with case \`composes-with-importing\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._3sT-Lzs6aj6TM9J3mM7_Cj {\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2Qb9qhAk65z7gYDqmpe4vH {\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"abc\\": \\"_3sT-Lzs6aj6TM9J3mM7_Cj \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"abc\\": \\"_2Qb9qhAk65z7gYDqmpe4vH \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5230,7 +5896,7 @@ exports[`"modules" option should work with case \`composes-with-importing\` (\`m
 Array [
   Array [
     "../../src/index.js?[ident]!./modules/tests-cases/composes-with-importing/file.css",
-    ".zu3DT3PNuTYdVravHX310 {
+    "._1poPm3GtzgzcMTbEPyiRPA {
   color: red;
 }
 ",
@@ -5238,7 +5904,7 @@ Array [
   ],
   Array [
     "./modules/tests-cases/composes-with-importing/source.css",
-    "._3sT-Lzs6aj6TM9J3mM7_Cj {
+    "._2Qb9qhAk65z7gYDqmpe4vH {
 }
 ",
     "",
@@ -5252,17 +5918,17 @@ exports[`"modules" option should work with case \`composes-with-importing\` (\`m
 
 exports[`"modules" option should work with case \`composes-with-importing\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._abc {\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._abc {\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"abc\\": \\"_abc \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5292,17 +5958,17 @@ exports[`"modules" option should work with case \`composes-with-importing\` (\`m
 
 exports[`"modules" option should work with case \`composes-with-importing\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._abc {\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._abc {\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"abc\\": \\"_abc \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5332,17 +5998,17 @@ exports[`"modules" option should work with case \`composes-with-importing\` (\`m
 
 exports[`"modules" option should work with case \`composes-with-importing\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._3sT-Lzs6aj6TM9J3mM7_Cj {\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2Qb9qhAk65z7gYDqmpe4vH {\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"abc\\": \\"_3sT-Lzs6aj6TM9J3mM7_Cj \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"abc\\": \\"_2Qb9qhAk65z7gYDqmpe4vH \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5350,7 +6016,7 @@ exports[`"modules" option should work with case \`composes-with-importing\` (\`m
 Array [
   Array [
     "../../src/index.js?[ident]!./modules/tests-cases/composes-with-importing/file.css",
-    ".zu3DT3PNuTYdVravHX310 {
+    "._1poPm3GtzgzcMTbEPyiRPA {
   color: red;
 }
 ",
@@ -5358,7 +6024,7 @@ Array [
   ],
   Array [
     "./modules/tests-cases/composes-with-importing/source.css",
-    "._3sT-Lzs6aj6TM9J3mM7_Cj {
+    "._2Qb9qhAk65z7gYDqmpe4vH {
 }
 ",
     "",
@@ -5372,12 +6038,12 @@ exports[`"modules" option should work with case \`declaration-value\` (\`modules
 
 exports[`"modules" option should work with case \`declaration-value\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"@value blue: red;\\\\n\\\\n.a {\\\\n  border: 1px solid blue;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@value blue: red;\\\\n\\\\n.a {\\\\n  border: 1px solid blue;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5402,15 +6068,15 @@ exports[`"modules" option should work with case \`declaration-value\` (\`modules
 
 exports[`"modules" option should work with case \`declaration-value\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".a {\\\\n  border: 1px solid red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".a {\\\\n  border: 1px solid red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"blue\\": \\"red\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5433,16 +6099,16 @@ exports[`"modules" option should work with case \`declaration-value\` (\`modules
 
 exports[`"modules" option should work with case \`declaration-value\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".rUmYXW8EUSiAHIrtvLLrL {\\\\n  border: 1px solid red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2iec4wJBXGAypMLmMMVs2d {\\\\n  border: 1px solid red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"blue\\": \\"red\\",
-	\\"a\\": \\"rUmYXW8EUSiAHIrtvLLrL\\"
+	\\"a\\": \\"_2iec4wJBXGAypMLmMMVs2d\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5450,7 +6116,7 @@ exports[`"modules" option should work with case \`declaration-value\` (\`modules
 Array [
   Array [
     "./modules/tests-cases/declaration-value/source.css",
-    ".rUmYXW8EUSiAHIrtvLLrL {
+    "._2iec4wJBXGAypMLmMMVs2d {
   border: 1px solid red;
 }
 ",
@@ -5465,15 +6131,15 @@ exports[`"modules" option should work with case \`declaration-value\` (\`modules
 
 exports[`"modules" option should work with case \`declaration-value\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".a {\\\\n  border: 1px solid red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".a {\\\\n  border: 1px solid red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"blue\\": \\"red\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5496,16 +6162,16 @@ exports[`"modules" option should work with case \`declaration-value\` (\`modules
 
 exports[`"modules" option should work with case \`declaration-value\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._a {\\\\n  border: 1px solid red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._a {\\\\n  border: 1px solid red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"blue\\": \\"red\\",
 	\\"a\\": \\"_a\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5528,16 +6194,16 @@ exports[`"modules" option should work with case \`declaration-value\` (\`modules
 
 exports[`"modules" option should work with case \`declaration-value\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".rUmYXW8EUSiAHIrtvLLrL {\\\\n  border: 1px solid red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2iec4wJBXGAypMLmMMVs2d {\\\\n  border: 1px solid red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"blue\\": \\"red\\",
-	\\"a\\": \\"rUmYXW8EUSiAHIrtvLLrL\\"
+	\\"a\\": \\"_2iec4wJBXGAypMLmMMVs2d\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5545,7 +6211,7 @@ exports[`"modules" option should work with case \`declaration-value\` (\`modules
 Array [
   Array [
     "./modules/tests-cases/declaration-value/source.css",
-    ".rUmYXW8EUSiAHIrtvLLrL {
+    "._2iec4wJBXGAypMLmMMVs2d {
   border: 1px solid red;
 }
 ",
@@ -5560,15 +6226,15 @@ exports[`"modules" option should work with case \`issue-589\` (\`modules\` value
 
 exports[`"modules" option should work with case \`issue-589\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"!!file-loader?esModule=false!./img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"!!file-loader?esModule=false!./img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"body:before {\\\\n  content: '';\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"body:before {\\\\n  content: '';\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5592,15 +6258,15 @@ exports[`"modules" option should work with case \`issue-589\` (\`modules\` value
 
 exports[`"modules" option should work with case \`issue-589\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"!!file-loader?esModule=false!./img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"!!file-loader?esModule=false!./img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"body:before {\\\\n  content: '';\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"body:before {\\\\n  content: '';\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5624,15 +6290,15 @@ exports[`"modules" option should work with case \`issue-589\` (\`modules\` value
 
 exports[`"modules" option should work with case \`issue-589\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"!!file-loader?esModule=false!./img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"!!file-loader?esModule=false!./img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"body:before {\\\\n  content: '';\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"body:before {\\\\n  content: '';\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5656,15 +6322,15 @@ exports[`"modules" option should work with case \`issue-589\` (\`modules\` value
 
 exports[`"modules" option should work with case \`issue-589\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"!!file-loader?esModule=false!./img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"!!file-loader?esModule=false!./img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"body:before {\\\\n  content: '';\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"body:before {\\\\n  content: '';\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5688,15 +6354,15 @@ exports[`"modules" option should work with case \`issue-589\` (\`modules\` value
 
 exports[`"modules" option should work with case \`issue-589\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"!!file-loader?esModule=false!./img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"!!file-loader?esModule=false!./img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"body:before {\\\\n  content: '';\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"body:before {\\\\n  content: '';\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5720,15 +6386,15 @@ exports[`"modules" option should work with case \`issue-589\` (\`modules\` value
 
 exports[`"modules" option should work with case \`issue-589\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"!!file-loader?esModule=false!./img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"!!file-loader?esModule=false!./img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 // Module
-exports.push([module.id, \\"body:before {\\\\n  content: '';\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"body:before {\\\\n  content: '';\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5752,12 +6418,12 @@ exports[`"modules" option should work with case \`keyframes-and-animation\` (\`m
 
 exports[`"modules" option should work with case \`keyframes-and-animation\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".a {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\\\n@keyframes bounce {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n@-webkit-keyframes bounce2 {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n.bounce {\\\\n\\\\tanimation-name: bounce;\\\\n\\\\tanimation: bounce2 1s ease;\\\\n}\\\\n\\\\n.bounce2 {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: bounce 1s ease;\\\\n\\\\tanimation-name: bounce2;\\\\n}\\\\n\\\\n.bounce3 {\\\\n\\\\tanimation: bounce 1s ease, bounce2\\\\n}\\\\n\\\\n.bounce4 {\\\\n\\\\tanimation: bounce 1s ease, bounce2;\\\\n}\\\\n\\\\n.b {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".a {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\\\n@keyframes bounce {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n@-webkit-keyframes bounce2 {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n.bounce {\\\\n\\\\tanimation-name: bounce;\\\\n\\\\tanimation: bounce2 1s ease;\\\\n}\\\\n\\\\n.bounce2 {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: bounce 1s ease;\\\\n\\\\tanimation-name: bounce2;\\\\n}\\\\n\\\\n.bounce3 {\\\\n\\\\tanimation: bounce 1s ease, bounce2\\\\n}\\\\n\\\\n.bounce4 {\\\\n\\\\tanimation: bounce 1s ease, bounce2;\\\\n}\\\\n\\\\n.b {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5825,12 +6491,12 @@ exports[`"modules" option should work with case \`keyframes-and-animation\` (\`m
 
 exports[`"modules" option should work with case \`keyframes-and-animation\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".a {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\\\n@keyframes bounce {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n@-webkit-keyframes bounce2 {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n.bounce {\\\\n\\\\tanimation-name: bounce;\\\\n\\\\tanimation: bounce2 1s ease;\\\\n}\\\\n\\\\n.bounce2 {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: bounce 1s ease;\\\\n\\\\tanimation-name: bounce2;\\\\n}\\\\n\\\\n.bounce3 {\\\\n\\\\tanimation: bounce 1s ease, bounce2\\\\n}\\\\n\\\\n.bounce4 {\\\\n\\\\tanimation: bounce 1s ease, bounce2;\\\\n}\\\\n\\\\n.b {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".a {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\\\n@keyframes bounce {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n@-webkit-keyframes bounce2 {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n.bounce {\\\\n\\\\tanimation-name: bounce;\\\\n\\\\tanimation: bounce2 1s ease;\\\\n}\\\\n\\\\n.bounce2 {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: bounce 1s ease;\\\\n\\\\tanimation-name: bounce2;\\\\n}\\\\n\\\\n.bounce3 {\\\\n\\\\tanimation: bounce 1s ease, bounce2\\\\n}\\\\n\\\\n.bounce4 {\\\\n\\\\tanimation: bounce 1s ease, bounce2;\\\\n}\\\\n\\\\n.b {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5898,20 +6564,20 @@ exports[`"modules" option should work with case \`keyframes-and-animation\` (\`m
 
 exports[`"modules" option should work with case \`keyframes-and-animation\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1AzRoWem1zBzZ9hLlF5IJC {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\\\n@keyframes _355y8MvF-ilfLoMa6xQMuq {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n@-webkit-keyframes _20oF72x8NQuWNrNLEjvczE {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n._355y8MvF-ilfLoMa6xQMuq {\\\\n\\\\tanimation-name: _355y8MvF-ilfLoMa6xQMuq;\\\\n\\\\tanimation: _20oF72x8NQuWNrNLEjvczE 1s ease;\\\\n}\\\\n\\\\n._20oF72x8NQuWNrNLEjvczE {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: _355y8MvF-ilfLoMa6xQMuq 1s ease;\\\\n\\\\tanimation-name: _20oF72x8NQuWNrNLEjvczE;\\\\n}\\\\n\\\\n._3OQHSo2d42CWSR-npTXaic {\\\\n\\\\tanimation: _355y8MvF-ilfLoMa6xQMuq 1s ease, _20oF72x8NQuWNrNLEjvczE\\\\n}\\\\n\\\\n._3bL1lmhMKE-Qlk83VSMCHN {\\\\n\\\\tanimation: _355y8MvF-ilfLoMa6xQMuq 1s ease, _20oF72x8NQuWNrNLEjvczE;\\\\n}\\\\n\\\\n._1eH5GHM6EfKYOklEd2mhle {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".bUmK7oTbisTpMb3iGG-dZ {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\\\n@keyframes _3UQT2Nv7rG6BoAVsqEclLi {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n@-webkit-keyframes _3bNWfw4NMr2M5tnE7KaoaM {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n._3UQT2Nv7rG6BoAVsqEclLi {\\\\n\\\\tanimation-name: _3UQT2Nv7rG6BoAVsqEclLi;\\\\n\\\\tanimation: _3bNWfw4NMr2M5tnE7KaoaM 1s ease;\\\\n}\\\\n\\\\n._3bNWfw4NMr2M5tnE7KaoaM {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: _3UQT2Nv7rG6BoAVsqEclLi 1s ease;\\\\n\\\\tanimation-name: _3bNWfw4NMr2M5tnE7KaoaM;\\\\n}\\\\n\\\\n._1mKEStxLW56tP5VRye6PQV {\\\\n\\\\tanimation: _3UQT2Nv7rG6BoAVsqEclLi 1s ease, _3bNWfw4NMr2M5tnE7KaoaM\\\\n}\\\\n\\\\n.HgBPuxjveHA4InDCtk7qD {\\\\n\\\\tanimation: _3UQT2Nv7rG6BoAVsqEclLi 1s ease, _3bNWfw4NMr2M5tnE7KaoaM;\\\\n}\\\\n\\\\n._3YU5L5hA-seIR1nSwrmDNO {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"a\\": \\"_1AzRoWem1zBzZ9hLlF5IJC\\",
-	\\"bounce\\": \\"_355y8MvF-ilfLoMa6xQMuq\\",
-	\\"bounce2\\": \\"_20oF72x8NQuWNrNLEjvczE\\",
-	\\"bounce3\\": \\"_3OQHSo2d42CWSR-npTXaic\\",
-	\\"bounce4\\": \\"_3bL1lmhMKE-Qlk83VSMCHN\\",
-	\\"b\\": \\"_1eH5GHM6EfKYOklEd2mhle\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"a\\": \\"bUmK7oTbisTpMb3iGG-dZ\\",
+	\\"bounce\\": \\"_3UQT2Nv7rG6BoAVsqEclLi\\",
+	\\"bounce2\\": \\"_3bNWfw4NMr2M5tnE7KaoaM\\",
+	\\"bounce3\\": \\"_1mKEStxLW56tP5VRye6PQV\\",
+	\\"bounce4\\": \\"HgBPuxjveHA4InDCtk7qD\\",
+	\\"b\\": \\"_3YU5L5hA-seIR1nSwrmDNO\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -5919,11 +6585,11 @@ exports[`"modules" option should work with case \`keyframes-and-animation\` (\`m
 Array [
   Array [
     "./modules/tests-cases/keyframes-and-animation/source.css",
-    "._1AzRoWem1zBzZ9hLlF5IJC {
+    ".bUmK7oTbisTpMb3iGG-dZ {
 	color: green;
 }
 
-@keyframes _355y8MvF-ilfLoMa6xQMuq {
+@keyframes _3UQT2Nv7rG6BoAVsqEclLi {
 	0% {
 		transform: translateY(-100%);
 		opacity: 0;
@@ -5934,7 +6600,7 @@ Array [
 	}
 }
 
-@-webkit-keyframes _20oF72x8NQuWNrNLEjvczE {
+@-webkit-keyframes _3bNWfw4NMr2M5tnE7KaoaM {
 	0% {
 		transform: translateY(-100%);
 		opacity: 0;
@@ -5945,26 +6611,26 @@ Array [
 	}
 }
 
-._355y8MvF-ilfLoMa6xQMuq {
-	animation-name: _355y8MvF-ilfLoMa6xQMuq;
-	animation: _20oF72x8NQuWNrNLEjvczE 1s ease;
+._3UQT2Nv7rG6BoAVsqEclLi {
+	animation-name: _3UQT2Nv7rG6BoAVsqEclLi;
+	animation: _3bNWfw4NMr2M5tnE7KaoaM 1s ease;
 }
 
-._20oF72x8NQuWNrNLEjvczE {
+._3bNWfw4NMr2M5tnE7KaoaM {
 	color: green;
-	animation: _355y8MvF-ilfLoMa6xQMuq 1s ease;
-	animation-name: _20oF72x8NQuWNrNLEjvczE;
+	animation: _3UQT2Nv7rG6BoAVsqEclLi 1s ease;
+	animation-name: _3bNWfw4NMr2M5tnE7KaoaM;
 }
 
-._3OQHSo2d42CWSR-npTXaic {
-	animation: _355y8MvF-ilfLoMa6xQMuq 1s ease, _20oF72x8NQuWNrNLEjvczE
+._1mKEStxLW56tP5VRye6PQV {
+	animation: _3UQT2Nv7rG6BoAVsqEclLi 1s ease, _3bNWfw4NMr2M5tnE7KaoaM
 }
 
-._3bL1lmhMKE-Qlk83VSMCHN {
-	animation: _355y8MvF-ilfLoMa6xQMuq 1s ease, _20oF72x8NQuWNrNLEjvczE;
+.HgBPuxjveHA4InDCtk7qD {
+	animation: _3UQT2Nv7rG6BoAVsqEclLi 1s ease, _3bNWfw4NMr2M5tnE7KaoaM;
 }
 
-._1eH5GHM6EfKYOklEd2mhle {
+._3YU5L5hA-seIR1nSwrmDNO {
 	color: green;
 }
 ",
@@ -5979,12 +6645,12 @@ exports[`"modules" option should work with case \`keyframes-and-animation\` (\`m
 
 exports[`"modules" option should work with case \`keyframes-and-animation\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".a {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\\\n@keyframes bounce {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n@-webkit-keyframes bounce2 {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n.bounce {\\\\n\\\\tanimation-name: bounce;\\\\n\\\\tanimation: bounce2 1s ease;\\\\n}\\\\n\\\\n.bounce2 {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: bounce 1s ease;\\\\n\\\\tanimation-name: bounce2;\\\\n}\\\\n\\\\n.bounce3 {\\\\n\\\\tanimation: bounce 1s ease, bounce2\\\\n}\\\\n\\\\n.bounce4 {\\\\n\\\\tanimation: bounce 1s ease, bounce2;\\\\n}\\\\n\\\\n.b {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".a {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\\\n@keyframes bounce {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n@-webkit-keyframes bounce2 {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n.bounce {\\\\n\\\\tanimation-name: bounce;\\\\n\\\\tanimation: bounce2 1s ease;\\\\n}\\\\n\\\\n.bounce2 {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: bounce 1s ease;\\\\n\\\\tanimation-name: bounce2;\\\\n}\\\\n\\\\n.bounce3 {\\\\n\\\\tanimation: bounce 1s ease, bounce2\\\\n}\\\\n\\\\n.bounce4 {\\\\n\\\\tanimation: bounce 1s ease, bounce2;\\\\n}\\\\n\\\\n.b {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -6052,12 +6718,12 @@ exports[`"modules" option should work with case \`keyframes-and-animation\` (\`m
 
 exports[`"modules" option should work with case \`keyframes-and-animation\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._a {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\\\n@keyframes _bounce {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n@-webkit-keyframes _bounce2 {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n._bounce {\\\\n\\\\tanimation-name: _bounce;\\\\n\\\\tanimation: _bounce2 1s ease;\\\\n}\\\\n\\\\n._bounce2 {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: _bounce 1s ease;\\\\n\\\\tanimation-name: _bounce2;\\\\n}\\\\n\\\\n._bounce3 {\\\\n\\\\tanimation: _bounce 1s ease, _bounce2\\\\n}\\\\n\\\\n._bounce4 {\\\\n\\\\tanimation: _bounce 1s ease, _bounce2;\\\\n}\\\\n\\\\n._b {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._a {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\\\n@keyframes _bounce {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n@-webkit-keyframes _bounce2 {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n._bounce {\\\\n\\\\tanimation-name: _bounce;\\\\n\\\\tanimation: _bounce2 1s ease;\\\\n}\\\\n\\\\n._bounce2 {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: _bounce 1s ease;\\\\n\\\\tanimation-name: _bounce2;\\\\n}\\\\n\\\\n._bounce3 {\\\\n\\\\tanimation: _bounce 1s ease, _bounce2\\\\n}\\\\n\\\\n._bounce4 {\\\\n\\\\tanimation: _bounce 1s ease, _bounce2;\\\\n}\\\\n\\\\n._b {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"a\\": \\"_a\\",
 	\\"bounce\\": \\"_bounce\\",
 	\\"bounce2\\": \\"_bounce2\\",
@@ -6065,7 +6731,7 @@ exports.locals = {
 	\\"bounce4\\": \\"_bounce4\\",
 	\\"b\\": \\"_b\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -6133,20 +6799,20 @@ exports[`"modules" option should work with case \`keyframes-and-animation\` (\`m
 
 exports[`"modules" option should work with case \`keyframes-and-animation\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1AzRoWem1zBzZ9hLlF5IJC {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\\\n@keyframes _355y8MvF-ilfLoMa6xQMuq {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n@-webkit-keyframes _20oF72x8NQuWNrNLEjvczE {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n._355y8MvF-ilfLoMa6xQMuq {\\\\n\\\\tanimation-name: _355y8MvF-ilfLoMa6xQMuq;\\\\n\\\\tanimation: _20oF72x8NQuWNrNLEjvczE 1s ease;\\\\n}\\\\n\\\\n._20oF72x8NQuWNrNLEjvczE {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: _355y8MvF-ilfLoMa6xQMuq 1s ease;\\\\n\\\\tanimation-name: _20oF72x8NQuWNrNLEjvczE;\\\\n}\\\\n\\\\n._3OQHSo2d42CWSR-npTXaic {\\\\n\\\\tanimation: _355y8MvF-ilfLoMa6xQMuq 1s ease, _20oF72x8NQuWNrNLEjvczE\\\\n}\\\\n\\\\n._3bL1lmhMKE-Qlk83VSMCHN {\\\\n\\\\tanimation: _355y8MvF-ilfLoMa6xQMuq 1s ease, _20oF72x8NQuWNrNLEjvczE;\\\\n}\\\\n\\\\n._1eH5GHM6EfKYOklEd2mhle {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".bUmK7oTbisTpMb3iGG-dZ {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\\\n@keyframes _3UQT2Nv7rG6BoAVsqEclLi {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n@-webkit-keyframes _3bNWfw4NMr2M5tnE7KaoaM {\\\\n\\\\t0% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n\\\\t5% {\\\\n\\\\t\\\\ttransform: translateY(-100%);\\\\n\\\\t\\\\topacity: 0;\\\\n\\\\t}\\\\n}\\\\n\\\\n._3UQT2Nv7rG6BoAVsqEclLi {\\\\n\\\\tanimation-name: _3UQT2Nv7rG6BoAVsqEclLi;\\\\n\\\\tanimation: _3bNWfw4NMr2M5tnE7KaoaM 1s ease;\\\\n}\\\\n\\\\n._3bNWfw4NMr2M5tnE7KaoaM {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: _3UQT2Nv7rG6BoAVsqEclLi 1s ease;\\\\n\\\\tanimation-name: _3bNWfw4NMr2M5tnE7KaoaM;\\\\n}\\\\n\\\\n._1mKEStxLW56tP5VRye6PQV {\\\\n\\\\tanimation: _3UQT2Nv7rG6BoAVsqEclLi 1s ease, _3bNWfw4NMr2M5tnE7KaoaM\\\\n}\\\\n\\\\n.HgBPuxjveHA4InDCtk7qD {\\\\n\\\\tanimation: _3UQT2Nv7rG6BoAVsqEclLi 1s ease, _3bNWfw4NMr2M5tnE7KaoaM;\\\\n}\\\\n\\\\n._3YU5L5hA-seIR1nSwrmDNO {\\\\n\\\\tcolor: green;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"a\\": \\"_1AzRoWem1zBzZ9hLlF5IJC\\",
-	\\"bounce\\": \\"_355y8MvF-ilfLoMa6xQMuq\\",
-	\\"bounce2\\": \\"_20oF72x8NQuWNrNLEjvczE\\",
-	\\"bounce3\\": \\"_3OQHSo2d42CWSR-npTXaic\\",
-	\\"bounce4\\": \\"_3bL1lmhMKE-Qlk83VSMCHN\\",
-	\\"b\\": \\"_1eH5GHM6EfKYOklEd2mhle\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"a\\": \\"bUmK7oTbisTpMb3iGG-dZ\\",
+	\\"bounce\\": \\"_3UQT2Nv7rG6BoAVsqEclLi\\",
+	\\"bounce2\\": \\"_3bNWfw4NMr2M5tnE7KaoaM\\",
+	\\"bounce3\\": \\"_1mKEStxLW56tP5VRye6PQV\\",
+	\\"bounce4\\": \\"HgBPuxjveHA4InDCtk7qD\\",
+	\\"b\\": \\"_3YU5L5hA-seIR1nSwrmDNO\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -6154,11 +6820,11 @@ exports[`"modules" option should work with case \`keyframes-and-animation\` (\`m
 Array [
   Array [
     "./modules/tests-cases/keyframes-and-animation/source.css",
-    "._1AzRoWem1zBzZ9hLlF5IJC {
+    ".bUmK7oTbisTpMb3iGG-dZ {
 	color: green;
 }
 
-@keyframes _355y8MvF-ilfLoMa6xQMuq {
+@keyframes _3UQT2Nv7rG6BoAVsqEclLi {
 	0% {
 		transform: translateY(-100%);
 		opacity: 0;
@@ -6169,7 +6835,7 @@ Array [
 	}
 }
 
-@-webkit-keyframes _20oF72x8NQuWNrNLEjvczE {
+@-webkit-keyframes _3bNWfw4NMr2M5tnE7KaoaM {
 	0% {
 		transform: translateY(-100%);
 		opacity: 0;
@@ -6180,26 +6846,26 @@ Array [
 	}
 }
 
-._355y8MvF-ilfLoMa6xQMuq {
-	animation-name: _355y8MvF-ilfLoMa6xQMuq;
-	animation: _20oF72x8NQuWNrNLEjvczE 1s ease;
+._3UQT2Nv7rG6BoAVsqEclLi {
+	animation-name: _3UQT2Nv7rG6BoAVsqEclLi;
+	animation: _3bNWfw4NMr2M5tnE7KaoaM 1s ease;
 }
 
-._20oF72x8NQuWNrNLEjvczE {
+._3bNWfw4NMr2M5tnE7KaoaM {
 	color: green;
-	animation: _355y8MvF-ilfLoMa6xQMuq 1s ease;
-	animation-name: _20oF72x8NQuWNrNLEjvczE;
+	animation: _3UQT2Nv7rG6BoAVsqEclLi 1s ease;
+	animation-name: _3bNWfw4NMr2M5tnE7KaoaM;
 }
 
-._3OQHSo2d42CWSR-npTXaic {
-	animation: _355y8MvF-ilfLoMa6xQMuq 1s ease, _20oF72x8NQuWNrNLEjvczE
+._1mKEStxLW56tP5VRye6PQV {
+	animation: _3UQT2Nv7rG6BoAVsqEclLi 1s ease, _3bNWfw4NMr2M5tnE7KaoaM
 }
 
-._3bL1lmhMKE-Qlk83VSMCHN {
-	animation: _355y8MvF-ilfLoMa6xQMuq 1s ease, _20oF72x8NQuWNrNLEjvczE;
+.HgBPuxjveHA4InDCtk7qD {
+	animation: _3UQT2Nv7rG6BoAVsqEclLi 1s ease, _3bNWfw4NMr2M5tnE7KaoaM;
 }
 
-._1eH5GHM6EfKYOklEd2mhle {
+._3YU5L5hA-seIR1nSwrmDNO {
 	color: green;
 }
 ",
@@ -6214,12 +6880,12 @@ exports[`"modules" option should work with case \`leak-scope\` (\`modules\` valu
 
 exports[`"modules" option should work with case \`leak-scope\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".a {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: a;\\\\n}\\\\n\\\\n@keyframes b {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.b {\\\\n\\\\tanimation: b;\\\\n}\\\\n\\\\n@keyframes :global(c) {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.c {\\\\n\\\\tanimation: c1;\\\\n\\\\tanimation: c2, c3, c4;\\\\n}\\\\n\\\\n@keyframes :global(d) {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n:global .d1 {\\\\n\\\\tanimation: d1;\\\\n\\\\tanimation: d2, d3, d4;\\\\n}\\\\n\\\\n:global(.d2) {\\\\n\\\\tanimation: d2;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".a {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: a;\\\\n}\\\\n\\\\n@keyframes b {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.b {\\\\n\\\\tanimation: b;\\\\n}\\\\n\\\\n@keyframes :global(c) {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.c {\\\\n\\\\tanimation: c1;\\\\n\\\\tanimation: c2, c3, c4;\\\\n}\\\\n\\\\n@keyframes :global(d) {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n:global .d1 {\\\\n\\\\tanimation: d1;\\\\n\\\\tanimation: d2, d3, d4;\\\\n}\\\\n\\\\n:global(.d2) {\\\\n\\\\tanimation: d2;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -6276,12 +6942,12 @@ exports[`"modules" option should work with case \`leak-scope\` (\`modules\` valu
 
 exports[`"modules" option should work with case \`leak-scope\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".a {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: a;\\\\n}\\\\n\\\\n@keyframes b {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.b {\\\\n\\\\tanimation: b;\\\\n}\\\\n\\\\n@keyframes c {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.c {\\\\n\\\\tanimation: c1;\\\\n\\\\tanimation: c2, c3, c4;\\\\n}\\\\n\\\\n@keyframes d {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.d1 {\\\\n\\\\tanimation: d1;\\\\n\\\\tanimation: d2, d3, d4;\\\\n}\\\\n\\\\n.d2 {\\\\n\\\\tanimation: d2;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".a {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: a;\\\\n}\\\\n\\\\n@keyframes b {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.b {\\\\n\\\\tanimation: b;\\\\n}\\\\n\\\\n@keyframes c {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.c {\\\\n\\\\tanimation: c1;\\\\n\\\\tanimation: c2, c3, c4;\\\\n}\\\\n\\\\n@keyframes d {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.d1 {\\\\n\\\\tanimation: d1;\\\\n\\\\tanimation: d2, d3, d4;\\\\n}\\\\n\\\\n.d2 {\\\\n\\\\tanimation: d2;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -6338,22 +7004,22 @@ exports[`"modules" option should work with case \`leak-scope\` (\`modules\` valu
 
 exports[`"modules" option should work with case \`leak-scope\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1OjK2G7L6Ypn9Qqa8lly-H {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: _1OjK2G7L6Ypn9Qqa8lly-H;\\\\n}\\\\n\\\\n@keyframes _2cTRWn5QG4xtPeFL2wrKvv {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n._2cTRWn5QG4xtPeFL2wrKvv {\\\\n\\\\tanimation: _2cTRWn5QG4xtPeFL2wrKvv;\\\\n}\\\\n\\\\n@keyframes c {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n._3MHGI9_Tl4A_kJUxXx1q2j {\\\\n\\\\tanimation: _1PQ8UpcdVbFbAcYs6wdRXj;\\\\n\\\\tanimation: _3JhTjOsNov-pQXnd3o0JJ, _9skQ6KRXi6qCorV5zNSyV, _1Gh6Pqr28qXCExbnssOGX9;\\\\n}\\\\n\\\\n@keyframes d {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.d1 {\\\\n\\\\tanimation: d1;\\\\n\\\\tanimation: d2, d3, d4;\\\\n}\\\\n\\\\n.d2 {\\\\n\\\\tanimation: _35GAwk8Rb2LyIN0pSAXjyy;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2zFrdZe66KrGBT78h41dOm {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: _2zFrdZe66KrGBT78h41dOm;\\\\n}\\\\n\\\\n@keyframes _1m_EC2XYXeazot_zCdA36t {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n._1m_EC2XYXeazot_zCdA36t {\\\\n\\\\tanimation: _1m_EC2XYXeazot_zCdA36t;\\\\n}\\\\n\\\\n@keyframes c {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n._3oH9DQJazfpG005Sh9aGkQ {\\\\n\\\\tanimation: nww09C9mEAhqcOUYF6rha;\\\\n\\\\tanimation: _1KFID5rBdQ1zoTcXE0MDJu, Kb9jLFrSf4mllvTWZXwOP, _3ACxrrFjDb1l0z2IVcusvQ;\\\\n}\\\\n\\\\n@keyframes d {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.d1 {\\\\n\\\\tanimation: d1;\\\\n\\\\tanimation: d2, d3, d4;\\\\n}\\\\n\\\\n.d2 {\\\\n\\\\tanimation: _3UMfC66OcV3y4QQFvTZ-WT;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"a\\": \\"_1OjK2G7L6Ypn9Qqa8lly-H\\",
-	\\"b\\": \\"_2cTRWn5QG4xtPeFL2wrKvv\\",
-	\\"c\\": \\"_3MHGI9_Tl4A_kJUxXx1q2j\\",
-	\\"c1\\": \\"_1PQ8UpcdVbFbAcYs6wdRXj\\",
-	\\"c2\\": \\"_3JhTjOsNov-pQXnd3o0JJ\\",
-	\\"c3\\": \\"_9skQ6KRXi6qCorV5zNSyV\\",
-	\\"c4\\": \\"_1Gh6Pqr28qXCExbnssOGX9\\",
-	\\"d2\\": \\"_35GAwk8Rb2LyIN0pSAXjyy\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"a\\": \\"_2zFrdZe66KrGBT78h41dOm\\",
+	\\"b\\": \\"_1m_EC2XYXeazot_zCdA36t\\",
+	\\"c\\": \\"_3oH9DQJazfpG005Sh9aGkQ\\",
+	\\"c1\\": \\"nww09C9mEAhqcOUYF6rha\\",
+	\\"c2\\": \\"_1KFID5rBdQ1zoTcXE0MDJu\\",
+	\\"c3\\": \\"Kb9jLFrSf4mllvTWZXwOP\\",
+	\\"c4\\": \\"_3ACxrrFjDb1l0z2IVcusvQ\\",
+	\\"d2\\": \\"_3UMfC66OcV3y4QQFvTZ-WT\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -6361,18 +7027,18 @@ exports[`"modules" option should work with case \`leak-scope\` (\`modules\` valu
 Array [
   Array [
     "./modules/tests-cases/leak-scope/source.css",
-    "._1OjK2G7L6Ypn9Qqa8lly-H {
+    "._2zFrdZe66KrGBT78h41dOm {
 	color: green;
-	animation: _1OjK2G7L6Ypn9Qqa8lly-H;
+	animation: _2zFrdZe66KrGBT78h41dOm;
 }
 
-@keyframes _2cTRWn5QG4xtPeFL2wrKvv {
+@keyframes _1m_EC2XYXeazot_zCdA36t {
 	0% { left: 10px; }
 	100% { left: 20px; }
 }
 
-._2cTRWn5QG4xtPeFL2wrKvv {
-	animation: _2cTRWn5QG4xtPeFL2wrKvv;
+._1m_EC2XYXeazot_zCdA36t {
+	animation: _1m_EC2XYXeazot_zCdA36t;
 }
 
 @keyframes c {
@@ -6380,9 +7046,9 @@ Array [
 	100% { left: 20px; }
 }
 
-._3MHGI9_Tl4A_kJUxXx1q2j {
-	animation: _1PQ8UpcdVbFbAcYs6wdRXj;
-	animation: _3JhTjOsNov-pQXnd3o0JJ, _9skQ6KRXi6qCorV5zNSyV, _1Gh6Pqr28qXCExbnssOGX9;
+._3oH9DQJazfpG005Sh9aGkQ {
+	animation: nww09C9mEAhqcOUYF6rha;
+	animation: _1KFID5rBdQ1zoTcXE0MDJu, Kb9jLFrSf4mllvTWZXwOP, _3ACxrrFjDb1l0z2IVcusvQ;
 }
 
 @keyframes d {
@@ -6396,7 +7062,7 @@ Array [
 }
 
 .d2 {
-	animation: _35GAwk8Rb2LyIN0pSAXjyy;
+	animation: _3UMfC66OcV3y4QQFvTZ-WT;
 }
 ",
     "",
@@ -6410,12 +7076,12 @@ exports[`"modules" option should work with case \`leak-scope\` (\`modules\` valu
 
 exports[`"modules" option should work with case \`leak-scope\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".a {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: a;\\\\n}\\\\n\\\\n@keyframes b {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.b {\\\\n\\\\tanimation: b;\\\\n}\\\\n\\\\n@keyframes c {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.c {\\\\n\\\\tanimation: c1;\\\\n\\\\tanimation: c2, c3, c4;\\\\n}\\\\n\\\\n@keyframes d {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.d1 {\\\\n\\\\tanimation: d1;\\\\n\\\\tanimation: d2, d3, d4;\\\\n}\\\\n\\\\n.d2 {\\\\n\\\\tanimation: d2;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".a {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: a;\\\\n}\\\\n\\\\n@keyframes b {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.b {\\\\n\\\\tanimation: b;\\\\n}\\\\n\\\\n@keyframes c {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.c {\\\\n\\\\tanimation: c1;\\\\n\\\\tanimation: c2, c3, c4;\\\\n}\\\\n\\\\n@keyframes d {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.d1 {\\\\n\\\\tanimation: d1;\\\\n\\\\tanimation: d2, d3, d4;\\\\n}\\\\n\\\\n.d2 {\\\\n\\\\tanimation: d2;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -6472,12 +7138,12 @@ exports[`"modules" option should work with case \`leak-scope\` (\`modules\` valu
 
 exports[`"modules" option should work with case \`leak-scope\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._a {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: _a;\\\\n}\\\\n\\\\n@keyframes _b {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n._b {\\\\n\\\\tanimation: _b;\\\\n}\\\\n\\\\n@keyframes c {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n._c {\\\\n\\\\tanimation: _c1;\\\\n\\\\tanimation: _c2, _c3, _c4;\\\\n}\\\\n\\\\n@keyframes d {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.d1 {\\\\n\\\\tanimation: d1;\\\\n\\\\tanimation: d2, d3, d4;\\\\n}\\\\n\\\\n.d2 {\\\\n\\\\tanimation: _d2;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._a {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: _a;\\\\n}\\\\n\\\\n@keyframes _b {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n._b {\\\\n\\\\tanimation: _b;\\\\n}\\\\n\\\\n@keyframes c {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n._c {\\\\n\\\\tanimation: _c1;\\\\n\\\\tanimation: _c2, _c3, _c4;\\\\n}\\\\n\\\\n@keyframes d {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.d1 {\\\\n\\\\tanimation: d1;\\\\n\\\\tanimation: d2, d3, d4;\\\\n}\\\\n\\\\n.d2 {\\\\n\\\\tanimation: _d2;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"a\\": \\"_a\\",
 	\\"b\\": \\"_b\\",
 	\\"c\\": \\"_c\\",
@@ -6487,7 +7153,7 @@ exports.locals = {
 	\\"c4\\": \\"_c4\\",
 	\\"d2\\": \\"_d2\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -6544,22 +7210,22 @@ exports[`"modules" option should work with case \`leak-scope\` (\`modules\` valu
 
 exports[`"modules" option should work with case \`leak-scope\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1OjK2G7L6Ypn9Qqa8lly-H {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: _1OjK2G7L6Ypn9Qqa8lly-H;\\\\n}\\\\n\\\\n@keyframes _2cTRWn5QG4xtPeFL2wrKvv {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n._2cTRWn5QG4xtPeFL2wrKvv {\\\\n\\\\tanimation: _2cTRWn5QG4xtPeFL2wrKvv;\\\\n}\\\\n\\\\n@keyframes c {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n._3MHGI9_Tl4A_kJUxXx1q2j {\\\\n\\\\tanimation: _1PQ8UpcdVbFbAcYs6wdRXj;\\\\n\\\\tanimation: _3JhTjOsNov-pQXnd3o0JJ, _9skQ6KRXi6qCorV5zNSyV, _1Gh6Pqr28qXCExbnssOGX9;\\\\n}\\\\n\\\\n@keyframes d {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.d1 {\\\\n\\\\tanimation: d1;\\\\n\\\\tanimation: d2, d3, d4;\\\\n}\\\\n\\\\n.d2 {\\\\n\\\\tanimation: _35GAwk8Rb2LyIN0pSAXjyy;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2zFrdZe66KrGBT78h41dOm {\\\\n\\\\tcolor: green;\\\\n\\\\tanimation: _2zFrdZe66KrGBT78h41dOm;\\\\n}\\\\n\\\\n@keyframes _1m_EC2XYXeazot_zCdA36t {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n._1m_EC2XYXeazot_zCdA36t {\\\\n\\\\tanimation: _1m_EC2XYXeazot_zCdA36t;\\\\n}\\\\n\\\\n@keyframes c {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n._3oH9DQJazfpG005Sh9aGkQ {\\\\n\\\\tanimation: nww09C9mEAhqcOUYF6rha;\\\\n\\\\tanimation: _1KFID5rBdQ1zoTcXE0MDJu, Kb9jLFrSf4mllvTWZXwOP, _3ACxrrFjDb1l0z2IVcusvQ;\\\\n}\\\\n\\\\n@keyframes d {\\\\n\\\\t0% { left: 10px; }\\\\n\\\\t100% { left: 20px; }\\\\n}\\\\n\\\\n.d1 {\\\\n\\\\tanimation: d1;\\\\n\\\\tanimation: d2, d3, d4;\\\\n}\\\\n\\\\n.d2 {\\\\n\\\\tanimation: _3UMfC66OcV3y4QQFvTZ-WT;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"a\\": \\"_1OjK2G7L6Ypn9Qqa8lly-H\\",
-	\\"b\\": \\"_2cTRWn5QG4xtPeFL2wrKvv\\",
-	\\"c\\": \\"_3MHGI9_Tl4A_kJUxXx1q2j\\",
-	\\"c1\\": \\"_1PQ8UpcdVbFbAcYs6wdRXj\\",
-	\\"c2\\": \\"_3JhTjOsNov-pQXnd3o0JJ\\",
-	\\"c3\\": \\"_9skQ6KRXi6qCorV5zNSyV\\",
-	\\"c4\\": \\"_1Gh6Pqr28qXCExbnssOGX9\\",
-	\\"d2\\": \\"_35GAwk8Rb2LyIN0pSAXjyy\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"a\\": \\"_2zFrdZe66KrGBT78h41dOm\\",
+	\\"b\\": \\"_1m_EC2XYXeazot_zCdA36t\\",
+	\\"c\\": \\"_3oH9DQJazfpG005Sh9aGkQ\\",
+	\\"c1\\": \\"nww09C9mEAhqcOUYF6rha\\",
+	\\"c2\\": \\"_1KFID5rBdQ1zoTcXE0MDJu\\",
+	\\"c3\\": \\"Kb9jLFrSf4mllvTWZXwOP\\",
+	\\"c4\\": \\"_3ACxrrFjDb1l0z2IVcusvQ\\",
+	\\"d2\\": \\"_3UMfC66OcV3y4QQFvTZ-WT\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -6567,18 +7233,18 @@ exports[`"modules" option should work with case \`leak-scope\` (\`modules\` valu
 Array [
   Array [
     "./modules/tests-cases/leak-scope/source.css",
-    "._1OjK2G7L6Ypn9Qqa8lly-H {
+    "._2zFrdZe66KrGBT78h41dOm {
 	color: green;
-	animation: _1OjK2G7L6Ypn9Qqa8lly-H;
+	animation: _2zFrdZe66KrGBT78h41dOm;
 }
 
-@keyframes _2cTRWn5QG4xtPeFL2wrKvv {
+@keyframes _1m_EC2XYXeazot_zCdA36t {
 	0% { left: 10px; }
 	100% { left: 20px; }
 }
 
-._2cTRWn5QG4xtPeFL2wrKvv {
-	animation: _2cTRWn5QG4xtPeFL2wrKvv;
+._1m_EC2XYXeazot_zCdA36t {
+	animation: _1m_EC2XYXeazot_zCdA36t;
 }
 
 @keyframes c {
@@ -6586,9 +7252,9 @@ Array [
 	100% { left: 20px; }
 }
 
-._3MHGI9_Tl4A_kJUxXx1q2j {
-	animation: _1PQ8UpcdVbFbAcYs6wdRXj;
-	animation: _3JhTjOsNov-pQXnd3o0JJ, _9skQ6KRXi6qCorV5zNSyV, _1Gh6Pqr28qXCExbnssOGX9;
+._3oH9DQJazfpG005Sh9aGkQ {
+	animation: nww09C9mEAhqcOUYF6rha;
+	animation: _1KFID5rBdQ1zoTcXE0MDJu, Kb9jLFrSf4mllvTWZXwOP, _3ACxrrFjDb1l0z2IVcusvQ;
 }
 
 @keyframes d {
@@ -6602,7 +7268,7 @@ Array [
 }
 
 .d2 {
-	animation: _35GAwk8Rb2LyIN0pSAXjyy;
+	animation: _3UMfC66OcV3y4QQFvTZ-WT;
 }
 ",
     "",
@@ -6616,12 +7282,12 @@ exports[`"modules" option should work with case \`local\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`local\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".abc :local(.def) {\\\\n  color: red;\\\\n}\\\\n\\\\n:local .ghi .jkl {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".abc :local(.def) {\\\\n  color: red;\\\\n}\\\\n\\\\n:local .ghi .jkl {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -6648,17 +7314,17 @@ exports[`"modules" option should work with case \`local\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`local\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".abc ._1UnGDcMVVYIU_547CDqQJU {\\\\n  color: red;\\\\n}\\\\n\\\\n._1k8c5svlAtK4vFkSsZdl4o .pRQR9FSSkxNL6roex-uGp {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".abc ._253zTI4U-rMu3xutK9NGwV {\\\\n  color: red;\\\\n}\\\\n\\\\n._3dSdUIFav_eo-0o1qfNtZ2 ._3kwDpbkAJ3bXRzaN7EB5LV {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"def\\": \\"_1UnGDcMVVYIU_547CDqQJU\\",
-	\\"ghi\\": \\"_1k8c5svlAtK4vFkSsZdl4o\\",
-	\\"jkl\\": \\"pRQR9FSSkxNL6roex-uGp\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"def\\": \\"_253zTI4U-rMu3xutK9NGwV\\",
+	\\"ghi\\": \\"_3dSdUIFav_eo-0o1qfNtZ2\\",
+	\\"jkl\\": \\"_3kwDpbkAJ3bXRzaN7EB5LV\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -6666,11 +7332,11 @@ exports[`"modules" option should work with case \`local\` (\`modules\` value is
 Array [
   Array [
     "./modules/tests-cases/local/source.css",
-    ".abc ._1UnGDcMVVYIU_547CDqQJU {
+    ".abc ._253zTI4U-rMu3xutK9NGwV {
   color: red;
 }
 
-._1k8c5svlAtK4vFkSsZdl4o .pRQR9FSSkxNL6roex-uGp {
+._3dSdUIFav_eo-0o1qfNtZ2 ._3kwDpbkAJ3bXRzaN7EB5LV {
   color: blue;
 }
 ",
@@ -6685,18 +7351,18 @@ exports[`"modules" option should work with case \`local\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`local\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._2EPIUiYqPKxP0HS9Vgqa8e ._1UnGDcMVVYIU_547CDqQJU {\\\\n  color: red;\\\\n}\\\\n\\\\n._1k8c5svlAtK4vFkSsZdl4o .pRQR9FSSkxNL6roex-uGp {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".wn3pk8CZbW4lwX8iv8Yrq ._253zTI4U-rMu3xutK9NGwV {\\\\n  color: red;\\\\n}\\\\n\\\\n._3dSdUIFav_eo-0o1qfNtZ2 ._3kwDpbkAJ3bXRzaN7EB5LV {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"abc\\": \\"_2EPIUiYqPKxP0HS9Vgqa8e\\",
-	\\"def\\": \\"_1UnGDcMVVYIU_547CDqQJU\\",
-	\\"ghi\\": \\"_1k8c5svlAtK4vFkSsZdl4o\\",
-	\\"jkl\\": \\"pRQR9FSSkxNL6roex-uGp\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"abc\\": \\"wn3pk8CZbW4lwX8iv8Yrq\\",
+	\\"def\\": \\"_253zTI4U-rMu3xutK9NGwV\\",
+	\\"ghi\\": \\"_3dSdUIFav_eo-0o1qfNtZ2\\",
+	\\"jkl\\": \\"_3kwDpbkAJ3bXRzaN7EB5LV\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -6704,11 +7370,11 @@ exports[`"modules" option should work with case \`local\` (\`modules\` value is
 Array [
   Array [
     "./modules/tests-cases/local/source.css",
-    "._2EPIUiYqPKxP0HS9Vgqa8e ._1UnGDcMVVYIU_547CDqQJU {
+    ".wn3pk8CZbW4lwX8iv8Yrq ._253zTI4U-rMu3xutK9NGwV {
   color: red;
 }
 
-._1k8c5svlAtK4vFkSsZdl4o .pRQR9FSSkxNL6roex-uGp {
+._3dSdUIFav_eo-0o1qfNtZ2 ._3kwDpbkAJ3bXRzaN7EB5LV {
   color: blue;
 }
 ",
@@ -6723,17 +7389,17 @@ exports[`"modules" option should work with case \`local\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`local\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".abc ._def {\\\\n  color: red;\\\\n}\\\\n\\\\n._ghi ._jkl {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".abc ._def {\\\\n  color: red;\\\\n}\\\\n\\\\n._ghi ._jkl {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"_def\\",
 	\\"ghi\\": \\"_ghi\\",
 	\\"jkl\\": \\"_jkl\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -6760,18 +7426,18 @@ exports[`"modules" option should work with case \`local\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`local\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._abc ._def {\\\\n  color: red;\\\\n}\\\\n\\\\n._ghi ._jkl {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._abc ._def {\\\\n  color: red;\\\\n}\\\\n\\\\n._ghi ._jkl {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"abc\\": \\"_abc\\",
 	\\"def\\": \\"_def\\",
 	\\"ghi\\": \\"_ghi\\",
 	\\"jkl\\": \\"_jkl\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -6798,18 +7464,18 @@ exports[`"modules" option should work with case \`local\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`local\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._2EPIUiYqPKxP0HS9Vgqa8e ._1UnGDcMVVYIU_547CDqQJU {\\\\n  color: red;\\\\n}\\\\n\\\\n._1k8c5svlAtK4vFkSsZdl4o .pRQR9FSSkxNL6roex-uGp {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".wn3pk8CZbW4lwX8iv8Yrq ._253zTI4U-rMu3xutK9NGwV {\\\\n  color: red;\\\\n}\\\\n\\\\n._3dSdUIFav_eo-0o1qfNtZ2 ._3kwDpbkAJ3bXRzaN7EB5LV {\\\\n  color: blue;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"abc\\": \\"_2EPIUiYqPKxP0HS9Vgqa8e\\",
-	\\"def\\": \\"_1UnGDcMVVYIU_547CDqQJU\\",
-	\\"ghi\\": \\"_1k8c5svlAtK4vFkSsZdl4o\\",
-	\\"jkl\\": \\"pRQR9FSSkxNL6roex-uGp\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"abc\\": \\"wn3pk8CZbW4lwX8iv8Yrq\\",
+	\\"def\\": \\"_253zTI4U-rMu3xutK9NGwV\\",
+	\\"ghi\\": \\"_3dSdUIFav_eo-0o1qfNtZ2\\",
+	\\"jkl\\": \\"_3kwDpbkAJ3bXRzaN7EB5LV\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -6817,11 +7483,11 @@ exports[`"modules" option should work with case \`local\` (\`modules\` value is
 Array [
   Array [
     "./modules/tests-cases/local/source.css",
-    "._2EPIUiYqPKxP0HS9Vgqa8e ._1UnGDcMVVYIU_547CDqQJU {
+    ".wn3pk8CZbW4lwX8iv8Yrq ._253zTI4U-rMu3xutK9NGwV {
   color: red;
 }
 
-._1k8c5svlAtK4vFkSsZdl4o .pRQR9FSSkxNL6roex-uGp {
+._3dSdUIFav_eo-0o1qfNtZ2 ._3kwDpbkAJ3bXRzaN7EB5LV {
   color: blue;
 }
 ",
@@ -6836,12 +7502,12 @@ exports[`"modules" option should work with case \`local-2\` (\`modules\` value i
 
 exports[`"modules" option should work with case \`local-2\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\":local(.className) { background: red; }\\\\n:local(#someId) { background: green; }\\\\n:local(.className .subClass) { color: green; }\\\\n:local(#someId .subClass) { color: blue; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\":local(.className) { background: red; }\\\\n:local(#someId) { background: green; }\\\\n:local(.className .subClass) { color: green; }\\\\n:local(#someId .subClass) { color: blue; }\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -6865,17 +7531,17 @@ exports[`"modules" option should work with case \`local-2\` (\`modules\` value i
 
 exports[`"modules" option should work with case \`local-2\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".PTH0TZDPxpREaV5cxtahd { background: red; }\\\\n#_1XQl0Np_jYcDGudXKxmL8A { background: green; }\\\\n.PTH0TZDPxpREaV5cxtahd ._2MrzTmc8jtF-E5FfuMPQie { color: green; }\\\\n#_1XQl0Np_jYcDGudXKxmL8A ._2MrzTmc8jtF-E5FfuMPQie { color: blue; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2tirGKrjfg1QOv47dkGhM3 { background: red; }\\\\n#_31JZfn-aXeXuFv5NEwx9A- { background: green; }\\\\n._2tirGKrjfg1QOv47dkGhM3 .JUEy4WtnpqWBGYQbszU8T { color: green; }\\\\n#_31JZfn-aXeXuFv5NEwx9A- .JUEy4WtnpqWBGYQbszU8T { color: blue; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"className\\": \\"PTH0TZDPxpREaV5cxtahd\\",
-	\\"someId\\": \\"_1XQl0Np_jYcDGudXKxmL8A\\",
-	\\"subClass\\": \\"_2MrzTmc8jtF-E5FfuMPQie\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"className\\": \\"_2tirGKrjfg1QOv47dkGhM3\\",
+	\\"someId\\": \\"_31JZfn-aXeXuFv5NEwx9A-\\",
+	\\"subClass\\": \\"JUEy4WtnpqWBGYQbszU8T\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -6883,10 +7549,10 @@ exports[`"modules" option should work with case \`local-2\` (\`modules\` value i
 Array [
   Array [
     "./modules/tests-cases/local-2/source.css",
-    ".PTH0TZDPxpREaV5cxtahd { background: red; }
-#_1XQl0Np_jYcDGudXKxmL8A { background: green; }
-.PTH0TZDPxpREaV5cxtahd ._2MrzTmc8jtF-E5FfuMPQie { color: green; }
-#_1XQl0Np_jYcDGudXKxmL8A ._2MrzTmc8jtF-E5FfuMPQie { color: blue; }
+    "._2tirGKrjfg1QOv47dkGhM3 { background: red; }
+#_31JZfn-aXeXuFv5NEwx9A- { background: green; }
+._2tirGKrjfg1QOv47dkGhM3 .JUEy4WtnpqWBGYQbszU8T { color: green; }
+#_31JZfn-aXeXuFv5NEwx9A- .JUEy4WtnpqWBGYQbszU8T { color: blue; }
 ",
     "",
   ],
@@ -6899,17 +7565,17 @@ exports[`"modules" option should work with case \`local-2\` (\`modules\` value i
 
 exports[`"modules" option should work with case \`local-2\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".PTH0TZDPxpREaV5cxtahd { background: red; }\\\\n#_1XQl0Np_jYcDGudXKxmL8A { background: green; }\\\\n.PTH0TZDPxpREaV5cxtahd ._2MrzTmc8jtF-E5FfuMPQie { color: green; }\\\\n#_1XQl0Np_jYcDGudXKxmL8A ._2MrzTmc8jtF-E5FfuMPQie { color: blue; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2tirGKrjfg1QOv47dkGhM3 { background: red; }\\\\n#_31JZfn-aXeXuFv5NEwx9A- { background: green; }\\\\n._2tirGKrjfg1QOv47dkGhM3 .JUEy4WtnpqWBGYQbszU8T { color: green; }\\\\n#_31JZfn-aXeXuFv5NEwx9A- .JUEy4WtnpqWBGYQbszU8T { color: blue; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"className\\": \\"PTH0TZDPxpREaV5cxtahd\\",
-	\\"someId\\": \\"_1XQl0Np_jYcDGudXKxmL8A\\",
-	\\"subClass\\": \\"_2MrzTmc8jtF-E5FfuMPQie\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"className\\": \\"_2tirGKrjfg1QOv47dkGhM3\\",
+	\\"someId\\": \\"_31JZfn-aXeXuFv5NEwx9A-\\",
+	\\"subClass\\": \\"JUEy4WtnpqWBGYQbszU8T\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -6917,10 +7583,10 @@ exports[`"modules" option should work with case \`local-2\` (\`modules\` value i
 Array [
   Array [
     "./modules/tests-cases/local-2/source.css",
-    ".PTH0TZDPxpREaV5cxtahd { background: red; }
-#_1XQl0Np_jYcDGudXKxmL8A { background: green; }
-.PTH0TZDPxpREaV5cxtahd ._2MrzTmc8jtF-E5FfuMPQie { color: green; }
-#_1XQl0Np_jYcDGudXKxmL8A ._2MrzTmc8jtF-E5FfuMPQie { color: blue; }
+    "._2tirGKrjfg1QOv47dkGhM3 { background: red; }
+#_31JZfn-aXeXuFv5NEwx9A- { background: green; }
+._2tirGKrjfg1QOv47dkGhM3 .JUEy4WtnpqWBGYQbszU8T { color: green; }
+#_31JZfn-aXeXuFv5NEwx9A- .JUEy4WtnpqWBGYQbszU8T { color: blue; }
 ",
     "",
   ],
@@ -6933,17 +7599,17 @@ exports[`"modules" option should work with case \`local-2\` (\`modules\` value i
 
 exports[`"modules" option should work with case \`local-2\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._className { background: red; }\\\\n#_someId { background: green; }\\\\n._className ._subClass { color: green; }\\\\n#_someId ._subClass { color: blue; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._className { background: red; }\\\\n#_someId { background: green; }\\\\n._className ._subClass { color: green; }\\\\n#_someId ._subClass { color: blue; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"className\\": \\"_className\\",
 	\\"someId\\": \\"_someId\\",
 	\\"subClass\\": \\"_subClass\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -6967,17 +7633,17 @@ exports[`"modules" option should work with case \`local-2\` (\`modules\` value i
 
 exports[`"modules" option should work with case \`local-2\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._className { background: red; }\\\\n#_someId { background: green; }\\\\n._className ._subClass { color: green; }\\\\n#_someId ._subClass { color: blue; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._className { background: red; }\\\\n#_someId { background: green; }\\\\n._className ._subClass { color: green; }\\\\n#_someId ._subClass { color: blue; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"className\\": \\"_className\\",
 	\\"someId\\": \\"_someId\\",
 	\\"subClass\\": \\"_subClass\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7001,17 +7667,17 @@ exports[`"modules" option should work with case \`local-2\` (\`modules\` value i
 
 exports[`"modules" option should work with case \`local-2\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".PTH0TZDPxpREaV5cxtahd { background: red; }\\\\n#_1XQl0Np_jYcDGudXKxmL8A { background: green; }\\\\n.PTH0TZDPxpREaV5cxtahd ._2MrzTmc8jtF-E5FfuMPQie { color: green; }\\\\n#_1XQl0Np_jYcDGudXKxmL8A ._2MrzTmc8jtF-E5FfuMPQie { color: blue; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2tirGKrjfg1QOv47dkGhM3 { background: red; }\\\\n#_31JZfn-aXeXuFv5NEwx9A- { background: green; }\\\\n._2tirGKrjfg1QOv47dkGhM3 .JUEy4WtnpqWBGYQbszU8T { color: green; }\\\\n#_31JZfn-aXeXuFv5NEwx9A- .JUEy4WtnpqWBGYQbszU8T { color: blue; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"className\\": \\"PTH0TZDPxpREaV5cxtahd\\",
-	\\"someId\\": \\"_1XQl0Np_jYcDGudXKxmL8A\\",
-	\\"subClass\\": \\"_2MrzTmc8jtF-E5FfuMPQie\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"className\\": \\"_2tirGKrjfg1QOv47dkGhM3\\",
+	\\"someId\\": \\"_31JZfn-aXeXuFv5NEwx9A-\\",
+	\\"subClass\\": \\"JUEy4WtnpqWBGYQbszU8T\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7019,10 +7685,10 @@ exports[`"modules" option should work with case \`local-2\` (\`modules\` value i
 Array [
   Array [
     "./modules/tests-cases/local-2/source.css",
-    ".PTH0TZDPxpREaV5cxtahd { background: red; }
-#_1XQl0Np_jYcDGudXKxmL8A { background: green; }
-.PTH0TZDPxpREaV5cxtahd ._2MrzTmc8jtF-E5FfuMPQie { color: green; }
-#_1XQl0Np_jYcDGudXKxmL8A ._2MrzTmc8jtF-E5FfuMPQie { color: blue; }
+    "._2tirGKrjfg1QOv47dkGhM3 { background: red; }
+#_31JZfn-aXeXuFv5NEwx9A- { background: green; }
+._2tirGKrjfg1QOv47dkGhM3 .JUEy4WtnpqWBGYQbszU8T { color: green; }
+#_31JZfn-aXeXuFv5NEwx9A- .JUEy4WtnpqWBGYQbszU8T { color: blue; }
 ",
     "",
   ],
@@ -7035,12 +7701,12 @@ exports[`"modules" option should work with case \`local-and-composes\` (\`module
 
 exports[`"modules" option should work with case \`local-and-composes\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\":local(.abc) {\\\\n  color: red;\\\\n}\\\\n:local(.def) {\\\\n  composes: abc;\\\\n  background: green;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\":local(.abc) {\\\\n  color: red;\\\\n}\\\\n:local(.def) {\\\\n  composes: abc;\\\\n  background: green;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7067,16 +7733,16 @@ exports[`"modules" option should work with case \`local-and-composes\` (\`module
 
 exports[`"modules" option should work with case \`local-and-composes\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1wzWGMZGmVz3uhGAmwbXwR {\\\\n  color: red;\\\\n}\\\\n._3zcEXyCxYPLdb_6bVqY6Df {\\\\n  background: green;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".w6toSsfCpsXS8TkwPjqlj {\\\\n  color: red;\\\\n}\\\\n._1BsbfP276W8zM079XDxrG5 {\\\\n  background: green;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"abc\\": \\"_1wzWGMZGmVz3uhGAmwbXwR\\",
-	\\"def\\": \\"_3zcEXyCxYPLdb_6bVqY6Df _1wzWGMZGmVz3uhGAmwbXwR\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"abc\\": \\"w6toSsfCpsXS8TkwPjqlj\\",
+	\\"def\\": \\"_1BsbfP276W8zM079XDxrG5 w6toSsfCpsXS8TkwPjqlj\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7084,10 +7750,10 @@ exports[`"modules" option should work with case \`local-and-composes\` (\`module
 Array [
   Array [
     "./modules/tests-cases/local-and-composes/source.css",
-    "._1wzWGMZGmVz3uhGAmwbXwR {
+    ".w6toSsfCpsXS8TkwPjqlj {
   color: red;
 }
-._3zcEXyCxYPLdb_6bVqY6Df {
+._1BsbfP276W8zM079XDxrG5 {
   background: green;
 }
 ",
@@ -7102,16 +7768,16 @@ exports[`"modules" option should work with case \`local-and-composes\` (\`module
 
 exports[`"modules" option should work with case \`local-and-composes\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1wzWGMZGmVz3uhGAmwbXwR {\\\\n  color: red;\\\\n}\\\\n._3zcEXyCxYPLdb_6bVqY6Df {\\\\n  background: green;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".w6toSsfCpsXS8TkwPjqlj {\\\\n  color: red;\\\\n}\\\\n._1BsbfP276W8zM079XDxrG5 {\\\\n  background: green;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"abc\\": \\"_1wzWGMZGmVz3uhGAmwbXwR\\",
-	\\"def\\": \\"_3zcEXyCxYPLdb_6bVqY6Df _1wzWGMZGmVz3uhGAmwbXwR\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"abc\\": \\"w6toSsfCpsXS8TkwPjqlj\\",
+	\\"def\\": \\"_1BsbfP276W8zM079XDxrG5 w6toSsfCpsXS8TkwPjqlj\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7119,10 +7785,10 @@ exports[`"modules" option should work with case \`local-and-composes\` (\`module
 Array [
   Array [
     "./modules/tests-cases/local-and-composes/source.css",
-    "._1wzWGMZGmVz3uhGAmwbXwR {
+    ".w6toSsfCpsXS8TkwPjqlj {
   color: red;
 }
-._3zcEXyCxYPLdb_6bVqY6Df {
+._1BsbfP276W8zM079XDxrG5 {
   background: green;
 }
 ",
@@ -7137,16 +7803,16 @@ exports[`"modules" option should work with case \`local-and-composes\` (\`module
 
 exports[`"modules" option should work with case \`local-and-composes\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._abc {\\\\n  color: red;\\\\n}\\\\n._def {\\\\n  background: green;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._abc {\\\\n  color: red;\\\\n}\\\\n._def {\\\\n  background: green;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"abc\\": \\"_abc\\",
 	\\"def\\": \\"_def _abc\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7172,16 +7838,16 @@ exports[`"modules" option should work with case \`local-and-composes\` (\`module
 
 exports[`"modules" option should work with case \`local-and-composes\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._abc {\\\\n  color: red;\\\\n}\\\\n._def {\\\\n  background: green;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._abc {\\\\n  color: red;\\\\n}\\\\n._def {\\\\n  background: green;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"abc\\": \\"_abc\\",
 	\\"def\\": \\"_def _abc\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7207,16 +7873,16 @@ exports[`"modules" option should work with case \`local-and-composes\` (\`module
 
 exports[`"modules" option should work with case \`local-and-composes\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1wzWGMZGmVz3uhGAmwbXwR {\\\\n  color: red;\\\\n}\\\\n._3zcEXyCxYPLdb_6bVqY6Df {\\\\n  background: green;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".w6toSsfCpsXS8TkwPjqlj {\\\\n  color: red;\\\\n}\\\\n._1BsbfP276W8zM079XDxrG5 {\\\\n  background: green;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"abc\\": \\"_1wzWGMZGmVz3uhGAmwbXwR\\",
-	\\"def\\": \\"_3zcEXyCxYPLdb_6bVqY6Df _1wzWGMZGmVz3uhGAmwbXwR\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"abc\\": \\"w6toSsfCpsXS8TkwPjqlj\\",
+	\\"def\\": \\"_1BsbfP276W8zM079XDxrG5 w6toSsfCpsXS8TkwPjqlj\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7224,10 +7890,10 @@ exports[`"modules" option should work with case \`local-and-composes\` (\`module
 Array [
   Array [
     "./modules/tests-cases/local-and-composes/source.css",
-    "._1wzWGMZGmVz3uhGAmwbXwR {
+    ".w6toSsfCpsXS8TkwPjqlj {
   color: red;
 }
-._3zcEXyCxYPLdb_6bVqY6Df {
+._1BsbfP276W8zM079XDxrG5 {
   background: green;
 }
 ",
@@ -7242,12 +7908,12 @@ exports[`"modules" option should work with case \`local-with-string\` (\`modules
 
 exports[`"modules" option should work with case \`local-with-string\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\":local(.c1[data-attr=\\\\\\".c2)]'\\\\\\"]:not(.c3):not(.c4)) {\\\\n  background: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\":local(.c1[data-attr=\\\\\\".c2)]'\\\\\\"]:not(.c3):not(.c4)) {\\\\n  background: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7270,17 +7936,17 @@ exports[`"modules" option should work with case \`local-with-string\` (\`modules
 
 exports[`"modules" option should work with case \`local-with-string\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1sz8PE1ejGPcGRSnIAWKZt[data-attr=\\\\\\".c2)]'\\\\\\"]:not(._2DFDxRic974g-wJ7S9rbP1):not(.xo8O_am1gQUkHa-_J-WSe) {\\\\n  background: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._1tUuoJcngr7F24PuPIcUns[data-attr=\\\\\\".c2)]'\\\\\\"]:not(._232FaTg_846r3Bx1Aw4VFe):not(._3-Twv0s9t8557yNgqfRlHY) {\\\\n  background: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"c1\\": \\"_1sz8PE1ejGPcGRSnIAWKZt\\",
-	\\"c3\\": \\"_2DFDxRic974g-wJ7S9rbP1\\",
-	\\"c4\\": \\"xo8O_am1gQUkHa-_J-WSe\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"c1\\": \\"_1tUuoJcngr7F24PuPIcUns\\",
+	\\"c3\\": \\"_232FaTg_846r3Bx1Aw4VFe\\",
+	\\"c4\\": \\"_3-Twv0s9t8557yNgqfRlHY\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7288,7 +7954,7 @@ exports[`"modules" option should work with case \`local-with-string\` (\`modules
 Array [
   Array [
     "./modules/tests-cases/local-with-string/source.css",
-    "._1sz8PE1ejGPcGRSnIAWKZt[data-attr=\\".c2)]'\\"]:not(._2DFDxRic974g-wJ7S9rbP1):not(.xo8O_am1gQUkHa-_J-WSe) {
+    "._1tUuoJcngr7F24PuPIcUns[data-attr=\\".c2)]'\\"]:not(._232FaTg_846r3Bx1Aw4VFe):not(._3-Twv0s9t8557yNgqfRlHY) {
   background: red;
 }
 ",
@@ -7303,17 +7969,17 @@ exports[`"modules" option should work with case \`local-with-string\` (\`modules
 
 exports[`"modules" option should work with case \`local-with-string\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1sz8PE1ejGPcGRSnIAWKZt[data-attr=\\\\\\".c2)]'\\\\\\"]:not(._2DFDxRic974g-wJ7S9rbP1):not(.xo8O_am1gQUkHa-_J-WSe) {\\\\n  background: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._1tUuoJcngr7F24PuPIcUns[data-attr=\\\\\\".c2)]'\\\\\\"]:not(._232FaTg_846r3Bx1Aw4VFe):not(._3-Twv0s9t8557yNgqfRlHY) {\\\\n  background: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"c1\\": \\"_1sz8PE1ejGPcGRSnIAWKZt\\",
-	\\"c3\\": \\"_2DFDxRic974g-wJ7S9rbP1\\",
-	\\"c4\\": \\"xo8O_am1gQUkHa-_J-WSe\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"c1\\": \\"_1tUuoJcngr7F24PuPIcUns\\",
+	\\"c3\\": \\"_232FaTg_846r3Bx1Aw4VFe\\",
+	\\"c4\\": \\"_3-Twv0s9t8557yNgqfRlHY\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7321,7 +7987,7 @@ exports[`"modules" option should work with case \`local-with-string\` (\`modules
 Array [
   Array [
     "./modules/tests-cases/local-with-string/source.css",
-    "._1sz8PE1ejGPcGRSnIAWKZt[data-attr=\\".c2)]'\\"]:not(._2DFDxRic974g-wJ7S9rbP1):not(.xo8O_am1gQUkHa-_J-WSe) {
+    "._1tUuoJcngr7F24PuPIcUns[data-attr=\\".c2)]'\\"]:not(._232FaTg_846r3Bx1Aw4VFe):not(._3-Twv0s9t8557yNgqfRlHY) {
   background: red;
 }
 ",
@@ -7336,17 +8002,17 @@ exports[`"modules" option should work with case \`local-with-string\` (\`modules
 
 exports[`"modules" option should work with case \`local-with-string\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._c1[data-attr=\\\\\\".c2)]'\\\\\\"]:not(._c3):not(._c4) {\\\\n  background: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._c1[data-attr=\\\\\\".c2)]'\\\\\\"]:not(._c3):not(._c4) {\\\\n  background: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"c1\\": \\"_c1\\",
 	\\"c3\\": \\"_c3\\",
 	\\"c4\\": \\"_c4\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7369,17 +8035,17 @@ exports[`"modules" option should work with case \`local-with-string\` (\`modules
 
 exports[`"modules" option should work with case \`local-with-string\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._c1[data-attr=\\\\\\".c2)]'\\\\\\"]:not(._c3):not(._c4) {\\\\n  background: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._c1[data-attr=\\\\\\".c2)]'\\\\\\"]:not(._c3):not(._c4) {\\\\n  background: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"c1\\": \\"_c1\\",
 	\\"c3\\": \\"_c3\\",
 	\\"c4\\": \\"_c4\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7402,17 +8068,17 @@ exports[`"modules" option should work with case \`local-with-string\` (\`modules
 
 exports[`"modules" option should work with case \`local-with-string\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1sz8PE1ejGPcGRSnIAWKZt[data-attr=\\\\\\".c2)]'\\\\\\"]:not(._2DFDxRic974g-wJ7S9rbP1):not(.xo8O_am1gQUkHa-_J-WSe) {\\\\n  background: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._1tUuoJcngr7F24PuPIcUns[data-attr=\\\\\\".c2)]'\\\\\\"]:not(._232FaTg_846r3Bx1Aw4VFe):not(._3-Twv0s9t8557yNgqfRlHY) {\\\\n  background: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"c1\\": \\"_1sz8PE1ejGPcGRSnIAWKZt\\",
-	\\"c3\\": \\"_2DFDxRic974g-wJ7S9rbP1\\",
-	\\"c4\\": \\"xo8O_am1gQUkHa-_J-WSe\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"c1\\": \\"_1tUuoJcngr7F24PuPIcUns\\",
+	\\"c3\\": \\"_232FaTg_846r3Bx1Aw4VFe\\",
+	\\"c4\\": \\"_3-Twv0s9t8557yNgqfRlHY\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7420,7 +8086,7 @@ exports[`"modules" option should work with case \`local-with-string\` (\`modules
 Array [
   Array [
     "./modules/tests-cases/local-with-string/source.css",
-    "._1sz8PE1ejGPcGRSnIAWKZt[data-attr=\\".c2)]'\\"]:not(._2DFDxRic974g-wJ7S9rbP1):not(.xo8O_am1gQUkHa-_J-WSe) {
+    "._1tUuoJcngr7F24PuPIcUns[data-attr=\\".c2)]'\\"]:not(._232FaTg_846r3Bx1Aw4VFe):not(._3-Twv0s9t8557yNgqfRlHY) {
   background: red;
 }
 ",
@@ -7435,12 +8101,12 @@ exports[`"modules" option should work with case \`media\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`media\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"@value small: (max-width: 599px);\\\\n\\\\n@media small {\\\\n  .header {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@value small: (max-width: 599px);\\\\n\\\\n@media small {\\\\n  .header {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7467,15 +8133,15 @@ exports[`"modules" option should work with case \`media\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`media\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"@media (max-width: 599px) {\\\\n  .header {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@media (max-width: 599px) {\\\\n  .header {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"small\\": \\"(max-width: 599px)\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7500,16 +8166,16 @@ exports[`"modules" option should work with case \`media\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`media\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"@media (max-width: 599px) {\\\\n  ._1wyVAJXtjGZLoQNO_yG8b3 {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@media (max-width: 599px) {\\\\n  ._1XLoIkCR__ZykjKOg7CPmK {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"small\\": \\"(max-width: 599px)\\",
-	\\"header\\": \\"_1wyVAJXtjGZLoQNO_yG8b3\\"
+	\\"header\\": \\"_1XLoIkCR__ZykjKOg7CPmK\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7518,7 +8184,7 @@ Array [
   Array [
     "./modules/tests-cases/media/source.css",
     "@media (max-width: 599px) {
-  ._1wyVAJXtjGZLoQNO_yG8b3 {
+  ._1XLoIkCR__ZykjKOg7CPmK {
     box-shadow: 0 0 4px #1F4F7F;
   }
 }
@@ -7534,15 +8200,15 @@ exports[`"modules" option should work with case \`media\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`media\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"@media (max-width: 599px) {\\\\n  .header {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@media (max-width: 599px) {\\\\n  .header {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"small\\": \\"(max-width: 599px)\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7567,16 +8233,16 @@ exports[`"modules" option should work with case \`media\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`media\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"@media (max-width: 599px) {\\\\n  ._header {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@media (max-width: 599px) {\\\\n  ._header {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"small\\": \\"(max-width: 599px)\\",
 	\\"header\\": \\"_header\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7601,16 +8267,16 @@ exports[`"modules" option should work with case \`media\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`media\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"@media (max-width: 599px) {\\\\n  ._1wyVAJXtjGZLoQNO_yG8b3 {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@media (max-width: 599px) {\\\\n  ._1XLoIkCR__ZykjKOg7CPmK {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"small\\": \\"(max-width: 599px)\\",
-	\\"header\\": \\"_1wyVAJXtjGZLoQNO_yG8b3\\"
+	\\"header\\": \\"_1XLoIkCR__ZykjKOg7CPmK\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7619,7 +8285,7 @@ Array [
   Array [
     "./modules/tests-cases/media/source.css",
     "@media (max-width: 599px) {
-  ._1wyVAJXtjGZLoQNO_yG8b3 {
+  ._1XLoIkCR__ZykjKOg7CPmK {
     box-shadow: 0 0 4px #1F4F7F;
   }
 }
@@ -7635,12 +8301,12 @@ exports[`"modules" option should work with case \`media-2\` (\`modules\` value i
 
 exports[`"modules" option should work with case \`media-2\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"@value small from './file.css';\\\\n@media small {\\\\n  .header {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@value small from './file.css';\\\\n@media small {\\\\n  .header {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7666,17 +8332,17 @@ exports[`"modules" option should work with case \`media-2\` (\`modules\` value i
 
 exports[`"modules" option should work with case \`media-2\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"@media \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"small\\"] + \\" {\\\\n  .header {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@media \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"small\\"] + \\" {\\\\n  .header {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"small\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"small\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7707,18 +8373,18 @@ exports[`"modules" option should work with case \`media-2\` (\`modules\` value i
 
 exports[`"modules" option should work with case \`media-2\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"@media \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"small\\"] + \\" {\\\\n  .UbDEjEuweJXO7yHMpC8qp {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@media \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"small\\"] + \\" {\\\\n  ._3jBTLokf5b1bejJ283UGF {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"small\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"small\\"] + \\"\\",
-	\\"header\\": \\"UbDEjEuweJXO7yHMpC8qp\\"
+	\\"header\\": \\"_3jBTLokf5b1bejJ283UGF\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7733,7 +8399,7 @@ Array [
   Array [
     "./modules/tests-cases/media-2/source.css",
     "@media (max-width: 599px) {
-  .UbDEjEuweJXO7yHMpC8qp {
+  ._3jBTLokf5b1bejJ283UGF {
     box-shadow: 0 0 4px #1F4F7F;
   }
 }
@@ -7749,17 +8415,17 @@ exports[`"modules" option should work with case \`media-2\` (\`modules\` value i
 
 exports[`"modules" option should work with case \`media-2\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"@media \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"small\\"] + \\" {\\\\n  .header {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@media \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"small\\"] + \\" {\\\\n  .header {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"small\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"small\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7790,18 +8456,18 @@ exports[`"modules" option should work with case \`media-2\` (\`modules\` value i
 
 exports[`"modules" option should work with case \`media-2\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"@media \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"small\\"] + \\" {\\\\n  ._header {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@media \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"small\\"] + \\" {\\\\n  ._header {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"small\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"small\\"] + \\"\\",
 	\\"header\\": \\"_header\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7832,18 +8498,18 @@ exports[`"modules" option should work with case \`media-2\` (\`modules\` value i
 
 exports[`"modules" option should work with case \`media-2\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"@media \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"small\\"] + \\" {\\\\n  .UbDEjEuweJXO7yHMpC8qp {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@media \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"small\\"] + \\" {\\\\n  ._3jBTLokf5b1bejJ283UGF {\\\\n    box-shadow: 0 0 4px #1F4F7F;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"small\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"small\\"] + \\"\\",
-	\\"header\\": \\"UbDEjEuweJXO7yHMpC8qp\\"
+	\\"header\\": \\"_3jBTLokf5b1bejJ283UGF\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7858,7 +8524,7 @@ Array [
   Array [
     "./modules/tests-cases/media-2/source.css",
     "@media (max-width: 599px) {
-  .UbDEjEuweJXO7yHMpC8qp {
+  ._3jBTLokf5b1bejJ283UGF {
     box-shadow: 0 0 4px #1F4F7F;
   }
 }
@@ -7874,12 +8540,12 @@ exports[`"modules" option should work with case \`mode-switching\` (\`modules\`
 
 exports[`"modules" option should work with case \`mode-switching\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".c1 :local .c2 .c3 :global .c4 :local .c5, .c6 :local .c7 { background: red; }\\\\n.c8 { background: red; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".c1 :local .c2 .c3 :global .c4 :local .c5, .c6 :local .c7 { background: red; }\\\\n.c8 { background: red; }\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7901,18 +8567,18 @@ exports[`"modules" option should work with case \`mode-switching\` (\`modules\`
 
 exports[`"modules" option should work with case \`mode-switching\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".c1 .LgC5kpXZK3IOCPWWctF7f ._2ZTY7KJ2nkQND4VqlaSz9a .c4 .tEu6_PTqhxImp1tyYQTWz, .c6 .FBEuAfqI8VKhU-w-9RNH { background: red; }\\\\n.c8 { background: red; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".c1 .nJwZYDOazrG9eCdxBLMlj ._2bcjQqPzBwpjPwnKmMnqbs .c4 ._1Q1i8rWfN_u_B-SehXzXdA, .c6 .-ulS8ZiIJLj0XJ6Xp9wy_ { background: red; }\\\\n.c8 { background: red; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"c2\\": \\"LgC5kpXZK3IOCPWWctF7f\\",
-	\\"c3\\": \\"_2ZTY7KJ2nkQND4VqlaSz9a\\",
-	\\"c5\\": \\"tEu6_PTqhxImp1tyYQTWz\\",
-	\\"c7\\": \\"FBEuAfqI8VKhU-w-9RNH\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"c2\\": \\"nJwZYDOazrG9eCdxBLMlj\\",
+	\\"c3\\": \\"_2bcjQqPzBwpjPwnKmMnqbs\\",
+	\\"c5\\": \\"_1Q1i8rWfN_u_B-SehXzXdA\\",
+	\\"c7\\": \\"-ulS8ZiIJLj0XJ6Xp9wy_\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7920,7 +8586,7 @@ exports[`"modules" option should work with case \`mode-switching\` (\`modules\`
 Array [
   Array [
     "./modules/tests-cases/mode-switching/source.css",
-    ".c1 .LgC5kpXZK3IOCPWWctF7f ._2ZTY7KJ2nkQND4VqlaSz9a .c4 .tEu6_PTqhxImp1tyYQTWz, .c6 .FBEuAfqI8VKhU-w-9RNH { background: red; }
+    ".c1 .nJwZYDOazrG9eCdxBLMlj ._2bcjQqPzBwpjPwnKmMnqbs .c4 ._1Q1i8rWfN_u_B-SehXzXdA, .c6 .-ulS8ZiIJLj0XJ6Xp9wy_ { background: red; }
 .c8 { background: red; }
 ",
     "",
@@ -7934,21 +8600,21 @@ exports[`"modules" option should work with case \`mode-switching\` (\`modules\`
 
 exports[`"modules" option should work with case \`mode-switching\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._sSeqF3tTS8i-oJLOiW66 .LgC5kpXZK3IOCPWWctF7f ._2ZTY7KJ2nkQND4VqlaSz9a .c4 .tEu6_PTqhxImp1tyYQTWz, .sUDXsigYAAb8sNlOMs_Oc .FBEuAfqI8VKhU-w-9RNH { background: red; }\\\\n._1JUWq0LIxk9cx-H1cbqyAD { background: red; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2EeVpMPPsn_MdVeltDE4m0 .nJwZYDOazrG9eCdxBLMlj ._2bcjQqPzBwpjPwnKmMnqbs .c4 ._1Q1i8rWfN_u_B-SehXzXdA, ._12pi1AyFmqD8yE_mfXe9IV .-ulS8ZiIJLj0XJ6Xp9wy_ { background: red; }\\\\n.Awn8euqhR-cc5VOfv8804 { background: red; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"c1\\": \\"_sSeqF3tTS8i-oJLOiW66\\",
-	\\"c2\\": \\"LgC5kpXZK3IOCPWWctF7f\\",
-	\\"c3\\": \\"_2ZTY7KJ2nkQND4VqlaSz9a\\",
-	\\"c5\\": \\"tEu6_PTqhxImp1tyYQTWz\\",
-	\\"c6\\": \\"sUDXsigYAAb8sNlOMs_Oc\\",
-	\\"c7\\": \\"FBEuAfqI8VKhU-w-9RNH\\",
-	\\"c8\\": \\"_1JUWq0LIxk9cx-H1cbqyAD\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"c1\\": \\"_2EeVpMPPsn_MdVeltDE4m0\\",
+	\\"c2\\": \\"nJwZYDOazrG9eCdxBLMlj\\",
+	\\"c3\\": \\"_2bcjQqPzBwpjPwnKmMnqbs\\",
+	\\"c5\\": \\"_1Q1i8rWfN_u_B-SehXzXdA\\",
+	\\"c6\\": \\"_12pi1AyFmqD8yE_mfXe9IV\\",
+	\\"c7\\": \\"-ulS8ZiIJLj0XJ6Xp9wy_\\",
+	\\"c8\\": \\"Awn8euqhR-cc5VOfv8804\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -7956,8 +8622,8 @@ exports[`"modules" option should work with case \`mode-switching\` (\`modules\`
 Array [
   Array [
     "./modules/tests-cases/mode-switching/source.css",
-    "._sSeqF3tTS8i-oJLOiW66 .LgC5kpXZK3IOCPWWctF7f ._2ZTY7KJ2nkQND4VqlaSz9a .c4 .tEu6_PTqhxImp1tyYQTWz, .sUDXsigYAAb8sNlOMs_Oc .FBEuAfqI8VKhU-w-9RNH { background: red; }
-._1JUWq0LIxk9cx-H1cbqyAD { background: red; }
+    "._2EeVpMPPsn_MdVeltDE4m0 .nJwZYDOazrG9eCdxBLMlj ._2bcjQqPzBwpjPwnKmMnqbs .c4 ._1Q1i8rWfN_u_B-SehXzXdA, ._12pi1AyFmqD8yE_mfXe9IV .-ulS8ZiIJLj0XJ6Xp9wy_ { background: red; }
+.Awn8euqhR-cc5VOfv8804 { background: red; }
 ",
     "",
   ],
@@ -7970,18 +8636,18 @@ exports[`"modules" option should work with case \`mode-switching\` (\`modules\`
 
 exports[`"modules" option should work with case \`mode-switching\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".c1 ._c2 ._c3 .c4 ._c5, .c6 ._c7 { background: red; }\\\\n.c8 { background: red; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".c1 ._c2 ._c3 .c4 ._c5, .c6 ._c7 { background: red; }\\\\n.c8 { background: red; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"c2\\": \\"_c2\\",
 	\\"c3\\": \\"_c3\\",
 	\\"c5\\": \\"_c5\\",
 	\\"c7\\": \\"_c7\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8003,12 +8669,12 @@ exports[`"modules" option should work with case \`mode-switching\` (\`modules\`
 
 exports[`"modules" option should work with case \`mode-switching\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._c1 ._c2 ._c3 .c4 ._c5, ._c6 ._c7 { background: red; }\\\\n._c8 { background: red; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._c1 ._c2 ._c3 .c4 ._c5, ._c6 ._c7 { background: red; }\\\\n._c8 { background: red; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"c1\\": \\"_c1\\",
 	\\"c2\\": \\"_c2\\",
 	\\"c3\\": \\"_c3\\",
@@ -8017,7 +8683,7 @@ exports.locals = {
 	\\"c7\\": \\"_c7\\",
 	\\"c8\\": \\"_c8\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8039,21 +8705,21 @@ exports[`"modules" option should work with case \`mode-switching\` (\`modules\`
 
 exports[`"modules" option should work with case \`mode-switching\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._sSeqF3tTS8i-oJLOiW66 .LgC5kpXZK3IOCPWWctF7f ._2ZTY7KJ2nkQND4VqlaSz9a .c4 .tEu6_PTqhxImp1tyYQTWz, .sUDXsigYAAb8sNlOMs_Oc .FBEuAfqI8VKhU-w-9RNH { background: red; }\\\\n._1JUWq0LIxk9cx-H1cbqyAD { background: red; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2EeVpMPPsn_MdVeltDE4m0 .nJwZYDOazrG9eCdxBLMlj ._2bcjQqPzBwpjPwnKmMnqbs .c4 ._1Q1i8rWfN_u_B-SehXzXdA, ._12pi1AyFmqD8yE_mfXe9IV .-ulS8ZiIJLj0XJ6Xp9wy_ { background: red; }\\\\n.Awn8euqhR-cc5VOfv8804 { background: red; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"c1\\": \\"_sSeqF3tTS8i-oJLOiW66\\",
-	\\"c2\\": \\"LgC5kpXZK3IOCPWWctF7f\\",
-	\\"c3\\": \\"_2ZTY7KJ2nkQND4VqlaSz9a\\",
-	\\"c5\\": \\"tEu6_PTqhxImp1tyYQTWz\\",
-	\\"c6\\": \\"sUDXsigYAAb8sNlOMs_Oc\\",
-	\\"c7\\": \\"FBEuAfqI8VKhU-w-9RNH\\",
-	\\"c8\\": \\"_1JUWq0LIxk9cx-H1cbqyAD\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"c1\\": \\"_2EeVpMPPsn_MdVeltDE4m0\\",
+	\\"c2\\": \\"nJwZYDOazrG9eCdxBLMlj\\",
+	\\"c3\\": \\"_2bcjQqPzBwpjPwnKmMnqbs\\",
+	\\"c5\\": \\"_1Q1i8rWfN_u_B-SehXzXdA\\",
+	\\"c6\\": \\"_12pi1AyFmqD8yE_mfXe9IV\\",
+	\\"c7\\": \\"-ulS8ZiIJLj0XJ6Xp9wy_\\",
+	\\"c8\\": \\"Awn8euqhR-cc5VOfv8804\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8061,8 +8727,8 @@ exports[`"modules" option should work with case \`mode-switching\` (\`modules\`
 Array [
   Array [
     "./modules/tests-cases/mode-switching/source.css",
-    "._sSeqF3tTS8i-oJLOiW66 .LgC5kpXZK3IOCPWWctF7f ._2ZTY7KJ2nkQND4VqlaSz9a .c4 .tEu6_PTqhxImp1tyYQTWz, .sUDXsigYAAb8sNlOMs_Oc .FBEuAfqI8VKhU-w-9RNH { background: red; }
-._1JUWq0LIxk9cx-H1cbqyAD { background: red; }
+    "._2EeVpMPPsn_MdVeltDE4m0 .nJwZYDOazrG9eCdxBLMlj ._2bcjQqPzBwpjPwnKmMnqbs .c4 ._1Q1i8rWfN_u_B-SehXzXdA, ._12pi1AyFmqD8yE_mfXe9IV .-ulS8ZiIJLj0XJ6Xp9wy_ { background: red; }
+.Awn8euqhR-cc5VOfv8804 { background: red; }
 ",
     "",
   ],
@@ -8075,12 +8741,12 @@ exports[`"modules" option should work with case \`simple\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`simple\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".a .b, .c .d, #id {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\na[href=\\\\\\"#b.c\\\\\\"].x.y {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\n@keyframes z {\\\\n  2.5% {color: green;}\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".a .b, .c .d, #id {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\na[href=\\\\\\"#b.c\\\\\\"].x.y {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\n@keyframes z {\\\\n  2.5% {color: green;}\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8111,12 +8777,12 @@ exports[`"modules" option should work with case \`simple\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`simple\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".a .b, .c .d, #id {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\na[href=\\\\\\"#b.c\\\\\\"].x.y {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\n@keyframes z {\\\\n  2.5% {color: green;}\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".a .b, .c .d, #id {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\na[href=\\\\\\"#b.c\\\\\\"].x.y {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\n@keyframes z {\\\\n  2.5% {color: green;}\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8147,22 +8813,22 @@ exports[`"modules" option should work with case \`simple\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`simple\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._3Usq4DWpHHUfARGj76o2W1 ._2sE42PHfIbHjbGigpdA5M2, ._3JN7IxYrHx5fpD-QuNH8Vg ._169FAY78xdP6MpwfqxWVlS, #_2w6DrNK6drHoI8na0s2YJu {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\na[href=\\\\\\"#b.c\\\\\\"]._3jqDKJEcQhMnSj5LXFzCMT._2CdavzdbxA-_uaXjgT2eG {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\n@keyframes eawDxhAAUQ-HvrUhhwSML {\\\\n  2.5% {color: green;}\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2RC5zm1ETzYWwA-z_wjsay ._1bVka2KQUfGE3ZKCqfezT9, ._2_iRJmJ1hiVKsn42NFypLn .Gl5ylikRMDBN5h6WYNKkm, #_2johT_Nrn18v0zPcwgzc3j {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\na[href=\\\\\\"#b.c\\\\\\"]._1PTN6zj77naMI0xS1EaUuF._102RFjf-y5-2VN54aD7Gdl {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\n@keyframes _1SJB0FVNlmEwtwPSEDkwm4 {\\\\n  2.5% {color: green;}\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"a\\": \\"_3Usq4DWpHHUfARGj76o2W1\\",
-	\\"b\\": \\"_2sE42PHfIbHjbGigpdA5M2\\",
-	\\"c\\": \\"_3JN7IxYrHx5fpD-QuNH8Vg\\",
-	\\"d\\": \\"_169FAY78xdP6MpwfqxWVlS\\",
-	\\"id\\": \\"_2w6DrNK6drHoI8na0s2YJu\\",
-	\\"x\\": \\"_3jqDKJEcQhMnSj5LXFzCMT\\",
-	\\"y\\": \\"_2CdavzdbxA-_uaXjgT2eG\\",
-	\\"z\\": \\"eawDxhAAUQ-HvrUhhwSML\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"a\\": \\"_2RC5zm1ETzYWwA-z_wjsay\\",
+	\\"b\\": \\"_1bVka2KQUfGE3ZKCqfezT9\\",
+	\\"c\\": \\"_2_iRJmJ1hiVKsn42NFypLn\\",
+	\\"d\\": \\"Gl5ylikRMDBN5h6WYNKkm\\",
+	\\"id\\": \\"_2johT_Nrn18v0zPcwgzc3j\\",
+	\\"x\\": \\"_1PTN6zj77naMI0xS1EaUuF\\",
+	\\"y\\": \\"_102RFjf-y5-2VN54aD7Gdl\\",
+	\\"z\\": \\"_1SJB0FVNlmEwtwPSEDkwm4\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8170,15 +8836,15 @@ exports[`"modules" option should work with case \`simple\` (\`modules\` value is
 Array [
   Array [
     "./modules/tests-cases/simple/source.css",
-    "._3Usq4DWpHHUfARGj76o2W1 ._2sE42PHfIbHjbGigpdA5M2, ._3JN7IxYrHx5fpD-QuNH8Vg ._169FAY78xdP6MpwfqxWVlS, #_2w6DrNK6drHoI8na0s2YJu {
+    "._2RC5zm1ETzYWwA-z_wjsay ._1bVka2KQUfGE3ZKCqfezT9, ._2_iRJmJ1hiVKsn42NFypLn .Gl5ylikRMDBN5h6WYNKkm, #_2johT_Nrn18v0zPcwgzc3j {
 	color: green;
 	font-size: 1.5pt;
 }
-a[href=\\"#b.c\\"]._3jqDKJEcQhMnSj5LXFzCMT._2CdavzdbxA-_uaXjgT2eG {
+a[href=\\"#b.c\\"]._1PTN6zj77naMI0xS1EaUuF._102RFjf-y5-2VN54aD7Gdl {
 	color: green;
 	font-size: 1.5pt;
 }
-@keyframes eawDxhAAUQ-HvrUhhwSML {
+@keyframes _1SJB0FVNlmEwtwPSEDkwm4 {
   2.5% {color: green;}
 }
 ",
@@ -8193,12 +8859,12 @@ exports[`"modules" option should work with case \`simple\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`simple\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".a .b, .c .d, #id {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\na[href=\\\\\\"#b.c\\\\\\"].x.y {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\n@keyframes z {\\\\n  2.5% {color: green;}\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".a .b, .c .d, #id {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\na[href=\\\\\\"#b.c\\\\\\"].x.y {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\n@keyframes z {\\\\n  2.5% {color: green;}\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8229,12 +8895,12 @@ exports[`"modules" option should work with case \`simple\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`simple\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._a ._b, ._c ._d, #_id {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\na[href=\\\\\\"#b.c\\\\\\"]._x._y {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\n@keyframes _z {\\\\n  2.5% {color: green;}\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._a ._b, ._c ._d, #_id {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\na[href=\\\\\\"#b.c\\\\\\"]._x._y {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\n@keyframes _z {\\\\n  2.5% {color: green;}\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"a\\": \\"_a\\",
 	\\"b\\": \\"_b\\",
 	\\"c\\": \\"_c\\",
@@ -8244,7 +8910,7 @@ exports.locals = {
 	\\"y\\": \\"_y\\",
 	\\"z\\": \\"_z\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8275,22 +8941,22 @@ exports[`"modules" option should work with case \`simple\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`simple\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._3Usq4DWpHHUfARGj76o2W1 ._2sE42PHfIbHjbGigpdA5M2, ._3JN7IxYrHx5fpD-QuNH8Vg ._169FAY78xdP6MpwfqxWVlS, #_2w6DrNK6drHoI8na0s2YJu {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\na[href=\\\\\\"#b.c\\\\\\"]._3jqDKJEcQhMnSj5LXFzCMT._2CdavzdbxA-_uaXjgT2eG {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\n@keyframes eawDxhAAUQ-HvrUhhwSML {\\\\n  2.5% {color: green;}\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2RC5zm1ETzYWwA-z_wjsay ._1bVka2KQUfGE3ZKCqfezT9, ._2_iRJmJ1hiVKsn42NFypLn .Gl5ylikRMDBN5h6WYNKkm, #_2johT_Nrn18v0zPcwgzc3j {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\na[href=\\\\\\"#b.c\\\\\\"]._1PTN6zj77naMI0xS1EaUuF._102RFjf-y5-2VN54aD7Gdl {\\\\n\\\\tcolor: green;\\\\n\\\\tfont-size: 1.5pt;\\\\n}\\\\n@keyframes _1SJB0FVNlmEwtwPSEDkwm4 {\\\\n  2.5% {color: green;}\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"a\\": \\"_3Usq4DWpHHUfARGj76o2W1\\",
-	\\"b\\": \\"_2sE42PHfIbHjbGigpdA5M2\\",
-	\\"c\\": \\"_3JN7IxYrHx5fpD-QuNH8Vg\\",
-	\\"d\\": \\"_169FAY78xdP6MpwfqxWVlS\\",
-	\\"id\\": \\"_2w6DrNK6drHoI8na0s2YJu\\",
-	\\"x\\": \\"_3jqDKJEcQhMnSj5LXFzCMT\\",
-	\\"y\\": \\"_2CdavzdbxA-_uaXjgT2eG\\",
-	\\"z\\": \\"eawDxhAAUQ-HvrUhhwSML\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"a\\": \\"_2RC5zm1ETzYWwA-z_wjsay\\",
+	\\"b\\": \\"_1bVka2KQUfGE3ZKCqfezT9\\",
+	\\"c\\": \\"_2_iRJmJ1hiVKsn42NFypLn\\",
+	\\"d\\": \\"Gl5ylikRMDBN5h6WYNKkm\\",
+	\\"id\\": \\"_2johT_Nrn18v0zPcwgzc3j\\",
+	\\"x\\": \\"_1PTN6zj77naMI0xS1EaUuF\\",
+	\\"y\\": \\"_102RFjf-y5-2VN54aD7Gdl\\",
+	\\"z\\": \\"_1SJB0FVNlmEwtwPSEDkwm4\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8298,15 +8964,15 @@ exports[`"modules" option should work with case \`simple\` (\`modules\` value is
 Array [
   Array [
     "./modules/tests-cases/simple/source.css",
-    "._3Usq4DWpHHUfARGj76o2W1 ._2sE42PHfIbHjbGigpdA5M2, ._3JN7IxYrHx5fpD-QuNH8Vg ._169FAY78xdP6MpwfqxWVlS, #_2w6DrNK6drHoI8na0s2YJu {
+    "._2RC5zm1ETzYWwA-z_wjsay ._1bVka2KQUfGE3ZKCqfezT9, ._2_iRJmJ1hiVKsn42NFypLn .Gl5ylikRMDBN5h6WYNKkm, #_2johT_Nrn18v0zPcwgzc3j {
 	color: green;
 	font-size: 1.5pt;
 }
-a[href=\\"#b.c\\"]._3jqDKJEcQhMnSj5LXFzCMT._2CdavzdbxA-_uaXjgT2eG {
+a[href=\\"#b.c\\"]._1PTN6zj77naMI0xS1EaUuF._102RFjf-y5-2VN54aD7Gdl {
 	color: green;
 	font-size: 1.5pt;
 }
-@keyframes eawDxhAAUQ-HvrUhhwSML {
+@keyframes _1SJB0FVNlmEwtwPSEDkwm4 {
   2.5% {color: green;}
 }
 ",
@@ -8321,18 +8987,18 @@ exports[`"modules" option should work with case \`urls\` (\`modules\` value is \
 
 exports[`"modules" option should work with case \`urls\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-var ___CSS_LOADER_URL_IMPORT_1___ = require(\\"./img img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+import ___CSS_LOADER_URL_IMPORT_1___ from \\"./img img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);
 var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: \\"#?iefix\\" });
 // Module
-exports.push([module.id, \\".a {\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n\\\\tbackground: url(\\\\\\"#hash\\\\\\");\\\\n\\\\tbackground: url(\\\\\\"#\\\\\\");\\\\n\\\\tbackground: url(data:image/png;base64,AAA);\\\\n\\\\tbackground: url(http://example.com/image.jpg);\\\\n\\\\tbackground: url(//example.com/image.png);\\\\n\\\\tbackground: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") xyz;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".a {\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n\\\\tbackground: url(\\\\\\"#hash\\\\\\");\\\\n\\\\tbackground: url(\\\\\\"#\\\\\\");\\\\n\\\\tbackground: url(data:image/png;base64,AAA);\\\\n\\\\tbackground: url(http://example.com/image.jpg);\\\\n\\\\tbackground: url(//example.com/image.png);\\\\n\\\\tbackground: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") xyz;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8366,18 +9032,18 @@ exports[`"modules" option should work with case \`urls\` (\`modules\` value is \
 
 exports[`"modules" option should work with case \`urls\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-var ___CSS_LOADER_URL_IMPORT_1___ = require(\\"./img img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+import ___CSS_LOADER_URL_IMPORT_1___ from \\"./img img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);
 var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: \\"#?iefix\\" });
 // Module
-exports.push([module.id, \\".a {\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n\\\\tbackground: url(\\\\\\"#hash\\\\\\");\\\\n\\\\tbackground: url(\\\\\\"#\\\\\\");\\\\n\\\\tbackground: url(data:image/png;base64,AAA);\\\\n\\\\tbackground: url(http://example.com/image.jpg);\\\\n\\\\tbackground: url(//example.com/image.png);\\\\n\\\\tbackground: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") xyz;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".a {\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n\\\\tbackground: url(\\\\\\"#hash\\\\\\");\\\\n\\\\tbackground: url(\\\\\\"#\\\\\\");\\\\n\\\\tbackground: url(data:image/png;base64,AAA);\\\\n\\\\tbackground: url(http://example.com/image.jpg);\\\\n\\\\tbackground: url(//example.com/image.png);\\\\n\\\\tbackground: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") xyz;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8411,21 +9077,21 @@ exports[`"modules" option should work with case \`urls\` (\`modules\` value is \
 
 exports[`"modules" option should work with case \`urls\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-var ___CSS_LOADER_URL_IMPORT_1___ = require(\\"./img img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+import ___CSS_LOADER_URL_IMPORT_1___ from \\"./img img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);
 var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: \\"#?iefix\\" });
 // Module
-exports.push([module.id, \\"._1goi1QVFtUMjX82JoFfLLJ {\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n\\\\tbackground: url(\\\\\\"#hash\\\\\\");\\\\n\\\\tbackground: url(\\\\\\"#\\\\\\");\\\\n\\\\tbackground: url(data:image/png;base64,AAA);\\\\n\\\\tbackground: url(http://example.com/image.jpg);\\\\n\\\\tbackground: url(//example.com/image.png);\\\\n\\\\tbackground: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") xyz;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".GZv1DvHy7SSMgc-jmv-_z {\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n\\\\tbackground: url(\\\\\\"#hash\\\\\\");\\\\n\\\\tbackground: url(\\\\\\"#\\\\\\");\\\\n\\\\tbackground: url(data:image/png;base64,AAA);\\\\n\\\\tbackground: url(http://example.com/image.jpg);\\\\n\\\\tbackground: url(//example.com/image.png);\\\\n\\\\tbackground: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") xyz;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"a\\": \\"_1goi1QVFtUMjX82JoFfLLJ\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"a\\": \\"GZv1DvHy7SSMgc-jmv-_z\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8433,7 +9099,7 @@ exports[`"modules" option should work with case \`urls\` (\`modules\` value is \
 Array [
   Array [
     "./modules/tests-cases/urls/source.css",
-    "._1goi1QVFtUMjX82JoFfLLJ {
+    ".GZv1DvHy7SSMgc-jmv-_z {
 	background: url(/webpack/public/path/img.png);
 	background: url(/webpack/public/path/img.png);
 	background: url(\\"/webpack/public/path/img img.png\\");
@@ -8459,18 +9125,18 @@ exports[`"modules" option should work with case \`urls\` (\`modules\` value is \
 
 exports[`"modules" option should work with case \`urls\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-var ___CSS_LOADER_URL_IMPORT_1___ = require(\\"./img img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+import ___CSS_LOADER_URL_IMPORT_1___ from \\"./img img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);
 var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: \\"#?iefix\\" });
 // Module
-exports.push([module.id, \\".a {\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n\\\\tbackground: url(\\\\\\"#hash\\\\\\");\\\\n\\\\tbackground: url(\\\\\\"#\\\\\\");\\\\n\\\\tbackground: url(data:image/png;base64,AAA);\\\\n\\\\tbackground: url(http://example.com/image.jpg);\\\\n\\\\tbackground: url(//example.com/image.png);\\\\n\\\\tbackground: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") xyz;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".a {\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n\\\\tbackground: url(\\\\\\"#hash\\\\\\");\\\\n\\\\tbackground: url(\\\\\\"#\\\\\\");\\\\n\\\\tbackground: url(data:image/png;base64,AAA);\\\\n\\\\tbackground: url(http://example.com/image.jpg);\\\\n\\\\tbackground: url(//example.com/image.png);\\\\n\\\\tbackground: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") xyz;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8504,21 +9170,21 @@ exports[`"modules" option should work with case \`urls\` (\`modules\` value is \
 
 exports[`"modules" option should work with case \`urls\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-var ___CSS_LOADER_URL_IMPORT_1___ = require(\\"./img img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+import ___CSS_LOADER_URL_IMPORT_1___ from \\"./img img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);
 var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: \\"#?iefix\\" });
 // Module
-exports.push([module.id, \\"._a {\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n\\\\tbackground: url(\\\\\\"#hash\\\\\\");\\\\n\\\\tbackground: url(\\\\\\"#\\\\\\");\\\\n\\\\tbackground: url(data:image/png;base64,AAA);\\\\n\\\\tbackground: url(http://example.com/image.jpg);\\\\n\\\\tbackground: url(//example.com/image.png);\\\\n\\\\tbackground: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") xyz;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._a {\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n\\\\tbackground: url(\\\\\\"#hash\\\\\\");\\\\n\\\\tbackground: url(\\\\\\"#\\\\\\");\\\\n\\\\tbackground: url(data:image/png;base64,AAA);\\\\n\\\\tbackground: url(http://example.com/image.jpg);\\\\n\\\\tbackground: url(//example.com/image.png);\\\\n\\\\tbackground: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") xyz;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"a\\": \\"_a\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8552,21 +9218,21 @@ exports[`"modules" option should work with case \`urls\` (\`modules\` value is \
 
 exports[`"modules" option should work with case \`urls\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-var ___CSS_LOADER_URL_IMPORT_1___ = require(\\"./img img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+import ___CSS_LOADER_URL_IMPORT_1___ from \\"./img img.png\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);
 var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: \\"#?iefix\\" });
 // Module
-exports.push([module.id, \\"._1goi1QVFtUMjX82JoFfLLJ {\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n\\\\tbackground: url(\\\\\\"#hash\\\\\\");\\\\n\\\\tbackground: url(\\\\\\"#\\\\\\");\\\\n\\\\tbackground: url(data:image/png;base64,AAA);\\\\n\\\\tbackground: url(http://example.com/image.jpg);\\\\n\\\\tbackground: url(//example.com/image.png);\\\\n\\\\tbackground: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") xyz;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".GZv1DvHy7SSMgc-jmv-_z {\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n\\\\tbackground: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n\\\\tbackground: url(\\\\\\"#hash\\\\\\");\\\\n\\\\tbackground: url(\\\\\\"#\\\\\\");\\\\n\\\\tbackground: url(data:image/png;base64,AAA);\\\\n\\\\tbackground: url(http://example.com/image.jpg);\\\\n\\\\tbackground: url(//example.com/image.png);\\\\n\\\\tbackground: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") xyz;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"a\\": \\"_1goi1QVFtUMjX82JoFfLLJ\\"
+___CSS_LOADER_EXPORT___.locals = {
+	\\"a\\": \\"GZv1DvHy7SSMgc-jmv-_z\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8574,7 +9240,7 @@ exports[`"modules" option should work with case \`urls\` (\`modules\` value is \
 Array [
   Array [
     "./modules/tests-cases/urls/source.css",
-    "._1goi1QVFtUMjX82JoFfLLJ {
+    ".GZv1DvHy7SSMgc-jmv-_z {
 	background: url(/webpack/public/path/img.png);
 	background: url(/webpack/public/path/img.png);
 	background: url(\\"/webpack/public/path/img img.png\\");
@@ -8600,12 +9266,12 @@ exports[`"modules" option should work with case \`values\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`values\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"@value aaa: red;\\\\n@value bbb: green;\\\\n@value ccc: aaa;\\\\n\\\\n.a {\\\\n\\\\tbackground: aaa;\\\\n\\\\tbackground: bbb;\\\\n\\\\tbackground: ccc;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@value aaa: red;\\\\n@value bbb: green;\\\\n@value ccc: aaa;\\\\n\\\\n.a {\\\\n\\\\tbackground: aaa;\\\\n\\\\tbackground: bbb;\\\\n\\\\tbackground: ccc;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8634,17 +9300,17 @@ exports[`"modules" option should work with case \`values\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`values\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".a {\\\\n\\\\tbackground: red;\\\\n\\\\tbackground: green;\\\\n\\\\tbackground: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".a {\\\\n\\\\tbackground: red;\\\\n\\\\tbackground: green;\\\\n\\\\tbackground: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"aaa\\": \\"red\\",
 	\\"bbb\\": \\"green\\",
 	\\"ccc\\": \\"red\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8669,18 +9335,18 @@ exports[`"modules" option should work with case \`values\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`values\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._18yRHBx_s3xK1t_zOjEfo {\\\\n\\\\tbackground: red;\\\\n\\\\tbackground: green;\\\\n\\\\tbackground: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._22lW51l7hxGI-kzwcOOiSt {\\\\n\\\\tbackground: red;\\\\n\\\\tbackground: green;\\\\n\\\\tbackground: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"aaa\\": \\"red\\",
 	\\"bbb\\": \\"green\\",
 	\\"ccc\\": \\"red\\",
-	\\"a\\": \\"_18yRHBx_s3xK1t_zOjEfo\\"
+	\\"a\\": \\"_22lW51l7hxGI-kzwcOOiSt\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8688,7 +9354,7 @@ exports[`"modules" option should work with case \`values\` (\`modules\` value is
 Array [
   Array [
     "./modules/tests-cases/values/source.css",
-    "._18yRHBx_s3xK1t_zOjEfo {
+    "._22lW51l7hxGI-kzwcOOiSt {
 	background: red;
 	background: green;
 	background: red;
@@ -8705,17 +9371,17 @@ exports[`"modules" option should work with case \`values\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`values\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".a {\\\\n\\\\tbackground: red;\\\\n\\\\tbackground: green;\\\\n\\\\tbackground: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".a {\\\\n\\\\tbackground: red;\\\\n\\\\tbackground: green;\\\\n\\\\tbackground: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"aaa\\": \\"red\\",
 	\\"bbb\\": \\"green\\",
 	\\"ccc\\": \\"red\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8740,18 +9406,18 @@ exports[`"modules" option should work with case \`values\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`values\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._a {\\\\n\\\\tbackground: red;\\\\n\\\\tbackground: green;\\\\n\\\\tbackground: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._a {\\\\n\\\\tbackground: red;\\\\n\\\\tbackground: green;\\\\n\\\\tbackground: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"aaa\\": \\"red\\",
 	\\"bbb\\": \\"green\\",
 	\\"ccc\\": \\"red\\",
 	\\"a\\": \\"_a\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8776,18 +9442,18 @@ exports[`"modules" option should work with case \`values\` (\`modules\` value is
 
 exports[`"modules" option should work with case \`values\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._18yRHBx_s3xK1t_zOjEfo {\\\\n\\\\tbackground: red;\\\\n\\\\tbackground: green;\\\\n\\\\tbackground: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._22lW51l7hxGI-kzwcOOiSt {\\\\n\\\\tbackground: red;\\\\n\\\\tbackground: green;\\\\n\\\\tbackground: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"aaa\\": \\"red\\",
 	\\"bbb\\": \\"green\\",
 	\\"ccc\\": \\"red\\",
-	\\"a\\": \\"_18yRHBx_s3xK1t_zOjEfo\\"
+	\\"a\\": \\"_22lW51l7hxGI-kzwcOOiSt\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8795,7 +9461,7 @@ exports[`"modules" option should work with case \`values\` (\`modules\` value is
 Array [
   Array [
     "./modules/tests-cases/values/source.css",
-    "._18yRHBx_s3xK1t_zOjEfo {
+    "._22lW51l7hxGI-kzwcOOiSt {
 	background: red;
 	background: green;
 	background: red;
@@ -8812,12 +9478,12 @@ exports[`"modules" option should work with case \`values-1\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-1\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"@value def: red;\\\\n@value ghi: 1px solid black;\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@value def: red;\\\\n@value ghi: 1px solid black;\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8839,16 +9505,16 @@ exports[`"modules" option should work with case \`values-1\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-1\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"red\\",
 	\\"ghi\\": \\"1px solid black\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8869,16 +9535,16 @@ exports[`"modules" option should work with case \`values-1\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-1\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"red\\",
 	\\"ghi\\": \\"1px solid black\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8899,16 +9565,16 @@ exports[`"modules" option should work with case \`values-1\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-1\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"red\\",
 	\\"ghi\\": \\"1px solid black\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8929,16 +9595,16 @@ exports[`"modules" option should work with case \`values-1\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-1\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"red\\",
 	\\"ghi\\": \\"1px solid black\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8959,16 +9625,16 @@ exports[`"modules" option should work with case \`values-1\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-1\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"red\\",
 	\\"ghi\\": \\"1px solid black\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -8989,12 +9655,12 @@ exports[`"modules" option should work with case \`values-2\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-2\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"@value def: red;\\\\n.ghi { color: def; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@value def: red;\\\\n.ghi { color: def; }\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9016,15 +9682,15 @@ exports[`"modules" option should work with case \`values-2\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-2\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".ghi { color: red; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".ghi { color: red; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"red\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9045,16 +9711,16 @@ exports[`"modules" option should work with case \`values-2\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-2\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._2aKAT4pAinaabqEIFgdhTC { color: red; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._3QThtZCFq_xSv6TMU6T587 { color: red; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"red\\",
-	\\"ghi\\": \\"_2aKAT4pAinaabqEIFgdhTC\\"
+	\\"ghi\\": \\"_3QThtZCFq_xSv6TMU6T587\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9062,7 +9728,7 @@ exports[`"modules" option should work with case \`values-2\` (\`modules\` value
 Array [
   Array [
     "./modules/tests-cases/values-2/source.css",
-    "._2aKAT4pAinaabqEIFgdhTC { color: red; }
+    "._3QThtZCFq_xSv6TMU6T587 { color: red; }
 ",
     "",
   ],
@@ -9075,15 +9741,15 @@ exports[`"modules" option should work with case \`values-2\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-2\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".ghi { color: red; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".ghi { color: red; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"red\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9104,16 +9770,16 @@ exports[`"modules" option should work with case \`values-2\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-2\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._ghi { color: red; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._ghi { color: red; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"red\\",
 	\\"ghi\\": \\"_ghi\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9134,16 +9800,16 @@ exports[`"modules" option should work with case \`values-2\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-2\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._2aKAT4pAinaabqEIFgdhTC { color: red; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._3QThtZCFq_xSv6TMU6T587 { color: red; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"red\\",
-	\\"ghi\\": \\"_2aKAT4pAinaabqEIFgdhTC\\"
+	\\"ghi\\": \\"_3QThtZCFq_xSv6TMU6T587\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9151,7 +9817,7 @@ exports[`"modules" option should work with case \`values-2\` (\`modules\` value
 Array [
   Array [
     "./modules/tests-cases/values-2/source.css",
-    "._2aKAT4pAinaabqEIFgdhTC { color: red; }
+    "._3QThtZCFq_xSv6TMU6T587 { color: red; }
 ",
     "",
   ],
@@ -9164,12 +9830,12 @@ exports[`"modules" option should work with case \`values-3\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-3\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"@value def from './file.css';\\\\n.ghi { color: def; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@value def from './file.css';\\\\n.ghi { color: def; }\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9191,17 +9857,17 @@ exports[`"modules" option should work with case \`values-3\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-3\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\".ghi { color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".ghi { color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9228,18 +9894,18 @@ exports[`"modules" option should work with case \`values-3\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-3\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._29ART3-NNe4DU1X-5_7419 { color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._3PmEf7_kecuq6kdJV_-OOX { color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"\\",
-	\\"ghi\\": \\"_29ART3-NNe4DU1X-5_7419\\"
+	\\"ghi\\": \\"_3PmEf7_kecuq6kdJV_-OOX\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9253,7 +9919,7 @@ Array [
   ],
   Array [
     "./modules/tests-cases/values-3/source.css",
-    "._29ART3-NNe4DU1X-5_7419 { color: red; }
+    "._3PmEf7_kecuq6kdJV_-OOX { color: red; }
 ",
     "",
   ],
@@ -9266,17 +9932,17 @@ exports[`"modules" option should work with case \`values-3\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-3\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\".ghi { color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".ghi { color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9303,18 +9969,18 @@ exports[`"modules" option should work with case \`values-3\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-3\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._ghi { color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._ghi { color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"\\",
 	\\"ghi\\": \\"_ghi\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9341,18 +10007,18 @@ exports[`"modules" option should work with case \`values-3\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-3\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._29ART3-NNe4DU1X-5_7419 { color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._3PmEf7_kecuq6kdJV_-OOX { color: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"\\",
-	\\"ghi\\": \\"_29ART3-NNe4DU1X-5_7419\\"
+	\\"ghi\\": \\"_3PmEf7_kecuq6kdJV_-OOX\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9366,7 +10032,7 @@ Array [
   ],
   Array [
     "./modules/tests-cases/values-3/source.css",
-    "._29ART3-NNe4DU1X-5_7419 { color: red; }
+    "._3PmEf7_kecuq6kdJV_-OOX { color: red; }
 ",
     "",
   ],
@@ -9379,12 +10045,12 @@ exports[`"modules" option should work with case \`values-4\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-4\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"@value def as aaa from './file1.css';\\\\n@value def as bbb from './file2.css';\\\\n.ghi { background: aaa, bbb, def; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@value def as aaa from './file1.css';\\\\n@value def as bbb from './file2.css';\\\\n.ghi { background: aaa, bbb, def; }\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9407,20 +10073,20 @@ exports[`"modules" option should work with case \`values-4\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-4\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../../../src/index.js??[ident]!./file2.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
-exports.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_1___ from \\"-!../../../../../src/index.js??[ident]!./file2.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
 // Module
-exports.push([module.id, \\".ghi { background: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\", \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def\\"] + \\", def; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".ghi { background: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\", \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def\\"] + \\", def; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"aaa\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"\\",
 	\\"bbb\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9453,21 +10119,21 @@ exports[`"modules" option should work with case \`values-4\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-4\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../../../src/index.js??[ident]!./file2.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
-exports.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_1___ from \\"-!../../../../../src/index.js??[ident]!./file2.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._1vGjNPdz_qWrUvzTY2pCsS { background: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\", \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def\\"] + \\", def; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".uuvh8a_auEWHJu1dJhmAf { background: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\", \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def\\"] + \\", def; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"aaa\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"\\",
 	\\"bbb\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def\\"] + \\"\\",
-	\\"ghi\\": \\"_1vGjNPdz_qWrUvzTY2pCsS\\"
+	\\"ghi\\": \\"uuvh8a_auEWHJu1dJhmAf\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9487,7 +10153,7 @@ Array [
   ],
   Array [
     "./modules/tests-cases/values-4/source.css",
-    "._1vGjNPdz_qWrUvzTY2pCsS { background: red, green, def; }
+    ".uuvh8a_auEWHJu1dJhmAf { background: red, green, def; }
 ",
     "",
   ],
@@ -9500,20 +10166,20 @@ exports[`"modules" option should work with case \`values-4\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-4\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../../../src/index.js??[ident]!./file2.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
-exports.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_1___ from \\"-!../../../../../src/index.js??[ident]!./file2.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
 // Module
-exports.push([module.id, \\".ghi { background: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\", \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def\\"] + \\", def; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".ghi { background: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\", \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def\\"] + \\", def; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"aaa\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"\\",
 	\\"bbb\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9546,21 +10212,21 @@ exports[`"modules" option should work with case \`values-4\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-4\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../../../src/index.js??[ident]!./file2.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
-exports.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_1___ from \\"-!../../../../../src/index.js??[ident]!./file2.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._ghi { background: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\", \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def\\"] + \\", def; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._ghi { background: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\", \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def\\"] + \\", def; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"aaa\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"\\",
 	\\"bbb\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def\\"] + \\"\\",
 	\\"ghi\\": \\"_ghi\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9593,21 +10259,21 @@ exports[`"modules" option should work with case \`values-4\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-4\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../../../src/index.js??[ident]!./file2.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
-exports.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+import ___CSS_LOADER_ICSS_IMPORT_1___ from \\"-!../../../../../src/index.js??[ident]!./file2.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_1___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._1vGjNPdz_qWrUvzTY2pCsS { background: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\", \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def\\"] + \\", def; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".uuvh8a_auEWHJu1dJhmAf { background: \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\", \\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def\\"] + \\", def; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"aaa\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"def\\"] + \\"\\",
 	\\"bbb\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_1___.locals[\\"def\\"] + \\"\\",
-	\\"ghi\\": \\"_1vGjNPdz_qWrUvzTY2pCsS\\"
+	\\"ghi\\": \\"uuvh8a_auEWHJu1dJhmAf\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9627,7 +10293,7 @@ Array [
   ],
   Array [
     "./modules/tests-cases/values-4/source.css",
-    "._1vGjNPdz_qWrUvzTY2pCsS { background: red, green, def; }
+    ".uuvh8a_auEWHJu1dJhmAf { background: red, green, def; }
 ",
     "",
   ],
@@ -9640,12 +10306,12 @@ exports[`"modules" option should work with case \`values-5\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-5\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"@value color from './file1.css';\\\\n@value shadow: 0 0 color,0 0 color;\\\\n.ghi { box-shadow: shadow; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@value color from './file1.css';\\\\n@value shadow: 0 0 color,0 0 color;\\\\n.ghi { box-shadow: shadow; }\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9668,18 +10334,18 @@ exports[`"modules" option should work with case \`values-5\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-5\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\".ghi { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\",0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".ghi { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\",0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"color\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
 	\\"shadow\\": \\"0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\",0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9706,19 +10372,19 @@ exports[`"modules" option should work with case \`values-5\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-5\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._3Uw-A6Tr2LkIED6NTqwFvj { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\",0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2kjSEmOCLdQYLux3CTPaa8 { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\",0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"color\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
 	\\"shadow\\": \\"0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\",0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
-	\\"ghi\\": \\"_3Uw-A6Tr2LkIED6NTqwFvj\\"
+	\\"ghi\\": \\"_2kjSEmOCLdQYLux3CTPaa8\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9732,7 +10398,7 @@ Array [
   ],
   Array [
     "./modules/tests-cases/values-5/source.css",
-    "._3Uw-A6Tr2LkIED6NTqwFvj { box-shadow: 0 0 red,0 0 red; }
+    "._2kjSEmOCLdQYLux3CTPaa8 { box-shadow: 0 0 red,0 0 red; }
 ",
     "",
   ],
@@ -9745,18 +10411,18 @@ exports[`"modules" option should work with case \`values-5\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-5\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\".ghi { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\",0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".ghi { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\",0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"color\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
 	\\"shadow\\": \\"0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\",0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9783,19 +10449,19 @@ exports[`"modules" option should work with case \`values-5\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-5\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._ghi { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\",0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._ghi { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\",0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"color\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
 	\\"shadow\\": \\"0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\",0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
 	\\"ghi\\": \\"_ghi\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9822,19 +10488,19 @@ exports[`"modules" option should work with case \`values-5\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-5\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._3Uw-A6Tr2LkIED6NTqwFvj { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\",0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2kjSEmOCLdQYLux3CTPaa8 { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\",0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"color\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
 	\\"shadow\\": \\"0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\",0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
-	\\"ghi\\": \\"_3Uw-A6Tr2LkIED6NTqwFvj\\"
+	\\"ghi\\": \\"_2kjSEmOCLdQYLux3CTPaa8\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9848,7 +10514,7 @@ Array [
   ],
   Array [
     "./modules/tests-cases/values-5/source.css",
-    "._3Uw-A6Tr2LkIED6NTqwFvj { box-shadow: 0 0 red,0 0 red; }
+    "._2kjSEmOCLdQYLux3CTPaa8 { box-shadow: 0 0 red,0 0 red; }
 ",
     "",
   ],
@@ -9861,12 +10527,12 @@ exports[`"modules" option should work with case \`values-6\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-6\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"@value color from './file1.css';\\\\n@value shadow: 0 0 color ,0 0 color;\\\\n.ghi { box-shadow: shadow; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@value color from './file1.css';\\\\n@value shadow: 0 0 color ,0 0 color;\\\\n.ghi { box-shadow: shadow; }\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9889,18 +10555,18 @@ exports[`"modules" option should work with case \`values-6\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-6\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\".ghi { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\" ,0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".ghi { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\" ,0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"color\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
 	\\"shadow\\": \\"0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\" ,0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9927,19 +10593,19 @@ exports[`"modules" option should work with case \`values-6\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-6\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._2qKjolC-wu9Dp8-RCkWiLN { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\" ,0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._23FFcrRz95Fn1Kxf_cl1xK { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\" ,0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"color\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
 	\\"shadow\\": \\"0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\" ,0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
-	\\"ghi\\": \\"_2qKjolC-wu9Dp8-RCkWiLN\\"
+	\\"ghi\\": \\"_23FFcrRz95Fn1Kxf_cl1xK\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -9953,7 +10619,7 @@ Array [
   ],
   Array [
     "./modules/tests-cases/values-6/source.css",
-    "._2qKjolC-wu9Dp8-RCkWiLN { box-shadow: 0 0 red ,0 0 red; }
+    "._23FFcrRz95Fn1Kxf_cl1xK { box-shadow: 0 0 red ,0 0 red; }
 ",
     "",
   ],
@@ -9966,18 +10632,18 @@ exports[`"modules" option should work with case \`values-6\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-6\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\".ghi { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\" ,0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".ghi { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\" ,0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"color\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
 	\\"shadow\\": \\"0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\" ,0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10004,19 +10670,19 @@ exports[`"modules" option should work with case \`values-6\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-6\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._ghi { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\" ,0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._ghi { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\" ,0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"color\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
 	\\"shadow\\": \\"0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\" ,0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
 	\\"ghi\\": \\"_ghi\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10043,19 +10709,19 @@ exports[`"modules" option should work with case \`values-6\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-6\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._2qKjolC-wu9Dp8-RCkWiLN { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\" ,0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._23FFcrRz95Fn1Kxf_cl1xK { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\" ,0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"color\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
 	\\"shadow\\": \\"0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\" ,0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
-	\\"ghi\\": \\"_2qKjolC-wu9Dp8-RCkWiLN\\"
+	\\"ghi\\": \\"_23FFcrRz95Fn1Kxf_cl1xK\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10069,7 +10735,7 @@ Array [
   ],
   Array [
     "./modules/tests-cases/values-6/source.css",
-    "._2qKjolC-wu9Dp8-RCkWiLN { box-shadow: 0 0 red ,0 0 red; }
+    "._23FFcrRz95Fn1Kxf_cl1xK { box-shadow: 0 0 red ,0 0 red; }
 ",
     "",
   ],
@@ -10082,12 +10748,12 @@ exports[`"modules" option should work with case \`values-7\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-7\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"@value color from './file1.css';\\\\n@value shadow: 0 0 color, 0 0 color;\\\\n.ghi { box-shadow: shadow; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@value color from './file1.css';\\\\n@value shadow: 0 0 color, 0 0 color;\\\\n.ghi { box-shadow: shadow; }\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10110,18 +10776,18 @@ exports[`"modules" option should work with case \`values-7\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-7\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\".ghi { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\", 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".ghi { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\", 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"color\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
 	\\"shadow\\": \\"0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\", 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10148,19 +10814,19 @@ exports[`"modules" option should work with case \`values-7\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-7\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._1SVUxnI1T0vYEcq2VXU5pr { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\", 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._3TJ1pl0Np7DzCq5P_a_8I_ { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\", 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"color\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
 	\\"shadow\\": \\"0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\", 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
-	\\"ghi\\": \\"_1SVUxnI1T0vYEcq2VXU5pr\\"
+	\\"ghi\\": \\"_3TJ1pl0Np7DzCq5P_a_8I_\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10174,7 +10840,7 @@ Array [
   ],
   Array [
     "./modules/tests-cases/values-7/source.css",
-    "._1SVUxnI1T0vYEcq2VXU5pr { box-shadow: 0 0 red, 0 0 red; }
+    "._3TJ1pl0Np7DzCq5P_a_8I_ { box-shadow: 0 0 red, 0 0 red; }
 ",
     "",
   ],
@@ -10187,18 +10853,18 @@ exports[`"modules" option should work with case \`values-7\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-7\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\".ghi { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\", 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".ghi { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\", 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"color\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
 	\\"shadow\\": \\"0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\", 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10225,19 +10891,19 @@ exports[`"modules" option should work with case \`values-7\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-7\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._ghi { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\", 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._ghi { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\", 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"color\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
 	\\"shadow\\": \\"0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\", 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
 	\\"ghi\\": \\"_ghi\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10264,19 +10930,19 @@ exports[`"modules" option should work with case \`values-7\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-7\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../../src/index.js??[ident]!./file1.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../../src/index.js??[ident]!./file1.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
 // Module
-exports.push([module.id, \\"._1SVUxnI1T0vYEcq2VXU5pr { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\", 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._3TJ1pl0Np7DzCq5P_a_8I_ { box-shadow: 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\", 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"; }\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"color\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
 	\\"shadow\\": \\"0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\", 0 0 \\" + ___CSS_LOADER_ICSS_IMPORT_0___.locals[\\"color\\"] + \\"\\",
-	\\"ghi\\": \\"_1SVUxnI1T0vYEcq2VXU5pr\\"
+	\\"ghi\\": \\"_3TJ1pl0Np7DzCq5P_a_8I_\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10290,7 +10956,7 @@ Array [
   ],
   Array [
     "./modules/tests-cases/values-7/source.css",
-    "._1SVUxnI1T0vYEcq2VXU5pr { box-shadow: 0 0 red, 0 0 red; }
+    "._3TJ1pl0Np7DzCq5P_a_8I_ { box-shadow: 0 0 red, 0 0 red; }
 ",
     "",
   ],
@@ -10303,12 +10969,12 @@ exports[`"modules" option should work with case \`values-8\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-8\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"@value shadow-color: rgba(0, 0, 0, 0.5);\\\\n\\\\n.shadow {\\\\n  box-shadow: 0 10px 10px shadow-color,\\\\n    10px 0px 5px shadow-color;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@value shadow-color: rgba(0, 0, 0, 0.5);\\\\n\\\\n.shadow {\\\\n  box-shadow: 0 10px 10px shadow-color,\\\\n    10px 0px 5px shadow-color;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10334,15 +11000,15 @@ exports[`"modules" option should work with case \`values-8\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-8\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".shadow {\\\\n  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5),\\\\n    10px 0px 5px rgba(0, 0, 0, 0.5);\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".shadow {\\\\n  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5),\\\\n    10px 0px 5px rgba(0, 0, 0, 0.5);\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"shadow-color\\": \\"rgba(0, 0, 0, 0.5)\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10366,16 +11032,16 @@ exports[`"modules" option should work with case \`values-8\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-8\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._3fhB2YwAmhjTmtcd6ofBQH {\\\\n  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5),\\\\n    10px 0px 5px rgba(0, 0, 0, 0.5);\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._3QM8SuH9jxTIWhI8SQ7MrW {\\\\n  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5),\\\\n    10px 0px 5px rgba(0, 0, 0, 0.5);\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"shadow-color\\": \\"rgba(0, 0, 0, 0.5)\\",
-	\\"shadow\\": \\"_3fhB2YwAmhjTmtcd6ofBQH\\"
+	\\"shadow\\": \\"_3QM8SuH9jxTIWhI8SQ7MrW\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10383,7 +11049,7 @@ exports[`"modules" option should work with case \`values-8\` (\`modules\` value
 Array [
   Array [
     "./modules/tests-cases/values-8/source.css",
-    "._3fhB2YwAmhjTmtcd6ofBQH {
+    "._3QM8SuH9jxTIWhI8SQ7MrW {
   box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5),
     10px 0px 5px rgba(0, 0, 0, 0.5);
 }
@@ -10399,15 +11065,15 @@ exports[`"modules" option should work with case \`values-8\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-8\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".shadow {\\\\n  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5),\\\\n    10px 0px 5px rgba(0, 0, 0, 0.5);\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".shadow {\\\\n  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5),\\\\n    10px 0px 5px rgba(0, 0, 0, 0.5);\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"shadow-color\\": \\"rgba(0, 0, 0, 0.5)\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10431,16 +11097,16 @@ exports[`"modules" option should work with case \`values-8\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-8\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._shadow {\\\\n  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5),\\\\n    10px 0px 5px rgba(0, 0, 0, 0.5);\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._shadow {\\\\n  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5),\\\\n    10px 0px 5px rgba(0, 0, 0, 0.5);\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"shadow-color\\": \\"rgba(0, 0, 0, 0.5)\\",
 	\\"shadow\\": \\"_shadow\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10464,16 +11130,16 @@ exports[`"modules" option should work with case \`values-8\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-8\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._3fhB2YwAmhjTmtcd6ofBQH {\\\\n  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5),\\\\n    10px 0px 5px rgba(0, 0, 0, 0.5);\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._3QM8SuH9jxTIWhI8SQ7MrW {\\\\n  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5),\\\\n    10px 0px 5px rgba(0, 0, 0, 0.5);\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"shadow-color\\": \\"rgba(0, 0, 0, 0.5)\\",
-	\\"shadow\\": \\"_3fhB2YwAmhjTmtcd6ofBQH\\"
+	\\"shadow\\": \\"_3QM8SuH9jxTIWhI8SQ7MrW\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10481,7 +11147,7 @@ exports[`"modules" option should work with case \`values-8\` (\`modules\` value
 Array [
   Array [
     "./modules/tests-cases/values-8/source.css",
-    "._3fhB2YwAmhjTmtcd6ofBQH {
+    "._3QM8SuH9jxTIWhI8SQ7MrW {
   box-shadow: 0 10px 10px rgba(0, 0, 0, 0.5),
     10px 0px 5px rgba(0, 0, 0, 0.5);
 }
@@ -10497,12 +11163,12 @@ exports[`"modules" option should work with case \`values-9\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-9\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"@value def: red;\\\\n\\\\n.foo1 {\\\\n  prop: func(def);\\\\n}\\\\n\\\\n.foo2 {\\\\n  prop: func(10px def);\\\\n}\\\\n\\\\n.foo3 {\\\\n  prop: func(def 10px);\\\\n}\\\\n\\\\n.foo4 {\\\\n  prop: func(10px def 10px);\\\\n}\\\\n\\\\n.foo5 {\\\\n  prop: func(10px, def);\\\\n}\\\\n\\\\n.foo6 {\\\\n  prop: func(def, 10px);\\\\n}\\\\n\\\\n.foo7 {\\\\n  prop: func(10px, def, 10px);\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@value def: red;\\\\n\\\\n.foo1 {\\\\n  prop: func(def);\\\\n}\\\\n\\\\n.foo2 {\\\\n  prop: func(10px def);\\\\n}\\\\n\\\\n.foo3 {\\\\n  prop: func(def 10px);\\\\n}\\\\n\\\\n.foo4 {\\\\n  prop: func(10px def 10px);\\\\n}\\\\n\\\\n.foo5 {\\\\n  prop: func(10px, def);\\\\n}\\\\n\\\\n.foo6 {\\\\n  prop: func(def, 10px);\\\\n}\\\\n\\\\n.foo7 {\\\\n  prop: func(10px, def, 10px);\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10551,15 +11217,15 @@ exports[`"modules" option should work with case \`values-9\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-9\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".foo1 {\\\\n  prop: func(red);\\\\n}\\\\n\\\\n.foo2 {\\\\n  prop: func(10px red);\\\\n}\\\\n\\\\n.foo3 {\\\\n  prop: func(red 10px);\\\\n}\\\\n\\\\n.foo4 {\\\\n  prop: func(10px red 10px);\\\\n}\\\\n\\\\n.foo5 {\\\\n  prop: func(10px, red);\\\\n}\\\\n\\\\n.foo6 {\\\\n  prop: func(red, 10px);\\\\n}\\\\n\\\\n.foo7 {\\\\n  prop: func(10px, red, 10px);\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".foo1 {\\\\n  prop: func(red);\\\\n}\\\\n\\\\n.foo2 {\\\\n  prop: func(10px red);\\\\n}\\\\n\\\\n.foo3 {\\\\n  prop: func(red 10px);\\\\n}\\\\n\\\\n.foo4 {\\\\n  prop: func(10px red 10px);\\\\n}\\\\n\\\\n.foo5 {\\\\n  prop: func(10px, red);\\\\n}\\\\n\\\\n.foo6 {\\\\n  prop: func(red, 10px);\\\\n}\\\\n\\\\n.foo7 {\\\\n  prop: func(10px, red, 10px);\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"red\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10606,22 +11272,22 @@ exports[`"modules" option should work with case \`values-9\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-9\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1V2U7x4U8oxxooLcDA25iL {\\\\n  prop: func(red);\\\\n}\\\\n\\\\n._3E1mOwwzg7yDREAM1sTqrf {\\\\n  prop: func(10px red);\\\\n}\\\\n\\\\n._1jURUggvUGFLzQ1zAWjNep {\\\\n  prop: func(red 10px);\\\\n}\\\\n\\\\n._2gTeanreYt1oKNw6pvYDuQ {\\\\n  prop: func(10px red 10px);\\\\n}\\\\n\\\\n._1FHimE7YIOvZ66qJzb5oD7 {\\\\n  prop: func(10px, red);\\\\n}\\\\n\\\\n._2ZsNKxzBYz6NW_ITMiAbSo {\\\\n  prop: func(red, 10px);\\\\n}\\\\n\\\\n._18TpSE38_jlCbLotZMXh67 {\\\\n  prop: func(10px, red, 10px);\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._3IPwBTtlaNnHpjlwAZt5Oo {\\\\n  prop: func(red);\\\\n}\\\\n\\\\n._3qd0Uy-Vj7A89MML4-B0a8 {\\\\n  prop: func(10px red);\\\\n}\\\\n\\\\n._2SIu6cITNS3wV8Rs35W9ES {\\\\n  prop: func(red 10px);\\\\n}\\\\n\\\\n._2ohqX1louX5yQ29OK0mpz7 {\\\\n  prop: func(10px red 10px);\\\\n}\\\\n\\\\n._-59hqTyaIjCYZ4G6SBe0T {\\\\n  prop: func(10px, red);\\\\n}\\\\n\\\\n._2zuRF6WBo7qIYI8qh4e21a {\\\\n  prop: func(red, 10px);\\\\n}\\\\n\\\\n._2A5Wg42fuXM8x3sxkEEimJ {\\\\n  prop: func(10px, red, 10px);\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"red\\",
-	\\"foo1\\": \\"_1V2U7x4U8oxxooLcDA25iL\\",
-	\\"foo2\\": \\"_3E1mOwwzg7yDREAM1sTqrf\\",
-	\\"foo3\\": \\"_1jURUggvUGFLzQ1zAWjNep\\",
-	\\"foo4\\": \\"_2gTeanreYt1oKNw6pvYDuQ\\",
-	\\"foo5\\": \\"_1FHimE7YIOvZ66qJzb5oD7\\",
-	\\"foo6\\": \\"_2ZsNKxzBYz6NW_ITMiAbSo\\",
-	\\"foo7\\": \\"_18TpSE38_jlCbLotZMXh67\\"
+	\\"foo1\\": \\"_3IPwBTtlaNnHpjlwAZt5Oo\\",
+	\\"foo2\\": \\"_3qd0Uy-Vj7A89MML4-B0a8\\",
+	\\"foo3\\": \\"_2SIu6cITNS3wV8Rs35W9ES\\",
+	\\"foo4\\": \\"_2ohqX1louX5yQ29OK0mpz7\\",
+	\\"foo5\\": \\"_-59hqTyaIjCYZ4G6SBe0T\\",
+	\\"foo6\\": \\"_2zuRF6WBo7qIYI8qh4e21a\\",
+	\\"foo7\\": \\"_2A5Wg42fuXM8x3sxkEEimJ\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10629,31 +11295,31 @@ exports[`"modules" option should work with case \`values-9\` (\`modules\` value
 Array [
   Array [
     "./modules/tests-cases/values-9/source.css",
-    "._1V2U7x4U8oxxooLcDA25iL {
+    "._3IPwBTtlaNnHpjlwAZt5Oo {
   prop: func(red);
 }
 
-._3E1mOwwzg7yDREAM1sTqrf {
+._3qd0Uy-Vj7A89MML4-B0a8 {
   prop: func(10px red);
 }
 
-._1jURUggvUGFLzQ1zAWjNep {
+._2SIu6cITNS3wV8Rs35W9ES {
   prop: func(red 10px);
 }
 
-._2gTeanreYt1oKNw6pvYDuQ {
+._2ohqX1louX5yQ29OK0mpz7 {
   prop: func(10px red 10px);
 }
 
-._1FHimE7YIOvZ66qJzb5oD7 {
+._-59hqTyaIjCYZ4G6SBe0T {
   prop: func(10px, red);
 }
 
-._2ZsNKxzBYz6NW_ITMiAbSo {
+._2zuRF6WBo7qIYI8qh4e21a {
   prop: func(red, 10px);
 }
 
-._18TpSE38_jlCbLotZMXh67 {
+._2A5Wg42fuXM8x3sxkEEimJ {
   prop: func(10px, red, 10px);
 }
 ",
@@ -10668,15 +11334,15 @@ exports[`"modules" option should work with case \`values-9\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-9\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".foo1 {\\\\n  prop: func(red);\\\\n}\\\\n\\\\n.foo2 {\\\\n  prop: func(10px red);\\\\n}\\\\n\\\\n.foo3 {\\\\n  prop: func(red 10px);\\\\n}\\\\n\\\\n.foo4 {\\\\n  prop: func(10px red 10px);\\\\n}\\\\n\\\\n.foo5 {\\\\n  prop: func(10px, red);\\\\n}\\\\n\\\\n.foo6 {\\\\n  prop: func(red, 10px);\\\\n}\\\\n\\\\n.foo7 {\\\\n  prop: func(10px, red, 10px);\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".foo1 {\\\\n  prop: func(red);\\\\n}\\\\n\\\\n.foo2 {\\\\n  prop: func(10px red);\\\\n}\\\\n\\\\n.foo3 {\\\\n  prop: func(red 10px);\\\\n}\\\\n\\\\n.foo4 {\\\\n  prop: func(10px red 10px);\\\\n}\\\\n\\\\n.foo5 {\\\\n  prop: func(10px, red);\\\\n}\\\\n\\\\n.foo6 {\\\\n  prop: func(red, 10px);\\\\n}\\\\n\\\\n.foo7 {\\\\n  prop: func(10px, red, 10px);\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"red\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10723,12 +11389,12 @@ exports[`"modules" option should work with case \`values-9\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-9\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._foo1 {\\\\n  prop: func(red);\\\\n}\\\\n\\\\n._foo2 {\\\\n  prop: func(10px red);\\\\n}\\\\n\\\\n._foo3 {\\\\n  prop: func(red 10px);\\\\n}\\\\n\\\\n._foo4 {\\\\n  prop: func(10px red 10px);\\\\n}\\\\n\\\\n._foo5 {\\\\n  prop: func(10px, red);\\\\n}\\\\n\\\\n._foo6 {\\\\n  prop: func(red, 10px);\\\\n}\\\\n\\\\n._foo7 {\\\\n  prop: func(10px, red, 10px);\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._foo1 {\\\\n  prop: func(red);\\\\n}\\\\n\\\\n._foo2 {\\\\n  prop: func(10px red);\\\\n}\\\\n\\\\n._foo3 {\\\\n  prop: func(red 10px);\\\\n}\\\\n\\\\n._foo4 {\\\\n  prop: func(10px red 10px);\\\\n}\\\\n\\\\n._foo5 {\\\\n  prop: func(10px, red);\\\\n}\\\\n\\\\n._foo6 {\\\\n  prop: func(red, 10px);\\\\n}\\\\n\\\\n._foo7 {\\\\n  prop: func(10px, red, 10px);\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"red\\",
 	\\"foo1\\": \\"_foo1\\",
 	\\"foo2\\": \\"_foo2\\",
@@ -10738,7 +11404,7 @@ exports.locals = {
 	\\"foo6\\": \\"_foo6\\",
 	\\"foo7\\": \\"_foo7\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10785,22 +11451,22 @@ exports[`"modules" option should work with case \`values-9\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-9\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._1V2U7x4U8oxxooLcDA25iL {\\\\n  prop: func(red);\\\\n}\\\\n\\\\n._3E1mOwwzg7yDREAM1sTqrf {\\\\n  prop: func(10px red);\\\\n}\\\\n\\\\n._1jURUggvUGFLzQ1zAWjNep {\\\\n  prop: func(red 10px);\\\\n}\\\\n\\\\n._2gTeanreYt1oKNw6pvYDuQ {\\\\n  prop: func(10px red 10px);\\\\n}\\\\n\\\\n._1FHimE7YIOvZ66qJzb5oD7 {\\\\n  prop: func(10px, red);\\\\n}\\\\n\\\\n._2ZsNKxzBYz6NW_ITMiAbSo {\\\\n  prop: func(red, 10px);\\\\n}\\\\n\\\\n._18TpSE38_jlCbLotZMXh67 {\\\\n  prop: func(10px, red, 10px);\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._3IPwBTtlaNnHpjlwAZt5Oo {\\\\n  prop: func(red);\\\\n}\\\\n\\\\n._3qd0Uy-Vj7A89MML4-B0a8 {\\\\n  prop: func(10px red);\\\\n}\\\\n\\\\n._2SIu6cITNS3wV8Rs35W9ES {\\\\n  prop: func(red 10px);\\\\n}\\\\n\\\\n._2ohqX1louX5yQ29OK0mpz7 {\\\\n  prop: func(10px red 10px);\\\\n}\\\\n\\\\n._-59hqTyaIjCYZ4G6SBe0T {\\\\n  prop: func(10px, red);\\\\n}\\\\n\\\\n._2zuRF6WBo7qIYI8qh4e21a {\\\\n  prop: func(red, 10px);\\\\n}\\\\n\\\\n._2A5Wg42fuXM8x3sxkEEimJ {\\\\n  prop: func(10px, red, 10px);\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"def\\": \\"red\\",
-	\\"foo1\\": \\"_1V2U7x4U8oxxooLcDA25iL\\",
-	\\"foo2\\": \\"_3E1mOwwzg7yDREAM1sTqrf\\",
-	\\"foo3\\": \\"_1jURUggvUGFLzQ1zAWjNep\\",
-	\\"foo4\\": \\"_2gTeanreYt1oKNw6pvYDuQ\\",
-	\\"foo5\\": \\"_1FHimE7YIOvZ66qJzb5oD7\\",
-	\\"foo6\\": \\"_2ZsNKxzBYz6NW_ITMiAbSo\\",
-	\\"foo7\\": \\"_18TpSE38_jlCbLotZMXh67\\"
+	\\"foo1\\": \\"_3IPwBTtlaNnHpjlwAZt5Oo\\",
+	\\"foo2\\": \\"_3qd0Uy-Vj7A89MML4-B0a8\\",
+	\\"foo3\\": \\"_2SIu6cITNS3wV8Rs35W9ES\\",
+	\\"foo4\\": \\"_2ohqX1louX5yQ29OK0mpz7\\",
+	\\"foo5\\": \\"_-59hqTyaIjCYZ4G6SBe0T\\",
+	\\"foo6\\": \\"_2zuRF6WBo7qIYI8qh4e21a\\",
+	\\"foo7\\": \\"_2A5Wg42fuXM8x3sxkEEimJ\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10808,31 +11474,31 @@ exports[`"modules" option should work with case \`values-9\` (\`modules\` value
 Array [
   Array [
     "./modules/tests-cases/values-9/source.css",
-    "._1V2U7x4U8oxxooLcDA25iL {
+    "._3IPwBTtlaNnHpjlwAZt5Oo {
   prop: func(red);
 }
 
-._3E1mOwwzg7yDREAM1sTqrf {
+._3qd0Uy-Vj7A89MML4-B0a8 {
   prop: func(10px red);
 }
 
-._1jURUggvUGFLzQ1zAWjNep {
+._2SIu6cITNS3wV8Rs35W9ES {
   prop: func(red 10px);
 }
 
-._2gTeanreYt1oKNw6pvYDuQ {
+._2ohqX1louX5yQ29OK0mpz7 {
   prop: func(10px red 10px);
 }
 
-._1FHimE7YIOvZ66qJzb5oD7 {
+._-59hqTyaIjCYZ4G6SBe0T {
   prop: func(10px, red);
 }
 
-._2ZsNKxzBYz6NW_ITMiAbSo {
+._2zuRF6WBo7qIYI8qh4e21a {
   prop: func(red, 10px);
 }
 
-._18TpSE38_jlCbLotZMXh67 {
+._2A5Wg42fuXM8x3sxkEEimJ {
   prop: func(10px, red, 10px);
 }
 ",
@@ -10847,12 +11513,12 @@ exports[`"modules" option should work with case \`values-10\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-10\` (\`modules\` value is \`false)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"@value v-primary: #BF4040;\\\\n@value s-black: black-selector;\\\\n@value m-large: (min-width: 960px);\\\\n\\\\n.header {\\\\n  color: v-primary;\\\\n  padding: 0 10px;\\\\n}\\\\n\\\\n.s-black {\\\\n  color: black;\\\\n}\\\\n\\\\n@media m-large {\\\\n  .header {\\\\n    padding: 0 20px;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"@value v-primary: #BF4040;\\\\n@value s-black: black-selector;\\\\n@value m-large: (min-width: 960px);\\\\n\\\\n.header {\\\\n  color: v-primary;\\\\n  padding: 0 10px;\\\\n}\\\\n\\\\n.s-black {\\\\n  color: black;\\\\n}\\\\n\\\\n@media m-large {\\\\n  .header {\\\\n    padding: 0 20px;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10890,17 +11556,17 @@ exports[`"modules" option should work with case \`values-10\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-10\` (\`modules\` value is \`global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".header {\\\\n  color: #BF4040;\\\\n  padding: 0 10px;\\\\n}\\\\n\\\\n.black-selector {\\\\n  color: black;\\\\n}\\\\n\\\\n@media (min-width: 960px) {\\\\n  .header {\\\\n    padding: 0 20px;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".header {\\\\n  color: #BF4040;\\\\n  padding: 0 10px;\\\\n}\\\\n\\\\n.black-selector {\\\\n  color: black;\\\\n}\\\\n\\\\n@media (min-width: 960px) {\\\\n  .header {\\\\n    padding: 0 20px;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"v-primary\\": \\"#BF4040\\",
 	\\"s-black\\": \\"black-selector\\",
 	\\"m-large\\": \\"(min-width: 960px)\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10934,19 +11600,19 @@ exports[`"modules" option should work with case \`values-10\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-10\` (\`modules\` value is \`local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".ODvOrT6QaJbrNxuVwTgHn {\\\\n  color: #BF4040;\\\\n  padding: 0 10px;\\\\n}\\\\n\\\\n._3xId28FIeFVmNWx5IWeWqN {\\\\n  color: black;\\\\n}\\\\n\\\\n@media (min-width: 960px) {\\\\n  .ODvOrT6QaJbrNxuVwTgHn {\\\\n    padding: 0 20px;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2V2JI3y5T05ezX1wZCEeFE {\\\\n  color: #BF4040;\\\\n  padding: 0 10px;\\\\n}\\\\n\\\\n._2JrNINv1dS7I0I24kQC9cl {\\\\n  color: black;\\\\n}\\\\n\\\\n@media (min-width: 960px) {\\\\n  ._2V2JI3y5T05ezX1wZCEeFE {\\\\n    padding: 0 20px;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"v-primary\\": \\"#BF4040\\",
 	\\"s-black\\": \\"black-selector\\",
 	\\"m-large\\": \\"(min-width: 960px)\\",
-	\\"header\\": \\"ODvOrT6QaJbrNxuVwTgHn\\",
-	\\"black-selector\\": \\"_3xId28FIeFVmNWx5IWeWqN\\"
+	\\"header\\": \\"_2V2JI3y5T05ezX1wZCEeFE\\",
+	\\"black-selector\\": \\"_2JrNINv1dS7I0I24kQC9cl\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -10954,17 +11620,17 @@ exports[`"modules" option should work with case \`values-10\` (\`modules\` value
 Array [
   Array [
     "./modules/tests-cases/values-10/source.css",
-    ".ODvOrT6QaJbrNxuVwTgHn {
+    "._2V2JI3y5T05ezX1wZCEeFE {
   color: #BF4040;
   padding: 0 10px;
 }
 
-._3xId28FIeFVmNWx5IWeWqN {
+._2JrNINv1dS7I0I24kQC9cl {
   color: black;
 }
 
 @media (min-width: 960px) {
-  .ODvOrT6QaJbrNxuVwTgHn {
+  ._2V2JI3y5T05ezX1wZCEeFE {
     padding: 0 20px;
   }
 }
@@ -10980,17 +11646,17 @@ exports[`"modules" option should work with case \`values-10\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-10\` (\`modules\` value is \`object with mode global)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".header {\\\\n  color: #BF4040;\\\\n  padding: 0 10px;\\\\n}\\\\n\\\\n.black-selector {\\\\n  color: black;\\\\n}\\\\n\\\\n@media (min-width: 960px) {\\\\n  .header {\\\\n    padding: 0 20px;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".header {\\\\n  color: #BF4040;\\\\n  padding: 0 10px;\\\\n}\\\\n\\\\n.black-selector {\\\\n  color: black;\\\\n}\\\\n\\\\n@media (min-width: 960px) {\\\\n  .header {\\\\n    padding: 0 20px;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"v-primary\\": \\"#BF4040\\",
 	\\"s-black\\": \\"black-selector\\",
 	\\"m-large\\": \\"(min-width: 960px)\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -11024,19 +11690,19 @@ exports[`"modules" option should work with case \`values-10\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-10\` (\`modules\` value is \`object with mode local)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._header {\\\\n  color: #BF4040;\\\\n  padding: 0 10px;\\\\n}\\\\n\\\\n._black-selector {\\\\n  color: black;\\\\n}\\\\n\\\\n@media (min-width: 960px) {\\\\n  ._header {\\\\n    padding: 0 20px;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._header {\\\\n  color: #BF4040;\\\\n  padding: 0 10px;\\\\n}\\\\n\\\\n._black-selector {\\\\n  color: black;\\\\n}\\\\n\\\\n@media (min-width: 960px) {\\\\n  ._header {\\\\n    padding: 0 20px;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"v-primary\\": \\"#BF4040\\",
 	\\"s-black\\": \\"black-selector\\",
 	\\"m-large\\": \\"(min-width: 960px)\\",
 	\\"header\\": \\"_header\\",
 	\\"black-selector\\": \\"_black-selector\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -11070,19 +11736,19 @@ exports[`"modules" option should work with case \`values-10\` (\`modules\` value
 
 exports[`"modules" option should work with case \`values-10\` (\`modules\` value is \`true)\`: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".ODvOrT6QaJbrNxuVwTgHn {\\\\n  color: #BF4040;\\\\n  padding: 0 10px;\\\\n}\\\\n\\\\n._3xId28FIeFVmNWx5IWeWqN {\\\\n  color: black;\\\\n}\\\\n\\\\n@media (min-width: 960px) {\\\\n  .ODvOrT6QaJbrNxuVwTgHn {\\\\n    padding: 0 20px;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._2V2JI3y5T05ezX1wZCEeFE {\\\\n  color: #BF4040;\\\\n  padding: 0 10px;\\\\n}\\\\n\\\\n._2JrNINv1dS7I0I24kQC9cl {\\\\n  color: black;\\\\n}\\\\n\\\\n@media (min-width: 960px) {\\\\n  ._2V2JI3y5T05ezX1wZCEeFE {\\\\n    padding: 0 20px;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"v-primary\\": \\"#BF4040\\",
 	\\"s-black\\": \\"black-selector\\",
 	\\"m-large\\": \\"(min-width: 960px)\\",
-	\\"header\\": \\"ODvOrT6QaJbrNxuVwTgHn\\",
-	\\"black-selector\\": \\"_3xId28FIeFVmNWx5IWeWqN\\"
+	\\"header\\": \\"_2V2JI3y5T05ezX1wZCEeFE\\",
+	\\"black-selector\\": \\"_2JrNINv1dS7I0I24kQC9cl\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -11090,17 +11756,17 @@ exports[`"modules" option should work with case \`values-10\` (\`modules\` value
 Array [
   Array [
     "./modules/tests-cases/values-10/source.css",
-    ".ODvOrT6QaJbrNxuVwTgHn {
+    "._2V2JI3y5T05ezX1wZCEeFE {
   color: #BF4040;
   padding: 0 10px;
 }
 
-._3xId28FIeFVmNWx5IWeWqN {
+._2JrNINv1dS7I0I24kQC9cl {
   color: black;
 }
 
 @media (min-width: 960px) {
-  .ODvOrT6QaJbrNxuVwTgHn {
+  ._2V2JI3y5T05ezX1wZCEeFE {
     padding: 0 20px;
   }
 }
@@ -11116,12 +11782,12 @@ exports[`"modules" option should work with the "[local]" placeholder for the "lo
 
 exports[`"modules" option should work with the "[local]" placeholder for the "localIdentName" option: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".test {\\\\n  background: red;\\\\n}\\\\n\\\\n._test {\\\\n  background: blue;\\\\n}\\\\n\\\\n.className {\\\\n  background: red;\\\\n}\\\\n\\\\n#someId {\\\\n  background: green;\\\\n}\\\\n\\\\n.className .subClass {\\\\n  color: green;\\\\n}\\\\n\\\\n#someId .subClass {\\\\n  color: blue;\\\\n}\\\\n\\\\n.-a0-34a___f {\\\\n  color: red;\\\\n}\\\\n\\\\n.m_x_\\\\\\\\@ {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n.B\\\\\\\\&W\\\\\\\\? {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#\\\\\\\\#fake-id {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#-a-b-c- {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#© {\\\\n  color: black;\\\\n}\\\\n\\\\n.♥ { background: lime; }\\\\n.© { background: lime; }\\\\n.“‘’” { background: lime; }\\\\n.☺☃ { background: lime; }\\\\n.⌘⌥ { background: lime; }\\\\n.𝄞♪♩♫♬ { background: lime; }\\\\n.💩 { background: lime; }\\\\n.\\\\\\\\? { background: lime; }\\\\n.\\\\\\\\@ { background: lime; }\\\\n.\\\\\\\\. { background: lime; }\\\\n.\\\\\\\\3A \\\\\\\\) { background: lime; }\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( { background: lime; }\\\\n.\\\\\\\\31 23 { background: lime; }\\\\n.\\\\\\\\31 a2b3c { background: lime; }\\\\n.\\\\\\\\<p\\\\\\\\> { background: lime; }\\\\n.\\\\\\\\<\\\\\\\\>\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\>\\\\\\\\>\\\\\\\\<\\\\\\\\> { background: lime; }\\\\n.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\[\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\-\\\\\\\\]\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\<\\\\\\\\<\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\. { background: lime; }\\\\n.\\\\\\\\# { background: lime; }\\\\n.\\\\\\\\#\\\\\\\\# { background: lime; }\\\\n.\\\\\\\\#\\\\\\\\.\\\\\\\\#\\\\\\\\.\\\\\\\\# { background: lime; }\\\\n.\\\\\\\\_ { background: lime; }\\\\n.\\\\\\\\{\\\\\\\\} { background: lime; }\\\\n.\\\\\\\\#fake\\\\\\\\-id { background: lime; }\\\\n.foo\\\\\\\\.bar { background: lime; }\\\\n.\\\\\\\\3A hover { background: lime; }\\\\n.\\\\\\\\3A hover\\\\\\\\3A focus\\\\\\\\3A active { background: lime; }\\\\n.\\\\\\\\[attr\\\\\\\\=value\\\\\\\\] { background: lime; }\\\\n.f\\\\\\\\/o\\\\\\\\/o { background: lime; }\\\\n.f\\\\\\\\\\\\\\\\o\\\\\\\\\\\\\\\\o { background: lime; }\\\\n.f\\\\\\\\*o\\\\\\\\*o { background: lime; }\\\\n.f\\\\\\\\!o\\\\\\\\!o { background: lime; }\\\\n.f\\\\\\\\'o\\\\\\\\'o { background: lime; }\\\\n.f\\\\\\\\~o\\\\\\\\~o { background: lime; }\\\\n.f\\\\\\\\+o\\\\\\\\+o { background: lime; }\\\\n\\\\n.foo\\\\\\\\/bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\\\\\\\\\bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\/bar\\\\\\\\/baz {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\\\\\\\\\bar\\\\\\\\\\\\\\\\baz {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".test {\\\\n  background: red;\\\\n}\\\\n\\\\n._test {\\\\n  background: blue;\\\\n}\\\\n\\\\n.className {\\\\n  background: red;\\\\n}\\\\n\\\\n#someId {\\\\n  background: green;\\\\n}\\\\n\\\\n.className .subClass {\\\\n  color: green;\\\\n}\\\\n\\\\n#someId .subClass {\\\\n  color: blue;\\\\n}\\\\n\\\\n.-a0-34a___f {\\\\n  color: red;\\\\n}\\\\n\\\\n.m_x_\\\\\\\\@ {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n.B\\\\\\\\&W\\\\\\\\? {\\\\n  margin-left: auto !important;\\\\n  margin-right: auto !important;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\":\`(\\\\\\" */\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( {\\\\n  color: aqua;\\\\n}\\\\n\\\\n/* matches elements with class=\\\\\\"1a2b3c\\\\\\" */\\\\n.\\\\\\\\31 a2b3c {\\\\n  color: aliceblue;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"#fake-id\\\\\\" */\\\\n#\\\\\\\\#fake-id {\\\\n  color: antiquewhite;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"-a-b-c-\\\\\\" */\\\\n#-a-b-c- {\\\\n  color: azure;\\\\n}\\\\n\\\\n/* matches the element with id=\\\\\\"©\\\\\\" */\\\\n#© {\\\\n  color: black;\\\\n}\\\\n\\\\n.♥ { background: lime; }\\\\n.© { background: lime; }\\\\n.“‘’” { background: lime; }\\\\n.☺☃ { background: lime; }\\\\n.⌘⌥ { background: lime; }\\\\n.𝄞♪♩♫♬ { background: lime; }\\\\n.💩 { background: lime; }\\\\n.\\\\\\\\? { background: lime; }\\\\n.\\\\\\\\@ { background: lime; }\\\\n.\\\\\\\\. { background: lime; }\\\\n.\\\\\\\\3A \\\\\\\\) { background: lime; }\\\\n.\\\\\\\\3A \\\\\\\\\`\\\\\\\\( { background: lime; }\\\\n.\\\\\\\\31 23 { background: lime; }\\\\n.\\\\\\\\31 a2b3c { background: lime; }\\\\n.\\\\\\\\<p\\\\\\\\> { background: lime; }\\\\n.\\\\\\\\<\\\\\\\\>\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\>\\\\\\\\>\\\\\\\\<\\\\\\\\> { background: lime; }\\\\n.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\[\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\>\\\\\\\\+\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\<\\\\\\\\-\\\\\\\\]\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\<\\\\\\\\<\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\.\\\\\\\\+\\\\\\\\+\\\\\\\\+\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\-\\\\\\\\.\\\\\\\\>\\\\\\\\+\\\\\\\\.\\\\\\\\>\\\\\\\\. { background: lime; }\\\\n.\\\\\\\\# { background: lime; }\\\\n.\\\\\\\\#\\\\\\\\# { background: lime; }\\\\n.\\\\\\\\#\\\\\\\\.\\\\\\\\#\\\\\\\\.\\\\\\\\# { background: lime; }\\\\n.\\\\\\\\_ { background: lime; }\\\\n.\\\\\\\\{\\\\\\\\} { background: lime; }\\\\n.\\\\\\\\#fake\\\\\\\\-id { background: lime; }\\\\n.foo\\\\\\\\.bar { background: lime; }\\\\n.\\\\\\\\3A hover { background: lime; }\\\\n.\\\\\\\\3A hover\\\\\\\\3A focus\\\\\\\\3A active { background: lime; }\\\\n.\\\\\\\\[attr\\\\\\\\=value\\\\\\\\] { background: lime; }\\\\n.f\\\\\\\\/o\\\\\\\\/o { background: lime; }\\\\n.f\\\\\\\\\\\\\\\\o\\\\\\\\\\\\\\\\o { background: lime; }\\\\n.f\\\\\\\\*o\\\\\\\\*o { background: lime; }\\\\n.f\\\\\\\\!o\\\\\\\\!o { background: lime; }\\\\n.f\\\\\\\\'o\\\\\\\\'o { background: lime; }\\\\n.f\\\\\\\\~o\\\\\\\\~o { background: lime; }\\\\n.f\\\\\\\\+o\\\\\\\\+o { background: lime; }\\\\n\\\\n.foo\\\\\\\\/bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\\\\\\\\\bar {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\/bar\\\\\\\\/baz {\\\\n  background: hotpink;\\\\n}\\\\n\\\\n.foo\\\\\\\\\\\\\\\\bar\\\\\\\\\\\\\\\\baz {\\\\n  background: hotpink;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"123\\": \\"123\\",
 	\\"test\\": \\"test\\",
 	\\"_test\\": \\"_test\\",
@@ -11170,7 +11836,7 @@ exports.locals = {
 	\\"foo/bar/baz\\": \\"foo/bar/baz\\",
 	\\"foo\\\\\\\\bar\\\\\\\\baz\\": \\"foo\\\\\\\\bar\\\\\\\\baz\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -11299,21 +11965,198 @@ Array [
 
 exports[`"modules" option should work with the "[local]" placeholder for the "localIdentName" option: warnings 1`] = `Array []`;
 
+exports[`"modules" option should work with the "auto" by default: errors 1`] = `Array []`;
+
+exports[`"modules" option should work with the "auto" by default: module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\"._7x1O42EfTGW5Jj5FVZ0HH {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+// Exports
+___CSS_LOADER_EXPORT___.locals = {
+	\\"relative\\": \\"_7x1O42EfTGW5Jj5FVZ0HH\\"
+};
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"modules" option should work with the "auto" by default: result 1`] = `
+Array [
+  Array [
+    "./modules/mode/relative.module.css",
+    "._7x1O42EfTGW5Jj5FVZ0HH {
+  color: red;
+}
+",
+    "",
+  ],
+]
+`;
+
+exports[`"modules" option should work with the "auto" by default: warnings 1`] = `Array []`;
+
+exports[`"modules" option should work with the "auto" when it is "false": errors 1`] = `Array []`;
+
+exports[`"modules" option should work with the "auto" when it is "false": module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\".relative {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+// Exports
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"modules" option should work with the "auto" when it is "false": result 1`] = `
+Array [
+  Array [
+    "./modules/mode/relative.module.css",
+    ".relative {
+  color: red;
+}
+",
+    "",
+  ],
+]
+`;
+
+exports[`"modules" option should work with the "auto" when it is "false": warnings 1`] = `Array []`;
+
+exports[`"modules" option should work with the "auto" when it is "true": errors 1`] = `Array []`;
+
+exports[`"modules" option should work with the "auto" when it is "true": module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\"._7x1O42EfTGW5Jj5FVZ0HH {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+// Exports
+___CSS_LOADER_EXPORT___.locals = {
+	\\"relative\\": \\"_7x1O42EfTGW5Jj5FVZ0HH\\"
+};
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"modules" option should work with the "auto" when it is "true": result 1`] = `
+Array [
+  Array [
+    "./modules/mode/relative.module.css",
+    "._7x1O42EfTGW5Jj5FVZ0HH {
+  color: red;
+}
+",
+    "",
+  ],
+]
+`;
+
+exports[`"modules" option should work with the "auto" when it is "true": warnings 1`] = `Array []`;
+
+exports[`"modules" option should work with the "namedExport" option with nested import: errors 1`] = `Array []`;
+
+exports[`"modules" option should work with the "namedExport" option with nested import: module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+import ___CSS_LOADER_ICSS_IMPORT_0___, * as ___CSS_LOADER_ICSS_IMPORT_0____NAMED___ from \\"-!../../../../../src/index.js??[ident]!../../composes/values.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_ICSS_IMPORT_0___, \\"\\", true);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\"._10XHvKY7SkdmM8ZvRFtWzU {\\\\n  color: #BF4040;\\\\n  padding: 0 10px;\\\\n}\\\\n\\\\n._1kluA9lYOATstWNhEJp14n {\\\\n  color: black;\\\\n}\\\\n\\\\n@media (min-width: 960px) and (max-width: 1024px) {\\\\n  ._10XHvKY7SkdmM8ZvRFtWzU {\\\\n    color: \\" + ___CSS_LOADER_ICSS_IMPORT_0____NAMED___[\\"vDef\\"] + \\";\\\\n    padding: 0 20px;\\\\n  }\\\\n}\\\\n\\", \\"\\"]);
+// Exports
+export const vDef = \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0____NAMED___[\\"vDef\\"] + \\"\\";
+export const vPrimary = \\"#BF4040\\";
+export const sBlack = \\"black-selector\\";
+export const mLarge = \\"(min-width: 960px)\\";
+export const header = \\"_10XHvKY7SkdmM8ZvRFtWzU\\";
+export const blackSelector = \\"_1kluA9lYOATstWNhEJp14n\\";
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"modules" option should work with the "namedExport" option with nested import: result 1`] = `
+Array [
+  Array [
+    "../../src/index.js?[ident]!./modules/composes/values.css",
+    "
+",
+    "",
+  ],
+  Array [
+    "./modules/namedExport/nested/index.css",
+    "._10XHvKY7SkdmM8ZvRFtWzU {
+  color: #BF4040;
+  padding: 0 10px;
+}
+
+._1kluA9lYOATstWNhEJp14n {
+  color: black;
+}
+
+@media (min-width: 960px) and (max-width: 1024px) {
+  ._10XHvKY7SkdmM8ZvRFtWzU {
+    color: red;
+    padding: 0 20px;
+  }
+}
+",
+    "",
+  ],
+]
+`;
+
+exports[`"modules" option should work with the "namedExport" option with nested import: warnings 1`] = `Array []`;
+
+exports[`"modules" option should work with the "namedExport" option: errors 1`] = `Array []`;
+
+exports[`"modules" option should work with the "namedExport" option: module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\"._1DWrSJ4evr5bF-6Ojpv9nG {\\\\n  color: red;\\\\n}\\\\n\\\\n.bar {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+// Exports
+export const barBaz = \\"_1DWrSJ4evr5bF-6Ojpv9nG\\";
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"modules" option should work with the "namedExport" option: result 1`] = `
+Array [
+  Array [
+    "./modules/namedExport/base/index.css",
+    "._1DWrSJ4evr5bF-6Ojpv9nG {
+  color: red;
+}
+
+.bar {
+  color: red;
+}
+",
+    "",
+  ],
+]
+`;
+
+exports[`"modules" option should work with the "namedExport" option: warnings 1`] = `Array []`;
+
 exports[`"modules" option should work with the \`exportGlobals\` option (the \`mode\` option is \`global\`): errors 1`] = `Array []`;
 
 exports[`"modules" option should work with the \`exportGlobals\` option (the \`mode\` option is \`global\`): module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".QLhabfC4HjcIBmobkGW_v {\\\\n  background-color: red;\\\\n}\\\\n\\\\n._1fCLE6vkQLICB5aEeEaLgd {\\\\n  background-color: green;\\\\n}\\\\n\\\\n.baz {\\\\n  background-color: blue;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".U6YQOcHviE3h3NFZZZ5M4 {\\\\n  background-color: red;\\\\n}\\\\n\\\\n._3zPLpiUwMWmIlS0v_4JOvv {\\\\n  background-color: green;\\\\n}\\\\n\\\\n.baz {\\\\n  background-color: blue;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"foo\\": \\"QLhabfC4HjcIBmobkGW_v\\",
-	\\"bar\\": \\"_1fCLE6vkQLICB5aEeEaLgd\\",
+___CSS_LOADER_EXPORT___.locals = {
+	\\"foo\\": \\"U6YQOcHviE3h3NFZZZ5M4\\",
+	\\"bar\\": \\"_3zPLpiUwMWmIlS0v_4JOvv\\",
 	\\"baz\\": \\"baz\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -11321,11 +12164,11 @@ exports[`"modules" option should work with the \`exportGlobals\` option (the \`m
 Array [
   Array [
     "./modules/exportGlobals-global/exportGlobals.css",
-    ".QLhabfC4HjcIBmobkGW_v {
+    ".U6YQOcHviE3h3NFZZZ5M4 {
   background-color: red;
 }
 
-._1fCLE6vkQLICB5aEeEaLgd {
+._3zPLpiUwMWmIlS0v_4JOvv {
   background-color: green;
 }
 
@@ -11344,17 +12187,17 @@ exports[`"modules" option should work with the \`exportGlobals\` option (the \`m
 
 exports[`"modules" option should work with the \`exportGlobals\` option (the \`mode\` option is \`local\`): module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\".foo {\\\\n  background-color: red;\\\\n}\\\\n\\\\n._3loyPgwYlZ-RBGWccx71es {\\\\n  background-color: green;\\\\n}\\\\n\\\\n.baz {\\\\n  background-color: blue;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".foo {\\\\n  background-color: red;\\\\n}\\\\n\\\\n._2GpmlqkdnlTbY35A2Y5HS5 {\\\\n  background-color: green;\\\\n}\\\\n\\\\n.baz {\\\\n  background-color: blue;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
+___CSS_LOADER_EXPORT___.locals = {
 	\\"foo\\": \\"foo\\",
-	\\"bar\\": \\"_3loyPgwYlZ-RBGWccx71es\\",
+	\\"bar\\": \\"_2GpmlqkdnlTbY35A2Y5HS5\\",
 	\\"baz\\": \\"baz\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -11366,7 +12209,7 @@ Array [
   background-color: red;
 }
 
-._3loyPgwYlZ-RBGWccx71es {
+._2GpmlqkdnlTbY35A2Y5HS5 {
   background-color: green;
 }
 
@@ -11385,19 +12228,19 @@ exports[`"modules" option should work with the \`exportGlobals\` option (the \`m
 
 exports[`"modules" option should work with the \`exportGlobals\` option (the \`mode\` option is \`pure\`): module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"._3OALfsKrVzw8QnGzfteWls {\\\\n  background-color: red;\\\\n}\\\\n\\\\n._3w1OTKuiiZvf8WY1tCPaZH ._1cmRmgT7HI056zoTdHDOVh {\\\\n  background-color: green;\\\\n}\\\\n\\\\n._3pB9KhpUqVA1pPH1Y8ei3y .baz {\\\\n  background-color: blue;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"._31D6CXtz0kxMsaltXHARe1 {\\\\n  background-color: red;\\\\n}\\\\n\\\\n._2DZGhttFE60WMrIgMzxt40 ._2b57w7OxEaiVSVjrH5vrg_ {\\\\n  background-color: green;\\\\n}\\\\n\\\\n._1w7zCrpZ6qgJ4T9Q78aj68 .baz {\\\\n  background-color: blue;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-exports.locals = {
-	\\"foo\\": \\"_3OALfsKrVzw8QnGzfteWls\\",
-	\\"one\\": \\"_3w1OTKuiiZvf8WY1tCPaZH\\",
-	\\"bar\\": \\"_1cmRmgT7HI056zoTdHDOVh\\",
-	\\"two\\": \\"_3pB9KhpUqVA1pPH1Y8ei3y\\",
+___CSS_LOADER_EXPORT___.locals = {
+	\\"foo\\": \\"_31D6CXtz0kxMsaltXHARe1\\",
+	\\"one\\": \\"_2DZGhttFE60WMrIgMzxt40\\",
+	\\"bar\\": \\"_2b57w7OxEaiVSVjrH5vrg_\\",
+	\\"two\\": \\"_1w7zCrpZ6qgJ4T9Q78aj68\\",
 	\\"baz\\": \\"baz\\"
 };
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -11405,15 +12248,15 @@ exports[`"modules" option should work with the \`exportGlobals\` option (the \`m
 Array [
   Array [
     "./modules/exportGlobals-pure/exportGlobals.css",
-    "._3OALfsKrVzw8QnGzfteWls {
+    "._31D6CXtz0kxMsaltXHARe1 {
   background-color: red;
 }
 
-._3w1OTKuiiZvf8WY1tCPaZH ._1cmRmgT7HI056zoTdHDOVh {
+._2DZGhttFE60WMrIgMzxt40 ._2b57w7OxEaiVSVjrH5vrg_ {
   background-color: green;
 }
 
-._3pB9KhpUqVA1pPH1Y8ei3y .baz {
+._1w7zCrpZ6qgJ4T9Q78aj68 .baz {
   background-color: blue;
 }
 ",
diff --git a/test/__snapshots__/onlyLocals-option.test.js.snap b/test/__snapshots__/onlyLocals-option.test.js.snap
deleted file mode 100644
index 82845d42..00000000
--- a/test/__snapshots__/onlyLocals-option.test.js.snap
+++ /dev/null
@@ -1,225 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`"onlyLocals" option should work with the "esModule" option: errors 1`] = `Array []`;
-
-exports[`"onlyLocals" option should work with the "esModule" option: module 1`] = `
-"// Imports
-import ___CSS_LOADER_ICSS_IMPORT_0___ from \\"-!../../../../src/index.js??[ident]!./values.css\\";
-import ___CSS_LOADER_ICSS_IMPORT_1___ from \\"-!../../../../src/index.js??[ident]!./something.css\\";
-import ___CSS_LOADER_ICSS_IMPORT_2___ from \\"-!../../../../src/index.js??[ident]!./imported-simple.css\\";
-import ___CSS_LOADER_ICSS_IMPORT_3___ from \\"-!../../../../src/index.js??[ident]!./relative.css\\";
-import ___CSS_LOADER_ICSS_IMPORT_4___ from \\"-!../../../../src/index.js??[ident]!./top-relative.css\\";
-import ___CSS_LOADER_ICSS_IMPORT_5___ from \\"-!../../../../src/index.js??[ident]!../issue-861/node_modules/package/style.css\\";
-import ___CSS_LOADER_ICSS_IMPORT_6___ from \\"-!../../../../src/index.js??[ident]!aliasesComposes/alias.css\\";
-// Exports
-export default {
-	\\"v-def\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___[\\"v-def\\"] + \\"\\",
-	\\"v-other\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___[\\"v-other\\"] + \\"\\",
-	\\"s-white\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___[\\"s-white\\"] + \\"\\",
-	\\"m-small\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___[\\"m-small\\"] + \\"\\",
-	\\"v-something\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_1___[\\"v-something\\"] + \\"\\",
-	\\"v-foo\\": \\"blue\\",
-	\\"v-bar\\": \\"block\\",
-	\\"v-primary\\": \\"#BF4040\\",
-	\\"s-black\\": \\"black-selector\\",
-	\\"m-large\\": \\"(min-width: 960px)\\",
-	\\"v-ident\\": \\"validIdent\\",
-	\\"v-pre-defined-ident\\": \\"left\\",
-	\\"v-string\\": \\"'content'\\",
-	\\"v-string-1\\": \\"''\\",
-	\\"v-url\\": \\"url(https://www.exammple.com/images/my-background.png)\\",
-	\\"v-url-1\\": \\"url('https://www.exammple.com/images/my-background.png')\\",
-	\\"v-url-2\\": \\"url(\\\\\\"https://www.exammple.com/images/my-background.png\\\\\\")\\",
-	\\"v-integer\\": \\"100\\",
-	\\"v-integer-1\\": \\"-100\\",
-	\\"v-integer-2\\": \\"+100\\",
-	\\"v-number\\": \\".60\\",
-	\\"v-number-1\\": \\"-456.8\\",
-	\\"v-number-2\\": \\"-3.4e-2\\",
-	\\"v-dimension\\": \\"12px\\",
-	\\"v-percentage\\": \\"100%\\",
-	\\"v-hex\\": \\"#fff\\",
-	\\"v-function\\": \\"rgb(0,0,0)\\",
-	\\"v-unicode-range\\": \\"U+0025-00FF\\",
-	\\"ghi\\": \\"_ghi\\",
-	\\"class\\": \\"_class\\",
-	\\"other\\": \\"_other\\",
-	\\"other-other\\": \\"_other-other\\",
-	\\"green\\": \\"_green\\",
-	\\"foo\\": \\"_foo\\",
-	\\"simple\\": \\"_simple \\" + ___CSS_LOADER_ICSS_IMPORT_2___[\\"imported-simple\\"] + \\"\\",
-	\\"relative\\": \\"_relative \\" + ___CSS_LOADER_ICSS_IMPORT_3___[\\"imported-relative\\"] + \\"\\",
-	\\"top-relative\\": \\"_top-relative \\" + ___CSS_LOADER_ICSS_IMPORT_4___[\\"imported-relative\\"] + \\"\\",
-	\\"module\\": \\"_module \\" + ___CSS_LOADER_ICSS_IMPORT_5___[\\"imported-module\\"] + \\"\\",
-	\\"alias\\": \\"_alias \\" + ___CSS_LOADER_ICSS_IMPORT_6___[\\"imported-alias\\"] + \\"\\",
-	\\"primary-selector\\": \\"_primary-selector\\",
-	\\"black-selector\\": \\"_black-selector\\",
-	\\"header\\": \\"_header\\",
-	\\"foobarbaz\\": \\"_foobarbaz\\",
-	\\"url\\": \\"_url\\"
-};
-"
-`;
-
-exports[`"onlyLocals" option should work with the "esModule" option: result 1`] = `
-Object {
-  "alias": "_alias _imported-alias",
-  "black-selector": "_black-selector",
-  "class": "_class",
-  "foo": "_foo",
-  "foobarbaz": "_foobarbaz",
-  "ghi": "_ghi",
-  "green": "_green",
-  "header": "_header",
-  "m-large": "(min-width: 960px)",
-  "m-small": "(min-width: 320px)",
-  "module": "_module _imported-module",
-  "other": "_other",
-  "other-other": "_other-other",
-  "primary-selector": "_primary-selector",
-  "relative": "_relative _imported-relative",
-  "s-black": "black-selector",
-  "s-white": "white",
-  "simple": "_simple _imported-simple",
-  "top-relative": "_top-relative undefined",
-  "url": "_url",
-  "v-bar": "block",
-  "v-def": "red",
-  "v-dimension": "12px",
-  "v-foo": "blue",
-  "v-function": "rgb(0,0,0)",
-  "v-hex": "#fff",
-  "v-ident": "validIdent",
-  "v-integer": "100",
-  "v-integer-1": "-100",
-  "v-integer-2": "+100",
-  "v-number": ".60",
-  "v-number-1": "-456.8",
-  "v-number-2": "-3.4e-2",
-  "v-other": "green",
-  "v-percentage": "100%",
-  "v-pre-defined-ident": "left",
-  "v-primary": "#BF4040",
-  "v-something": "2112moon",
-  "v-string": "'content'",
-  "v-string-1": "''",
-  "v-unicode-range": "U+0025-00FF",
-  "v-url": "url(https://www.exammple.com/images/my-background.png)",
-  "v-url-1": "url('https://www.exammple.com/images/my-background.png')",
-  "v-url-2": "url(\\"https://www.exammple.com/images/my-background.png\\")",
-}
-`;
-
-exports[`"onlyLocals" option should work with the "esModule" option: warnings 1`] = `Array []`;
-
-exports[`"onlyLocals" option should work: errors 1`] = `Array []`;
-
-exports[`"onlyLocals" option should work: module 1`] = `
-"// Imports
-var ___CSS_LOADER_ICSS_IMPORT_0___ = require(\\"-!../../../../src/index.js??[ident]!./values.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_1___ = require(\\"-!../../../../src/index.js??[ident]!./something.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_2___ = require(\\"-!../../../../src/index.js??[ident]!./imported-simple.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_3___ = require(\\"-!../../../../src/index.js??[ident]!./relative.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_4___ = require(\\"-!../../../../src/index.js??[ident]!./top-relative.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_5___ = require(\\"-!../../../../src/index.js??[ident]!../issue-861/node_modules/package/style.css\\");
-var ___CSS_LOADER_ICSS_IMPORT_6___ = require(\\"-!../../../../src/index.js??[ident]!aliasesComposes/alias.css\\");
-// Exports
-module.exports = {
-	\\"v-def\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___[\\"v-def\\"] + \\"\\",
-	\\"v-other\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___[\\"v-other\\"] + \\"\\",
-	\\"s-white\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___[\\"s-white\\"] + \\"\\",
-	\\"m-small\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_0___[\\"m-small\\"] + \\"\\",
-	\\"v-something\\": \\"\\" + ___CSS_LOADER_ICSS_IMPORT_1___[\\"v-something\\"] + \\"\\",
-	\\"v-foo\\": \\"blue\\",
-	\\"v-bar\\": \\"block\\",
-	\\"v-primary\\": \\"#BF4040\\",
-	\\"s-black\\": \\"black-selector\\",
-	\\"m-large\\": \\"(min-width: 960px)\\",
-	\\"v-ident\\": \\"validIdent\\",
-	\\"v-pre-defined-ident\\": \\"left\\",
-	\\"v-string\\": \\"'content'\\",
-	\\"v-string-1\\": \\"''\\",
-	\\"v-url\\": \\"url(https://www.exammple.com/images/my-background.png)\\",
-	\\"v-url-1\\": \\"url('https://www.exammple.com/images/my-background.png')\\",
-	\\"v-url-2\\": \\"url(\\\\\\"https://www.exammple.com/images/my-background.png\\\\\\")\\",
-	\\"v-integer\\": \\"100\\",
-	\\"v-integer-1\\": \\"-100\\",
-	\\"v-integer-2\\": \\"+100\\",
-	\\"v-number\\": \\".60\\",
-	\\"v-number-1\\": \\"-456.8\\",
-	\\"v-number-2\\": \\"-3.4e-2\\",
-	\\"v-dimension\\": \\"12px\\",
-	\\"v-percentage\\": \\"100%\\",
-	\\"v-hex\\": \\"#fff\\",
-	\\"v-function\\": \\"rgb(0,0,0)\\",
-	\\"v-unicode-range\\": \\"U+0025-00FF\\",
-	\\"ghi\\": \\"_ghi\\",
-	\\"class\\": \\"_class\\",
-	\\"other\\": \\"_other\\",
-	\\"other-other\\": \\"_other-other\\",
-	\\"green\\": \\"_green\\",
-	\\"foo\\": \\"_foo\\",
-	\\"simple\\": \\"_simple \\" + ___CSS_LOADER_ICSS_IMPORT_2___[\\"imported-simple\\"] + \\"\\",
-	\\"relative\\": \\"_relative \\" + ___CSS_LOADER_ICSS_IMPORT_3___[\\"imported-relative\\"] + \\"\\",
-	\\"top-relative\\": \\"_top-relative \\" + ___CSS_LOADER_ICSS_IMPORT_4___[\\"imported-relative\\"] + \\"\\",
-	\\"module\\": \\"_module \\" + ___CSS_LOADER_ICSS_IMPORT_5___[\\"imported-module\\"] + \\"\\",
-	\\"alias\\": \\"_alias \\" + ___CSS_LOADER_ICSS_IMPORT_6___[\\"imported-alias\\"] + \\"\\",
-	\\"primary-selector\\": \\"_primary-selector\\",
-	\\"black-selector\\": \\"_black-selector\\",
-	\\"header\\": \\"_header\\",
-	\\"foobarbaz\\": \\"_foobarbaz\\",
-	\\"url\\": \\"_url\\"
-};
-"
-`;
-
-exports[`"onlyLocals" option should work: result 1`] = `
-Object {
-  "alias": "_alias _imported-alias",
-  "black-selector": "_black-selector",
-  "class": "_class",
-  "foo": "_foo",
-  "foobarbaz": "_foobarbaz",
-  "ghi": "_ghi",
-  "green": "_green",
-  "header": "_header",
-  "m-large": "(min-width: 960px)",
-  "m-small": "(min-width: 320px)",
-  "module": "_module _imported-module",
-  "other": "_other",
-  "other-other": "_other-other",
-  "primary-selector": "_primary-selector",
-  "relative": "_relative _imported-relative",
-  "s-black": "black-selector",
-  "s-white": "white",
-  "simple": "_simple _imported-simple",
-  "top-relative": "_top-relative undefined",
-  "url": "_url",
-  "v-bar": "block",
-  "v-def": "red",
-  "v-dimension": "12px",
-  "v-foo": "blue",
-  "v-function": "rgb(0,0,0)",
-  "v-hex": "#fff",
-  "v-ident": "validIdent",
-  "v-integer": "100",
-  "v-integer-1": "-100",
-  "v-integer-2": "+100",
-  "v-number": ".60",
-  "v-number-1": "-456.8",
-  "v-number-2": "-3.4e-2",
-  "v-other": "green",
-  "v-percentage": "100%",
-  "v-pre-defined-ident": "left",
-  "v-primary": "#BF4040",
-  "v-something": "2112moon",
-  "v-string": "'content'",
-  "v-string-1": "''",
-  "v-unicode-range": "U+0025-00FF",
-  "v-url": "url(https://www.exammple.com/images/my-background.png)",
-  "v-url-1": "url('https://www.exammple.com/images/my-background.png')",
-  "v-url-2": "url(\\"https://www.exammple.com/images/my-background.png\\")",
-}
-`;
-
-exports[`"onlyLocals" option should work: warnings 1`] = `Array []`;
diff --git a/test/__snapshots__/sourceMap-option.test.js.snap b/test/__snapshots__/sourceMap-option.test.js.snap
index 7cee4dd4..c0cf7230 100644
--- a/test/__snapshots__/sourceMap-option.test.js.snap
+++ b/test/__snapshots__/sourceMap-option.test.js.snap
@@ -4,14 +4,14 @@ exports[`"sourceMap" option false should not generate source maps when source ma
 
 exports[`"sourceMap" option false should not generate source maps when source maps equal to "null" from an other loader: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./nested/nested.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 // Module
-exports.push([module.id, \\".class {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -42,14 +42,14 @@ exports[`"sourceMap" option false should not generate source maps when source ma
 
 exports[`"sourceMap" option false should not generate source maps when source maps equal to "undefined" from an other loader: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./nested/nested.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 // Module
-exports.push([module.id, \\".class {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -80,14 +80,14 @@ exports[`"sourceMap" option false should not generate source maps when source ma
 
 exports[`"sourceMap" option false should not generate source maps when source maps is valid and string from an other loader: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./nested/nested.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 // Module
-exports.push([module.id, \\".class {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -118,14 +118,14 @@ exports[`"sourceMap" option false should not generate source maps when source ma
 
 exports[`"sourceMap" option false should not generate source maps when source maps is valid from an other loader (\`postcss-loader\`): module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./nested/nested.postcss.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.postcss.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 // Module
-exports.push([module.id, \\":root {\\\\n  --fontSize: 1rem;\\\\n  --mainColor: rgba(18,52,86,0.47059);\\\\n  --secondaryColor: rgba(102, 51, 153, 0.9);\\\\n}\\\\n\\\\nhtml {\\\\n  overflow-x: hidden;\\\\n  overflow-y: auto;\\\\n  overflow: hidden auto;\\\\n}\\\\n\\\\n@media (max-width: 50rem) {\\\\n  body {\\\\n    color: rgba(18,52,86,0.47059);\\\\n    color: var(--mainColor);\\\\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;\\\\n    font-size: 1rem;\\\\n    font-size: var(--fontSize);\\\\n    line-height: calc(1rem * 1.5);\\\\n    line-height: calc(var(--fontSize) * 1.5);\\\\n    word-wrap: break-word;\\\\n    padding-left: calc(1rem / 2 + 1px);\\\\n    padding-right: calc(1rem / 2 + 1px);\\\\n    padding-left: calc(var(--fontSize) / 2 + 1px);\\\\n    padding-right: calc(var(--fontSize) / 2 + 1px);\\\\n  }\\\\n}\\\\n\\\\nh1,h2,h3,h4,h5,h6 {\\\\n  margin-top: 0;\\\\n  margin-bottom: 0;\\\\n}\\\\n\\\\na {\\\\n  color: rgba(0, 0, 255, 0.9)\\\\n}\\\\n\\\\na:hover {\\\\n   color: #639;\\\\n }\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\":root {\\\\n  --fontSize: 1rem;\\\\n  --mainColor: rgba(18,52,86,0.47059);\\\\n  --secondaryColor: rgba(102, 51, 153, 0.9);\\\\n}\\\\n\\\\nhtml {\\\\n  overflow-x: hidden;\\\\n  overflow-y: auto;\\\\n  overflow: hidden auto;\\\\n}\\\\n\\\\n@media (max-width: 50rem) {\\\\n  body {\\\\n    color: rgba(18,52,86,0.47059);\\\\n    color: var(--mainColor);\\\\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;\\\\n    font-size: 1rem;\\\\n    font-size: var(--fontSize);\\\\n    line-height: calc(1rem * 1.5);\\\\n    line-height: calc(var(--fontSize) * 1.5);\\\\n    word-wrap: break-word;\\\\n    padding-left: calc(1rem / 2 + 1px);\\\\n    padding-right: calc(1rem / 2 + 1px);\\\\n    padding-left: calc(var(--fontSize) / 2 + 1px);\\\\n    padding-right: calc(var(--fontSize) / 2 + 1px);\\\\n  }\\\\n}\\\\n\\\\nh1,h2,h3,h4,h5,h6 {\\\\n  margin-top: 0;\\\\n  margin-bottom: 0;\\\\n}\\\\n\\\\na {\\\\n  color: rgba(0, 0, 255, 0.9)\\\\n}\\\\n\\\\na:hover {\\\\n   color: #639;\\\\n }\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -194,12 +194,12 @@ exports[`"sourceMap" option false should not generate source maps when source ma
 
 exports[`"sourceMap" option false should not generate source maps when source maps is valid from an other loader (\`sass-loader\`): module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
 // Module
-exports.push([module.id, \\"body {\\\\n  font: 100% Helvetica, sans-serif;\\\\n  color: #333;\\\\n}\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\"body {\\\\n  font: 100% Helvetica, sans-serif;\\\\n  color: #333;\\\\n}\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -222,14 +222,14 @@ exports[`"sourceMap" option false should not generate source maps: errors 1`] =
 
 exports[`"sourceMap" option false should not generate source maps: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./nested/nested.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 // Module
-exports.push([module.id, \\".class {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -260,14 +260,14 @@ exports[`"sourceMap" option not specified should not generate source maps: error
 
 exports[`"sourceMap" option not specified should not generate source maps: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./nested/nested.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 // Module
-exports.push([module.id, \\".class {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -298,12 +298,12 @@ exports[`"sourceMap" option true should generate source maps #2: errors 1`] = `A
 
 exports[`"sourceMap" option true should generate source maps #2: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-exports = ___CSS_LOADER_API_IMPORT___(true);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);
 // Module
-exports.push([module.id, \\".foo {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"with-query.css\\"],\\"names\\":[],\\"mappings\\":\\"AAAA;EACE,UAAU;AACZ\\",\\"file\\":\\"with-query.css\\",\\"sourcesContent\\":[\\".foo {\\\\n  color: red;\\\\n}\\\\n\\"]}]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".foo {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"with-query.css\\"],\\"names\\":[],\\"mappings\\":\\"AAAA;EACE,UAAU;AACZ\\",\\"file\\":\\"with-query.css\\",\\"sourcesContent\\":[\\".foo {\\\\n  color: red;\\\\n}\\\\n\\"]}]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -341,14 +341,14 @@ exports[`"sourceMap" option true should generate source maps when source maps eq
 
 exports[`"sourceMap" option true should generate source maps when source maps equal to "null" from an other loader: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./nested/nested.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(true);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 // Module
-exports.push([module.id, \\".class {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"basic.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;EACE,UAAU;AACZ\\",\\"file\\":\\"basic.css\\",\\"sourcesContent\\":[\\"@import \\\\\\"./nested/nested.css\\\\\\";\\\\n\\\\n.class {\\\\n  color: red;\\\\n}\\\\n\\"]}]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"basic.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;EACE,UAAU;AACZ\\",\\"file\\":\\"basic.css\\",\\"sourcesContent\\":[\\"@import \\\\\\"./nested/nested.css\\\\\\";\\\\n\\\\n.class {\\\\n  color: red;\\\\n}\\\\n\\"]}]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -411,14 +411,14 @@ exports[`"sourceMap" option true should generate source maps when source maps eq
 
 exports[`"sourceMap" option true should generate source maps when source maps equal to "undefined" from an other loader: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./nested/nested.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(true);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 // Module
-exports.push([module.id, \\".class {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"basic.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;EACE,UAAU;AACZ\\",\\"file\\":\\"basic.css\\",\\"sourcesContent\\":[\\"@import \\\\\\"./nested/nested.css\\\\\\";\\\\n\\\\n.class {\\\\n  color: red;\\\\n}\\\\n\\"]}]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"basic.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;EACE,UAAU;AACZ\\",\\"file\\":\\"basic.css\\",\\"sourcesContent\\":[\\"@import \\\\\\"./nested/nested.css\\\\\\";\\\\n\\\\n.class {\\\\n  color: red;\\\\n}\\\\n\\"]}]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -477,18 +477,93 @@ Array [
 
 exports[`"sourceMap" option true should generate source maps when source maps equal to "undefined" from an other loader: warnings 1`] = `Array []`;
 
+exports[`"sourceMap" option true should generate source maps when source maps is valid and is set sourceRoot: errors 1`] = `Array []`;
+
+exports[`"sourceMap" option true should generate source maps when source maps is valid and is set sourceRoot: module 1`] = `
+"// Imports
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+// Module
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"/fixtures/source-map/basic.css\\",\\"basic.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;ECCE,UAAU;AACZ\\",\\"file\\":\\"basic.css\\",\\"sourcesContent\\":[\\".class {\\\\n  color: red;\\\\n}\\\\n\\",\\"@import \\\\\\"./nested/nested.css\\\\\\";\\\\n\\\\n.class {\\\\n  color: red;\\\\n}\\\\n\\"]}]);
+// Exports
+export default ___CSS_LOADER_EXPORT___;
+"
+`;
+
+exports[`"sourceMap" option true should generate source maps when source maps is valid and is set sourceRoot: result 1`] = `
+Array [
+  Array [
+    "../../src/index.js?[ident]!./source-map/nested/nested.css",
+    ".nested {
+  color: blue;
+}
+",
+    "",
+    Object {
+      "file": "nested.css",
+      "mappings": "AAAA;EACE,WAAW;AACb",
+      "names": Array [],
+      "sources": Array [
+        "nested.css",
+      ],
+      "sourcesContent": Array [
+        ".nested {
+  color: blue;
+}
+",
+      ],
+      "version": 3,
+    },
+  ],
+  Array [
+    "./source-map/basic.css",
+    ".class {
+  color: red;
+}
+",
+    "",
+    Object {
+      "file": "basic.css",
+      "mappings": "AAEA;ECCE,UAAU;AACZ",
+      "names": Array [],
+      "sources": Array [
+        "/fixtures/source-map/basic.css",
+        "basic.css",
+      ],
+      "sourcesContent": Array [
+        ".class {
+  color: red;
+}
+",
+        "@import \\"./nested/nested.css\\";
+
+.class {
+  color: red;
+}
+",
+      ],
+      "version": 3,
+    },
+  ],
+]
+`;
+
+exports[`"sourceMap" option true should generate source maps when source maps is valid and is set sourceRoot: warnings 1`] = `Array []`;
+
 exports[`"sourceMap" option true should generate source maps when source maps is valid and string from an other loader: errors 1`] = `Array []`;
 
 exports[`"sourceMap" option true should generate source maps when source maps is valid and string from an other loader: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./nested/nested.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(true);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 // Module
-exports.push([module.id, \\".class {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"basic.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;EACE,UAAU;AACZ\\",\\"file\\":\\"basic.css\\",\\"sourcesContent\\":[\\".class {\\\\n  color: red;\\\\n}\\\\n\\"]}]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"basic.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;EACE,UAAU;AACZ\\",\\"file\\":\\"basic.css\\",\\"sourcesContent\\":[\\".class {\\\\n  color: red;\\\\n}\\\\n\\"]}]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -549,14 +624,14 @@ exports[`"sourceMap" option true should generate source maps when source maps is
 
 exports[`"sourceMap" option true should generate source maps when source maps is valid from an other loader (\`postcss-loader\`): module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./nested/nested.postcss.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(true);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.postcss.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 // Module
-exports.push([module.id, \\":root {\\\\n  --fontSize: 1rem;\\\\n  --mainColor: rgba(18,52,86,0.47059);\\\\n  --secondaryColor: rgba(102, 51, 153, 0.9);\\\\n}\\\\n\\\\nhtml {\\\\n  overflow-x: hidden;\\\\n  overflow-y: auto;\\\\n  overflow: hidden auto;\\\\n}\\\\n\\\\n@media (max-width: 50rem) {\\\\n  body {\\\\n    color: rgba(18,52,86,0.47059);\\\\n    color: var(--mainColor);\\\\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;\\\\n    font-size: 1rem;\\\\n    font-size: var(--fontSize);\\\\n    line-height: calc(1rem * 1.5);\\\\n    line-height: calc(var(--fontSize) * 1.5);\\\\n    word-wrap: break-word;\\\\n    padding-left: calc(1rem / 2 + 1px);\\\\n    padding-right: calc(1rem / 2 + 1px);\\\\n    padding-left: calc(var(--fontSize) / 2 + 1px);\\\\n    padding-right: calc(var(--fontSize) / 2 + 1px);\\\\n  }\\\\n}\\\\n\\\\nh1,h2,h3,h4,h5,h6 {\\\\n  margin-top: 0;\\\\n  margin-bottom: 0;\\\\n}\\\\n\\\\na {\\\\n  color: rgba(0, 0, 255, 0.9)\\\\n}\\\\n\\\\na:hover {\\\\n   color: #639;\\\\n }\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"basic.postcss.css\\"],\\"names\\":[],\\"mappings\\":\\"AAKA;EACE,gBAAgB;EAChB,mCAAsB;EACtB,yCAA4C;AAC9C;;AAEA;EACE,kBAAqB;EAArB,gBAAqB;EAArB,qBAAqB;AACvB;;AAEA;EACE;IACE,6BAAuB;IAAvB,uBAAuB;IACvB,iGAAsB;IACtB,eAA0B;IAA1B,0BAA0B;IAC1B,6BAAwC;IAAxC,wCAAwC;IACxC,qBAAyB;IACzB,kCAA+C;IAA/C,mCAA+C;IAA/C,6CAA+C;IAA/C,8CAA+C;EACjD;AACF;;AAEA;EACE,aAAe;EAAf,gBAAe;AACjB;;AAEA;EACE;AAKF;;AAHA;GACG,WAAoB;CACtB\\",\\"file\\":\\"basic.postcss.css\\",\\"sourcesContent\\":[\\"@import \\\\\\"./nested/nested.postcss.css\\\\\\";\\\\n\\\\n@custom-media --viewport-medium (width <= 50rem);\\\\n@custom-selector :--heading h1, h2, h3, h4, h5, h6;\\\\n\\\\n:root {\\\\n  --fontSize: 1rem;\\\\n  --mainColor: #12345678;\\\\n  --secondaryColor: lab(32.5 38.5 -47.6 / 90%);\\\\n}\\\\n\\\\nhtml {\\\\n  overflow: hidden auto;\\\\n}\\\\n\\\\n@media (--viewport-medium) {\\\\n  body {\\\\n    color: var(--mainColor);\\\\n    font-family: system-ui;\\\\n    font-size: var(--fontSize);\\\\n    line-height: calc(var(--fontSize) * 1.5);\\\\n    overflow-wrap: break-word;\\\\n    padding-inline: calc(var(--fontSize) / 2 + 1px);\\\\n  }\\\\n}\\\\n\\\\n:--heading {\\\\n  margin-block: 0;\\\\n}\\\\n\\\\na {\\\\n  color: rgb(0 0 100% / 90%);\\\\n\\\\n&:hover {\\\\n   color: rebeccapurple;\\\\n }\\\\n}\\\\n\\"]}]);
+___CSS_LOADER_EXPORT___.push([module.id, \\":root {\\\\n  --fontSize: 1rem;\\\\n  --mainColor: rgba(18,52,86,0.47059);\\\\n  --secondaryColor: rgba(102, 51, 153, 0.9);\\\\n}\\\\n\\\\nhtml {\\\\n  overflow-x: hidden;\\\\n  overflow-y: auto;\\\\n  overflow: hidden auto;\\\\n}\\\\n\\\\n@media (max-width: 50rem) {\\\\n  body {\\\\n    color: rgba(18,52,86,0.47059);\\\\n    color: var(--mainColor);\\\\n    font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;\\\\n    font-size: 1rem;\\\\n    font-size: var(--fontSize);\\\\n    line-height: calc(1rem * 1.5);\\\\n    line-height: calc(var(--fontSize) * 1.5);\\\\n    word-wrap: break-word;\\\\n    padding-left: calc(1rem / 2 + 1px);\\\\n    padding-right: calc(1rem / 2 + 1px);\\\\n    padding-left: calc(var(--fontSize) / 2 + 1px);\\\\n    padding-right: calc(var(--fontSize) / 2 + 1px);\\\\n  }\\\\n}\\\\n\\\\nh1,h2,h3,h4,h5,h6 {\\\\n  margin-top: 0;\\\\n  margin-bottom: 0;\\\\n}\\\\n\\\\na {\\\\n  color: rgba(0, 0, 255, 0.9)\\\\n}\\\\n\\\\na:hover {\\\\n   color: #639;\\\\n }\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"basic.postcss.css\\"],\\"names\\":[],\\"mappings\\":\\"AAKA;EACE,gBAAgB;EAChB,mCAAsB;EACtB,yCAA4C;AAC9C;;AAEA;EACE,kBAAqB;EAArB,gBAAqB;EAArB,qBAAqB;AACvB;;AAEA;EACE;IACE,6BAAuB;IAAvB,uBAAuB;IACvB,iGAAsB;IACtB,eAA0B;IAA1B,0BAA0B;IAC1B,6BAAwC;IAAxC,wCAAwC;IACxC,qBAAyB;IACzB,kCAA+C;IAA/C,mCAA+C;IAA/C,6CAA+C;IAA/C,8CAA+C;EACjD;AACF;;AAEA;EACE,aAAe;EAAf,gBAAe;AACjB;;AAEA;EACE;AAKF;;AAHA;GACG,WAAoB;CACtB\\",\\"file\\":\\"basic.postcss.css\\",\\"sourcesContent\\":[\\"@import \\\\\\"./nested/nested.postcss.css\\\\\\";\\\\n\\\\n@custom-media --viewport-medium (width <= 50rem);\\\\n@custom-selector :--heading h1, h2, h3, h4, h5, h6;\\\\n\\\\n:root {\\\\n  --fontSize: 1rem;\\\\n  --mainColor: #12345678;\\\\n  --secondaryColor: lab(32.5 38.5 -47.6 / 90%);\\\\n}\\\\n\\\\nhtml {\\\\n  overflow: hidden auto;\\\\n}\\\\n\\\\n@media (--viewport-medium) {\\\\n  body {\\\\n    color: var(--mainColor);\\\\n    font-family: system-ui;\\\\n    font-size: var(--fontSize);\\\\n    line-height: calc(var(--fontSize) * 1.5);\\\\n    overflow-wrap: break-word;\\\\n    padding-inline: calc(var(--fontSize) / 2 + 1px);\\\\n  }\\\\n}\\\\n\\\\n:--heading {\\\\n  margin-block: 0;\\\\n}\\\\n\\\\na {\\\\n  color: rgb(0 0 100% / 90%);\\\\n\\\\n&:hover {\\\\n   color: rebeccapurple;\\\\n }\\\\n}\\\\n\\"]}]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -689,14 +764,14 @@ exports[`"sourceMap" option true should generate source maps: errors 1`] = `Arra
 
 exports[`"sourceMap" option true should generate source maps: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./nested/nested.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(true);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./nested/nested.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(true);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 // Module
-exports.push([module.id, \\".class {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"basic.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;EACE,UAAU;AACZ\\",\\"file\\":\\"basic.css\\",\\"sourcesContent\\":[\\"@import \\\\\\"./nested/nested.css\\\\\\";\\\\n\\\\n.class {\\\\n  color: red;\\\\n}\\\\n\\"]}]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n  color: red;\\\\n}\\\\n\\", \\"\\",{\\"version\\":3,\\"sources\\":[\\"basic.css\\"],\\"names\\":[],\\"mappings\\":\\"AAEA;EACE,UAAU;AACZ\\",\\"file\\":\\"basic.css\\",\\"sourcesContent\\":[\\"@import \\\\\\"./nested/nested.css\\\\\\";\\\\n\\\\n.class {\\\\n  color: red;\\\\n}\\\\n\\"]}]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
diff --git a/test/__snapshots__/url-option.test.js.snap b/test/__snapshots__/url-option.test.js.snap
index 0fae4c49..a1701cc5 100644
--- a/test/__snapshots__/url-option.test.js.snap
+++ b/test/__snapshots__/url-option.test.js.snap
@@ -1,41 +1,54 @@
 // Jest Snapshot v1, https://goo.gl/fbAQLP
 
+exports[`"url" option should throw an error on unresolved import: errors 1`] = `
+Array [
+  "ModuleBuildError: Module build failed (from \`replaced original path\`):
+Error: Can't resolve 'unresolved.png' in '/test/fixtures/url'",
+]
+`;
+
+exports[`"url" option should throw an error on unresolved import: warnings 1`] = `Array []`;
+
 exports[`"url" option should work when not specified: errors 1`] = `Array []`;
 
 exports[`"url" option should work when not specified: module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./imported.css\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-var ___CSS_LOADER_URL_IMPORT_1___ = require(\\"package/img.png\\");
-var ___CSS_LOADER_URL_IMPORT_2___ = require(\\"./other-img.png\\");
-var ___CSS_LOADER_URL_IMPORT_3___ = require(\\"./img img.png\\");
-var ___CSS_LOADER_URL_IMPORT_4___ = require(\\"./font.woff\\");
-var ___CSS_LOADER_URL_IMPORT_5___ = require(\\"./font.woff2\\");
-var ___CSS_LOADER_URL_IMPORT_6___ = require(\\"./font.eot\\");
-var ___CSS_LOADER_URL_IMPORT_7___ = require(\\"package/font.ttf\\");
-var ___CSS_LOADER_URL_IMPORT_8___ = require(\\"./font with spaces.eot\\");
-var ___CSS_LOADER_URL_IMPORT_9___ = require(\\"./font.svg\\");
-var ___CSS_LOADER_URL_IMPORT_10___ = require(\\"./font.woff2?foo=bar\\");
-var ___CSS_LOADER_URL_IMPORT_11___ = require(\\"./img1x.png\\");
-var ___CSS_LOADER_URL_IMPORT_12___ = require(\\"./img2x.png\\");
-var ___CSS_LOADER_URL_IMPORT_13___ = require(\\"./img.png?foo\\");
-var ___CSS_LOADER_URL_IMPORT_14___ = require(\\"./img.png?foo=bar\\");
-var ___CSS_LOADER_URL_IMPORT_15___ = require(\\"./img.png?\\");
-var ___CSS_LOADER_URL_IMPORT_16___ = require(\\"./img-simple.png\\");
-var ___CSS_LOADER_URL_IMPORT_17___ = require(\\"../url/img-simple.png\\");
-var ___CSS_LOADER_URL_IMPORT_18___ = require(\\"aliasesImg/img.png\\");
-var ___CSS_LOADER_URL_IMPORT_19___ = require(\\"./nested/img.png\\");
-var ___CSS_LOADER_URL_IMPORT_20___ = require(\\"./img3x.png\\");
-var ___CSS_LOADER_URL_IMPORT_21___ = require(\\"./img1x.png?foo=bar\\");
-var ___CSS_LOADER_URL_IMPORT_22___ = require(\\"./img'img.png\\");
-var ___CSS_LOADER_URL_IMPORT_23___ = require(\\"./img'''img.png\\");
-var ___CSS_LOADER_URL_IMPORT_24___ = require(\\"./img(img.png\\");
-var ___CSS_LOADER_URL_IMPORT_25___ = require(\\"./img)img.png\\");
-var ___CSS_LOADER_URL_IMPORT_26___ = require(\\"./img'() img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./imported.css\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+import ___CSS_LOADER_URL_IMPORT_1___ from \\"./node_modules/package/img.png\\";
+import ___CSS_LOADER_URL_IMPORT_2___ from \\"./other-img.png\\";
+import ___CSS_LOADER_URL_IMPORT_3___ from \\"./img img.png\\";
+import ___CSS_LOADER_URL_IMPORT_4___ from \\"./font.woff\\";
+import ___CSS_LOADER_URL_IMPORT_5___ from \\"./font.woff2\\";
+import ___CSS_LOADER_URL_IMPORT_6___ from \\"./font.eot\\";
+import ___CSS_LOADER_URL_IMPORT_7___ from \\"./node_modules/package/font.ttf\\";
+import ___CSS_LOADER_URL_IMPORT_8___ from \\"./font with spaces.eot\\";
+import ___CSS_LOADER_URL_IMPORT_9___ from \\"./font.svg\\";
+import ___CSS_LOADER_URL_IMPORT_10___ from \\"./font.woff2?foo=bar\\";
+import ___CSS_LOADER_URL_IMPORT_11___ from \\"./img1x.png\\";
+import ___CSS_LOADER_URL_IMPORT_12___ from \\"./img2x.png\\";
+import ___CSS_LOADER_URL_IMPORT_13___ from \\"./img.png?foo\\";
+import ___CSS_LOADER_URL_IMPORT_14___ from \\"./img.png?foo=bar\\";
+import ___CSS_LOADER_URL_IMPORT_15___ from \\"./img.png?\\";
+import ___CSS_LOADER_URL_IMPORT_16___ from \\"./img-simple.png\\";
+import ___CSS_LOADER_URL_IMPORT_17___ from \\"./nested/img.png\\";
+import ___CSS_LOADER_URL_IMPORT_18___ from \\"./img3x.png\\";
+import ___CSS_LOADER_URL_IMPORT_19___ from \\"./img1x.png?foo=bar\\";
+import ___CSS_LOADER_URL_IMPORT_20___ from \\"./img'img.png\\";
+import ___CSS_LOADER_URL_IMPORT_21___ from \\"./img'''img.png\\";
+import ___CSS_LOADER_URL_IMPORT_22___ from \\"./img(img.png\\";
+import ___CSS_LOADER_URL_IMPORT_23___ from \\"./img)img.png\\";
+import ___CSS_LOADER_URL_IMPORT_24___ from \\"./img'() img.png\\";
+import ___CSS_LOADER_URL_IMPORT_25___ from \\"!!../../helpers/url-loader.js?esModule=false!./node_modules/package/img.png\\";
+import ___CSS_LOADER_URL_IMPORT_26___ from \\"./something.png\\";
+import ___CSS_LOADER_URL_IMPORT_27___ from \\"./something.png?foo=bar\\";
+import ___CSS_LOADER_URL_IMPORT_28___ from \\"./something.png?bar=foo\\";
+import ___CSS_LOADER_URL_IMPORT_29___ from \\"./something.png?foo=1&bar=2\\";
+import ___CSS_LOADER_URL_IMPORT_30___ from \\"./something.png?foo=2&bar=1\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: \\"#hash\\" });
 var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);
@@ -58,25 +71,32 @@ var ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS
 var ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);
 var ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___);
 var ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___);
-var ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___);
-var ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___);
-var ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { needQuotes: true });
-var ___CSS_LOADER_URL_REPLACEMENT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___, { needQuotes: true });
-var ___CSS_LOADER_URL_REPLACEMENT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___, { needQuotes: true });
-var ___CSS_LOADER_URL_REPLACEMENT_27___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___, { needQuotes: true });
-var ___CSS_LOADER_URL_REPLACEMENT_28___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_21___, { needQuotes: true });
-var ___CSS_LOADER_URL_REPLACEMENT_29___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { hash: \\"#hash\\", needQuotes: true });
-var ___CSS_LOADER_URL_REPLACEMENT_30___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { hash: \\"?#iefix\\", needQuotes: true });
-var ___CSS_LOADER_URL_REPLACEMENT_31___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___);
+var ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { needQuotes: true });
+var ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___, { needQuotes: true });
+var ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___, { needQuotes: true });
+var ___CSS_LOADER_URL_REPLACEMENT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___, { needQuotes: true });
+var ___CSS_LOADER_URL_REPLACEMENT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___, { needQuotes: true });
+var ___CSS_LOADER_URL_REPLACEMENT_27___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { hash: \\"#hash\\", needQuotes: true });
+var ___CSS_LOADER_URL_REPLACEMENT_28___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { hash: \\"?#iefix\\", needQuotes: true });
+var ___CSS_LOADER_URL_REPLACEMENT_29___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___);
+var ___CSS_LOADER_URL_REPLACEMENT_30___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___);
+var ___CSS_LOADER_URL_REPLACEMENT_31___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_21___);
 var ___CSS_LOADER_URL_REPLACEMENT_32___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_22___);
 var ___CSS_LOADER_URL_REPLACEMENT_33___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_23___);
 var ___CSS_LOADER_URL_REPLACEMENT_34___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_24___);
 var ___CSS_LOADER_URL_REPLACEMENT_35___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_25___);
 var ___CSS_LOADER_URL_REPLACEMENT_36___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_26___);
+var ___CSS_LOADER_URL_REPLACEMENT_37___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_27___);
+var ___CSS_LOADER_URL_REPLACEMENT_38___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_27___, { hash: \\"#hash\\" });
+var ___CSS_LOADER_URL_REPLACEMENT_39___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_28___);
+var ___CSS_LOADER_URL_REPLACEMENT_40___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_27___, { hash: \\"#foo\\" });
+var ___CSS_LOADER_URL_REPLACEMENT_41___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_28___, { hash: \\"#bar\\" });
+var ___CSS_LOADER_URL_REPLACEMENT_42___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_29___);
+var ___CSS_LOADER_URL_REPLACEMENT_43___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_30___);
 // Module
-exports.push([module.id, \\".class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"\\\\n  );\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(/img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 26' fill='%23007aff'><rect width='4' height='4'/><rect x='8' y='1' width='34' height='2'/><rect y='11' width='4' height='4'/><rect x='8' y='12' width='34' height='2'/><rect y='22' width='4' height='4'/><rect x='8' y='23' width='34' height='2'/></svg>\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2042%2026%27%20fill%3D%27%2523007aff%27%3E%3Crect%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%271%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2711%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2712%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2722%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2723%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3C%2Fsvg%3E\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns=\\\\\\"http://www.w3.org/2000/svg\\\\\\"><filter id=\\\\\\"filter\\\\\\"><feGaussianBlur in=\\\\\\"SourceAlpha\\\\\\" stdDeviation=\\\\\\"0\\\\\\" /><feOffset dx=\\\\\\"1\\\\\\" dy=\\\\\\"2\\\\\\" result=\\\\\\"offsetblur\\\\\\" /><feFlood flood-color=\\\\\\"rgba(255,255,255,1)\\\\\\" /><feComposite in2=\\\\\\"offsetblur\\\\\\" operator=\\\\\\"in\\\\\\" /><feMerge><feMergeNode /><feMergeNode in=\\\\\\"SourceGraphic\\\\\\" /></feMerge></filter></svg>#filter');\\\\n}\\\\n\\\\n.class {\\\\n  filter: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%3E%3Cfilter%20id%3D%5C%22filter%5C%22%3E%3CfeGaussianBlur%20in%3D%5C%22SourceAlpha%5C%22%20stdDeviation%3D%5C%220%5C%22%20%2F%3E%3CfeOffset%20dx%3D%5C%221%5C%22%20dy%3D%5C%222%5C%22%20result%3D%5C%22offsetblur%5C%22%20%2F%3E%3CfeFlood%20flood-color%3D%5C%22rgba(255%2C255%2C255%2C1)%5C%22%20%2F%3E%3CfeComposite%20in2%3D%5C%22offsetblur%5C%22%20operator%3D%5C%22in%5C%22%20%2F%3E%3CfeMerge%3E%3CfeMergeNode%20%2F%3E%3CfeMergeNode%20in%3D%5C%22SourceGraphic%5C%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fsvg%3E%23filter');\\\\n}\\\\n\\\\n.highlight {\\\\n  filter: url(#highlight);\\\\n}\\\\n\\\\n.highlight {\\\\n  filter: url('#line-marker');\\\\n}\\\\n\\\\n@font-face {\\\\n  src: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \\") format('woff'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \\") format('woff2'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \\") format('eot'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \\") format('truetype'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") format('svg'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \\") format('woff2'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \\") format('embedded-opentype'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n  body {\\\\n    background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n  }\\\\n}\\\\n\\\\na {\\\\n  content: \\\\\\"do not use url(path)\\\\\\";\\\\n}\\\\n\\\\nb {\\\\n  content: 'do not \\\\\\"use\\\\\\" url(path)';\\\\n}\\\\n\\\\n@keyframes anim {\\\\n  background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") xyz;\\\\n}\\\\n\\\\n.a {\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x)\\\\n}\\\\n\\\\n.a {\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x)\\\\n}\\\\n\\\\n.class {\\\\n  background: green url() xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url('') xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\\\\\"\\\\\\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url('   ') xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\\\n  ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\\\\\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 26' fill='%23007aff'><rect width='4' height='4'/><rect x='8' y='1' width='34' height='2'/><rect y='11' width='4' height='4'/><rect x='8' y='12' width='34' height='2'/><rect y='22' width='4' height='4'/><rect x='8' y='23' width='34' height='2'/></svg>\\\\\\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: ___CSS_LOADER_URL___;\\\\n  background: ___CSS_LOADER_URL___INDEX___;\\\\n  background: ___CSS_LOADER_URL___99999___;\\\\n  background: ___CSS_LOADER_IMPORT___;\\\\n  background: ___CSS_LOADER_IMPORT___INDEX___;\\\\n  background: ___CSS_LOADER_IMPORT___99999___;\\\\n}\\\\n\\\\n.pure-url {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\");\\\\n}\\\\n\\\\n.not-resolved {\\\\n  background: url('/img-simple.png');\\\\n}\\\\n\\\\n.above-below {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \\");\\\\n}\\\\n\\\\n.tilde {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n}\\\\n\\\\n.aliases {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \\");\\\\n}\\\\n\\\\na {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\");\\\\n}\\\\n\\\\na {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\");\\\\n}\\\\n\\\\n@font-face {\\\\n  src: url(\\\\\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  /* Broken */\\\\n  background-image: -webkit-image-set();\\\\n  background-image: -webkit-image-set('');\\\\n  background-image: image-set();\\\\n  background-image: image-set('');\\\\n  background-image: image-set(\\\\\\"\\\\\\");\\\\n  background-image: image-set(\\\\\\"\\\\\\" 1x);\\\\n  background-image: image-set(url());\\\\n  background-image: image-set(\\\\n    url()\\\\n  );\\\\n  background-image: image-set(URL());\\\\n  background-image: image-set(url(''));\\\\n  background-image: image-set(url(\\\\\\"\\\\\\"));\\\\n  background-image: image-set(url('') 1x);\\\\n  background-image: image-set(1x);\\\\n  background-image: image-set(\\\\n    1x\\\\n  );\\\\n  background: image-set(calc(1rem + 1px) 1x);\\\\n\\\\n  /* Strings */\\\\n  background-image: -webkit-image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 2x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x),\\\\n    image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x);\\\\n  background-image: image-set(\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x,\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x,\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \\" 600dpi\\\\n  );\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_28___ + \\" 1x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_29___ + \\" 1x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\" 1x);\\\\n\\\\n  /* With \`url\` function */\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x);\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x);\\\\n  background-image: -webkit-image-set(\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x\\\\n  );\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x);\\\\n  background-image: image-set(\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x\\\\n  );\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x);\\\\n  background-image: image-set(\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_31___ + \\") 600dpi\\\\n  );\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 2x);\\\\n\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x);\\\\n}\\\\n\\\\n.class {\\\\n  /* Not allowed on windows */\\\\n  /* background: url(./img\\\\\\\\\\\\\\"img.png); */\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n\\\\n  background-image: image-set(\\\\n    \\\\n    \\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\") 2x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\") 3x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\") 4x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\") 5x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 6x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\") 7x\\\\n  );\\\\n}\\\\n\\\\n.class-class-class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n}\\\\n\\\\n.class.class.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n}\\\\n\\\\n.other-test-case {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n}\\\\n\\\\n.qqq {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.www {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"\\\\n  );\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 26' fill='%23007aff'><rect width='4' height='4'/><rect x='8' y='1' width='34' height='2'/><rect y='11' width='4' height='4'/><rect x='8' y='12' width='34' height='2'/><rect y='22' width='4' height='4'/><rect x='8' y='23' width='34' height='2'/></svg>\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2042%2026%27%20fill%3D%27%2523007aff%27%3E%3Crect%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%271%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2711%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2712%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2722%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2723%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3C%2Fsvg%3E\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns=\\\\\\"http://www.w3.org/2000/svg\\\\\\"><filter id=\\\\\\"filter\\\\\\"><feGaussianBlur in=\\\\\\"SourceAlpha\\\\\\" stdDeviation=\\\\\\"0\\\\\\" /><feOffset dx=\\\\\\"1\\\\\\" dy=\\\\\\"2\\\\\\" result=\\\\\\"offsetblur\\\\\\" /><feFlood flood-color=\\\\\\"rgba(255,255,255,1)\\\\\\" /><feComposite in2=\\\\\\"offsetblur\\\\\\" operator=\\\\\\"in\\\\\\" /><feMerge><feMergeNode /><feMergeNode in=\\\\\\"SourceGraphic\\\\\\" /></feMerge></filter></svg>#filter');\\\\n}\\\\n\\\\n.class {\\\\n  filter: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%3E%3Cfilter%20id%3D%5C%22filter%5C%22%3E%3CfeGaussianBlur%20in%3D%5C%22SourceAlpha%5C%22%20stdDeviation%3D%5C%220%5C%22%20%2F%3E%3CfeOffset%20dx%3D%5C%221%5C%22%20dy%3D%5C%222%5C%22%20result%3D%5C%22offsetblur%5C%22%20%2F%3E%3CfeFlood%20flood-color%3D%5C%22rgba(255%2C255%2C255%2C1)%5C%22%20%2F%3E%3CfeComposite%20in2%3D%5C%22offsetblur%5C%22%20operator%3D%5C%22in%5C%22%20%2F%3E%3CfeMerge%3E%3CfeMergeNode%20%2F%3E%3CfeMergeNode%20in%3D%5C%22SourceGraphic%5C%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fsvg%3E%23filter');\\\\n}\\\\n\\\\n.highlight {\\\\n  filter: url(#highlight);\\\\n}\\\\n\\\\n.highlight {\\\\n  filter: url('#line-marker');\\\\n}\\\\n\\\\n@font-face {\\\\n  src: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \\") format('woff'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \\") format('woff2'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \\") format('eot'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \\") format('truetype'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") format('svg'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \\") format('woff2'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \\") format('embedded-opentype'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n  body {\\\\n    background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n  }\\\\n}\\\\n\\\\na {\\\\n  content: \\\\\\"do not use url(path)\\\\\\";\\\\n}\\\\n\\\\nb {\\\\n  content: 'do not \\\\\\"use\\\\\\" url(path)';\\\\n}\\\\n\\\\n@keyframes anim {\\\\n  background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") xyz;\\\\n}\\\\n\\\\n.a {\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x)\\\\n}\\\\n\\\\n.a {\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x)\\\\n}\\\\n\\\\n.class {\\\\n  background: green url() xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url('') xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\\\\\"\\\\\\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url('   ') xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\\\n  ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\\\\\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 26' fill='%23007aff'><rect width='4' height='4'/><rect x='8' y='1' width='34' height='2'/><rect y='11' width='4' height='4'/><rect x='8' y='12' width='34' height='2'/><rect y='22' width='4' height='4'/><rect x='8' y='23' width='34' height='2'/></svg>\\\\\\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: ___CSS_LOADER_URL___;\\\\n  background: ___CSS_LOADER_URL___INDEX___;\\\\n  background: ___CSS_LOADER_URL___99999___;\\\\n  background: ___CSS_LOADER_IMPORT___;\\\\n  background: ___CSS_LOADER_IMPORT___INDEX___;\\\\n  background: ___CSS_LOADER_IMPORT___99999___;\\\\n}\\\\n\\\\n.pure-url {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\");\\\\n}\\\\n\\\\n.root-relative {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\");\\\\n}\\\\n\\\\n.above-below {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\");\\\\n}\\\\n\\\\n.tilde {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n}\\\\n\\\\n.aliases {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\na {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \\");\\\\n}\\\\n\\\\na {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \\");\\\\n}\\\\n\\\\n@font-face {\\\\n  src: url(\\\\\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  /* Broken */\\\\n  background-image: -webkit-image-set();\\\\n  background-image: -webkit-image-set('');\\\\n  background-image: image-set();\\\\n  background-image: image-set('');\\\\n  background-image: image-set(\\\\\\"\\\\\\");\\\\n  background-image: image-set(\\\\\\"\\\\\\" 1x);\\\\n  background-image: image-set(url());\\\\n  background-image: image-set(\\\\n    url()\\\\n  );\\\\n  background-image: image-set(URL());\\\\n  background-image: image-set(url(''));\\\\n  background-image: image-set(url(\\\\\\"\\\\\\"));\\\\n  background-image: image-set(url('') 1x);\\\\n  background-image: image-set(1x);\\\\n  background-image: image-set(\\\\n    1x\\\\n  );\\\\n  background: image-set(calc(1rem + 1px) 1x);\\\\n\\\\n  /* Strings */\\\\n  background-image: -webkit-image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\" 2x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \\" 1x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\" 2x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 2x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\" 2x),\\\\n    image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\" 2x);\\\\n  background-image: image-set(\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \\" 1x,\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\" 2x,\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 600dpi\\\\n  );\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 1x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \\" 1x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_28___ + \\" 1x);\\\\n\\\\n  /* With \`url\` function */\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x);\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x);\\\\n  background-image: -webkit-image-set(\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x\\\\n  );\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x);\\\\n  background-image: image-set(\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x\\\\n  );\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x);\\\\n  background-image: image-set(\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_29___ + \\") 600dpi\\\\n  );\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 2x);\\\\n\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\" 2x);\\\\n}\\\\n\\\\n.class {\\\\n  /* Not allowed on windows */\\\\n  /* background: url(./img\\\\\\\\\\\\\\"img.png); */\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_31___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n\\\\n  background-image: image-set(\\\\n    \\\\n    \\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_31___ + \\") 2x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\") 3x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\") 4x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\") 5x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 6x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\") 7x\\\\n  );\\\\n}\\\\n\\\\n.class-class-class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_31___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n}\\\\n\\\\n.class.class.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n}\\\\n\\\\n.other-test-case {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_31___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_31___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n}\\\\n\\\\n.qqq {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.www {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_31___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n}\\\\n\\\\n.qqq {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\")\\\\n}\\\\n\\\\n.class {\\\\n  /* Should be one import */\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_37___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_37___ + \\");\\\\n\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\");\\\\n\\\\n  /* Should be two imports */\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_37___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_39___ + \\");\\\\n\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_40___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_41___ + \\");\\\\n\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_42___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_43___ + \\");\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -139,7 +159,7 @@ Array [
 }
 
 .class {
-  background: green url(/img.png) xyz;
+  background: green url(/webpack/public/path/img.png) xyz;
 }
 
 .class {
@@ -274,8 +294,8 @@ b {
   background: url(/webpack/public/path/img-simple.png);
 }
 
-.not-resolved {
-  background: url('/img-simple.png');
+.root-relative {
+  background: url(/webpack/public/path/img-simple.png);
 }
 
 .above-below {
@@ -430,6 +450,32 @@ a {
   background: url(\\"/webpack/public/path/img'() img.png\\");
   background: url(\\"/webpack/public/path/img'() img.png\\");
 }
+
+.qqq {
+  background: url(/webpack/public/path/custom-img.png)
+}
+
+.class {
+  /* Should be one import */
+  background: url(/webpack/public/path/something.png);
+  background: url(/webpack/public/path/something.png);
+
+  background: url(/webpack/public/path/something.png);
+  background: url(/webpack/public/path/something.png);
+
+  background: url(/webpack/public/path/something.png#hash);
+  background: url(/webpack/public/path/something.png#hash);
+
+  /* Should be two imports */
+  background: url(/webpack/public/path/something.png);
+  background: url(/webpack/public/path/something.png);
+
+  background: url(/webpack/public/path/something.png#foo);
+  background: url(/webpack/public/path/something.png#bar);
+
+  background: url(/webpack/public/path/something.png);
+  background: url(/webpack/public/path/something.png);
+}
 ",
     "",
   ],
@@ -508,25 +554,28 @@ exports[`"url" option should work with a value equal to "Function": errors 1`] =
 
 exports[`"url" option should work with a value equal to "Function": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./imported.css\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./font.woff\\");
-var ___CSS_LOADER_URL_IMPORT_1___ = require(\\"./font.woff2\\");
-var ___CSS_LOADER_URL_IMPORT_2___ = require(\\"./font.eot\\");
-var ___CSS_LOADER_URL_IMPORT_3___ = require(\\"package/font.ttf\\");
-var ___CSS_LOADER_URL_IMPORT_4___ = require(\\"./font with spaces.eot\\");
-var ___CSS_LOADER_URL_IMPORT_5___ = require(\\"./font.svg\\");
-var ___CSS_LOADER_URL_IMPORT_6___ = require(\\"./font.woff2?foo=bar\\");
-var ___CSS_LOADER_URL_IMPORT_7___ = require(\\"./img1x.png\\");
-var ___CSS_LOADER_URL_IMPORT_8___ = require(\\"./img2x.png\\");
-var ___CSS_LOADER_URL_IMPORT_9___ = require(\\"./img-simple.png\\");
-var ___CSS_LOADER_URL_IMPORT_10___ = require(\\"../url/img-simple.png\\");
-var ___CSS_LOADER_URL_IMPORT_11___ = require(\\"./img3x.png\\");
-var ___CSS_LOADER_URL_IMPORT_12___ = require(\\"./img1x.png?foo=bar\\");
-var ___CSS_LOADER_URL_IMPORT_13___ = require(\\"./img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./imported.css\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./font.woff\\";
+import ___CSS_LOADER_URL_IMPORT_1___ from \\"./font.woff2\\";
+import ___CSS_LOADER_URL_IMPORT_2___ from \\"./font.eot\\";
+import ___CSS_LOADER_URL_IMPORT_3___ from \\"./node_modules/package/font.ttf\\";
+import ___CSS_LOADER_URL_IMPORT_4___ from \\"./font with spaces.eot\\";
+import ___CSS_LOADER_URL_IMPORT_5___ from \\"./font.svg\\";
+import ___CSS_LOADER_URL_IMPORT_6___ from \\"./font.woff2?foo=bar\\";
+import ___CSS_LOADER_URL_IMPORT_7___ from \\"./img1x.png\\";
+import ___CSS_LOADER_URL_IMPORT_8___ from \\"./img2x.png\\";
+import ___CSS_LOADER_URL_IMPORT_9___ from \\"./img-simple.png\\";
+import ___CSS_LOADER_URL_IMPORT_10___ from \\"./img3x.png\\";
+import ___CSS_LOADER_URL_IMPORT_11___ from \\"./img1x.png?foo=bar\\";
+import ___CSS_LOADER_URL_IMPORT_12___ from \\"./something.png\\";
+import ___CSS_LOADER_URL_IMPORT_13___ from \\"./something.png?foo=bar\\";
+import ___CSS_LOADER_URL_IMPORT_14___ from \\"./something.png?bar=foo\\";
+import ___CSS_LOADER_URL_IMPORT_15___ from \\"./something.png?foo=1&bar=2\\";
+import ___CSS_LOADER_URL_IMPORT_16___ from \\"./something.png?foo=2&bar=1\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);
 var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);
@@ -539,19 +588,25 @@ var ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_
 var ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);
 var ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___);
 var ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___);
-var ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);
-var ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___, { needQuotes: true });
-var ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___, { needQuotes: true });
+var ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___, { needQuotes: true });
+var ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___, { needQuotes: true });
+var ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___, { needQuotes: true });
 var ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { needQuotes: true });
-var ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___, { needQuotes: true });
-var ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___, { hash: \\"#hash\\", needQuotes: true });
-var ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___, { hash: \\"?#iefix\\", needQuotes: true });
-var ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___);
+var ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___, { hash: \\"#hash\\", needQuotes: true });
+var ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___, { hash: \\"?#iefix\\", needQuotes: true });
+var ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);
+var ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___);
 var ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___);
+var ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___, { hash: \\"#hash\\" });
+var ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___);
+var ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___, { hash: \\"#foo\\" });
+var ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___, { hash: \\"#bar\\" });
+var ___CSS_LOADER_URL_REPLACEMENT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);
+var ___CSS_LOADER_URL_REPLACEMENT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___);
 // Module
-exports.push([module.id, \\".class {\\\\n  background: url('./img.png');\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(./img.png);\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\n    \\\\\\"./img.png\\\\\\"\\\\n  );\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( './img.png' ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\\\\\"./img.png\\\\\\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( ./img.png ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(~package/img.png) url(./other-img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\\\\\"./img img.png\\\\\\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( './img img.png' ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(/img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 26' fill='%23007aff'><rect width='4' height='4'/><rect x='8' y='1' width='34' height='2'/><rect y='11' width='4' height='4'/><rect x='8' y='12' width='34' height='2'/><rect y='22' width='4' height='4'/><rect x='8' y='23' width='34' height='2'/></svg>\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2042%2026%27%20fill%3D%27%2523007aff%27%3E%3Crect%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%271%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2711%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2712%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2722%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2723%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3C%2Fsvg%3E\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns=\\\\\\"http://www.w3.org/2000/svg\\\\\\"><filter id=\\\\\\"filter\\\\\\"><feGaussianBlur in=\\\\\\"SourceAlpha\\\\\\" stdDeviation=\\\\\\"0\\\\\\" /><feOffset dx=\\\\\\"1\\\\\\" dy=\\\\\\"2\\\\\\" result=\\\\\\"offsetblur\\\\\\" /><feFlood flood-color=\\\\\\"rgba(255,255,255,1)\\\\\\" /><feComposite in2=\\\\\\"offsetblur\\\\\\" operator=\\\\\\"in\\\\\\" /><feMerge><feMergeNode /><feMergeNode in=\\\\\\"SourceGraphic\\\\\\" /></feMerge></filter></svg>#filter');\\\\n}\\\\n\\\\n.class {\\\\n  filter: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%3E%3Cfilter%20id%3D%5C%22filter%5C%22%3E%3CfeGaussianBlur%20in%3D%5C%22SourceAlpha%5C%22%20stdDeviation%3D%5C%220%5C%22%20%2F%3E%3CfeOffset%20dx%3D%5C%221%5C%22%20dy%3D%5C%222%5C%22%20result%3D%5C%22offsetblur%5C%22%20%2F%3E%3CfeFlood%20flood-color%3D%5C%22rgba(255%2C255%2C255%2C1)%5C%22%20%2F%3E%3CfeComposite%20in2%3D%5C%22offsetblur%5C%22%20operator%3D%5C%22in%5C%22%20%2F%3E%3CfeMerge%3E%3CfeMergeNode%20%2F%3E%3CfeMergeNode%20in%3D%5C%22SourceGraphic%5C%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fsvg%3E%23filter');\\\\n}\\\\n\\\\n.highlight {\\\\n  filter: url(#highlight);\\\\n}\\\\n\\\\n.highlight {\\\\n  filter: url('#line-marker');\\\\n}\\\\n\\\\n@font-face {\\\\n  src: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") format('woff'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") format('woff2'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\") format('eot'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \\") format('truetype'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \\") format('svg'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \\") format('woff2'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \\") format('embedded-opentype'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n  body {\\\\n    background: url(\\\\\\"./img.png\\\\\\");\\\\n  }\\\\n}\\\\n\\\\na {\\\\n  content: \\\\\\"do not use url(path)\\\\\\";\\\\n}\\\\n\\\\nb {\\\\n  content: 'do not \\\\\\"use\\\\\\" url(path)';\\\\n}\\\\n\\\\n@keyframes anim {\\\\n  background: green url('./img.png') xyz;\\\\n}\\\\n\\\\n.a {\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x)\\\\n}\\\\n\\\\n.a {\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x)\\\\n}\\\\n\\\\n.class {\\\\n  background: green url() xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url('') xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\\\\\"\\\\\\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url('   ') xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\\\n  ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?foo\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?foo=bar\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?foo=bar#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?foo=bar#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url('./img.png') url(\\\\\\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 26' fill='%23007aff'><rect width='4' height='4'/><rect x='8' y='1' width='34' height='2'/><rect y='11' width='4' height='4'/><rect x='8' y='12' width='34' height='2'/><rect y='22' width='4' height='4'/><rect x='8' y='23' width='34' height='2'/></svg>\\\\\\") url('./img.png');\\\\n}\\\\n\\\\n.class {\\\\n  background: ___CSS_LOADER_URL___;\\\\n  background: ___CSS_LOADER_URL___INDEX___;\\\\n  background: ___CSS_LOADER_URL___99999___;\\\\n  background: ___CSS_LOADER_IMPORT___;\\\\n  background: ___CSS_LOADER_IMPORT___INDEX___;\\\\n  background: ___CSS_LOADER_IMPORT___99999___;\\\\n}\\\\n\\\\n.pure-url {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \\");\\\\n}\\\\n\\\\n.not-resolved {\\\\n  background: url('/img-simple.png');\\\\n}\\\\n\\\\n.above-below {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \\");\\\\n}\\\\n\\\\n.tilde {\\\\n  background: url('~package/img.png');\\\\n}\\\\n\\\\n.aliases {\\\\n  background: url('~aliasesImg/img.png') ;\\\\n}\\\\n\\\\na {\\\\n  background: url(./nested/img.png);\\\\n}\\\\n\\\\na {\\\\n  background: url(nested/img.png);\\\\n}\\\\n\\\\n@font-face {\\\\n  src: url(\\\\\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  /* Broken */\\\\n  background-image: -webkit-image-set();\\\\n  background-image: -webkit-image-set('');\\\\n  background-image: image-set();\\\\n  background-image: image-set('');\\\\n  background-image: image-set(\\\\\\"\\\\\\");\\\\n  background-image: image-set(\\\\\\"\\\\\\" 1x);\\\\n  background-image: image-set(url());\\\\n  background-image: image-set(\\\\n    url()\\\\n  );\\\\n  background-image: image-set(URL());\\\\n  background-image: image-set(url(''));\\\\n  background-image: image-set(url(\\\\\\"\\\\\\"));\\\\n  background-image: image-set(url('') 1x);\\\\n  background-image: image-set(1x);\\\\n  background-image: image-set(\\\\n    1x\\\\n  );\\\\n  background: image-set(calc(1rem + 1px) 1x);\\\\n\\\\n  /* Strings */\\\\n  background-image: -webkit-image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\" 2x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\" 1x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\" 2x);\\\\n  background-image: image-set(\\\\\\"./img img.png\\\\\\" 1x, \\\\\\"./img img.png\\\\\\" 2x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\" 2x),\\\\n    image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\" 2x);\\\\n  background-image: image-set(\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\" 1x,\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\" 2x,\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\" 600dpi\\\\n  );\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\" 1x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \\" 1x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \\" 1x);\\\\n\\\\n  /* With \`url\` function */\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x);\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x);\\\\n  background-image: -webkit-image-set(\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x\\\\n  );\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x);\\\\n  background-image: image-set(\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x\\\\n  );\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x);\\\\n  background-image: image-set(\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \\") 600dpi\\\\n  );\\\\n  background-image: image-set(url(\\\\\\"./img img.png\\\\\\") 1x, url(\\\\\\"./img img.png\\\\\\") 2x);\\\\n\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\" 2x);\\\\n}\\\\n\\\\n.class {\\\\n  /* Not allowed on windows */\\\\n  /* background: url(./img\\\\\\\\\\\\\\"img.png); */\\\\n  background: url(./img\\\\\\\\'img.png);\\\\n  background: url(./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png);\\\\n  background: url(./img\\\\\\\\(img.png);\\\\n  background: url(./img\\\\\\\\)img.png);\\\\n  background: url(./img\\\\\\\\ img.png);\\\\n  background: url(./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png);\\\\n\\\\n  background-image: image-set(\\\\n    /* Not allowed on windows */\\\\n    /* url(./img\\\\\\\\\\\\\\"img.png) 1x, */\\\\n    url(./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png) 2x,\\\\n    url(./img\\\\\\\\'img.png) 3x,\\\\n    url(./img\\\\\\\\(img.png) 4x,\\\\n    url(./img\\\\\\\\)img.png) 5x,\\\\n    url(./img\\\\\\\\ img.png) 6x,\\\\n    url(./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png) 7x\\\\n  );\\\\n}\\\\n\\\\n.class-class-class {\\\\n  background: url(\\\\\\"./img'''img.png\\\\\\");\\\\n  background: url(\\\\\\"./img'() img.png\\\\\\");\\\\n  background: url(\\\\\\"./img'img.png\\\\\\");\\\\n  background: url(\\\\\\"./img(img.png\\\\\\");\\\\n  background: url(\\\\\\"./img)img.png\\\\\\");\\\\n  background: url('./img img.png');\\\\n  background: url(\\\\\\"./img img.png\\\\\\");\\\\n}\\\\n\\\\n.class.class.class {\\\\n  background: url('./img\\\\\\\\\\\\n(img.png');\\\\n  background: url('./img\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n(img.png');\\\\n}\\\\n\\\\n.other-test-case {\\\\n  background: url(\\\\\\"./img%27%27%27img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%27%28%29%20img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%27img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%28img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%29img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%20img.png\\\\\\");\\\\n  background: url(./img%27%27%27img.png);\\\\n  background: url(./img%27%28%29%20img.png);\\\\n  background: url(./img%27img.png);\\\\n  background: url(./img%28img.png);\\\\n  background: url(./img%29img.png);\\\\n  background: url(./img%20img.png);\\\\n}\\\\n\\\\n.qqq {\\\\n  background: url('img.png');\\\\n}\\\\n\\\\n.www {\\\\n  background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\'img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\(img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\)img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\ img.png\\\\\\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\");\\\\n  background: url(\\\\\\"./img\\\\\\\\27img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\28%29 img.png\\\\\\");\\\\n  background: url(./img\\\\\\\\'\\\\\\\\28%29\\\\\\\\ img.png);\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n  background: url('./img.png');\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(./img.png);\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\n    \\\\\\"./img.png\\\\\\"\\\\n  );\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( './img.png' ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\\\\\"./img.png\\\\\\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( ./img.png ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(~package/img.png) url(./other-img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\\\\\"./img img.png\\\\\\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( './img img.png' ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(/img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 26' fill='%23007aff'><rect width='4' height='4'/><rect x='8' y='1' width='34' height='2'/><rect y='11' width='4' height='4'/><rect x='8' y='12' width='34' height='2'/><rect y='22' width='4' height='4'/><rect x='8' y='23' width='34' height='2'/></svg>\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2042%2026%27%20fill%3D%27%2523007aff%27%3E%3Crect%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%271%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2711%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2712%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2722%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2723%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3C%2Fsvg%3E\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns=\\\\\\"http://www.w3.org/2000/svg\\\\\\"><filter id=\\\\\\"filter\\\\\\"><feGaussianBlur in=\\\\\\"SourceAlpha\\\\\\" stdDeviation=\\\\\\"0\\\\\\" /><feOffset dx=\\\\\\"1\\\\\\" dy=\\\\\\"2\\\\\\" result=\\\\\\"offsetblur\\\\\\" /><feFlood flood-color=\\\\\\"rgba(255,255,255,1)\\\\\\" /><feComposite in2=\\\\\\"offsetblur\\\\\\" operator=\\\\\\"in\\\\\\" /><feMerge><feMergeNode /><feMergeNode in=\\\\\\"SourceGraphic\\\\\\" /></feMerge></filter></svg>#filter');\\\\n}\\\\n\\\\n.class {\\\\n  filter: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%3E%3Cfilter%20id%3D%5C%22filter%5C%22%3E%3CfeGaussianBlur%20in%3D%5C%22SourceAlpha%5C%22%20stdDeviation%3D%5C%220%5C%22%20%2F%3E%3CfeOffset%20dx%3D%5C%221%5C%22%20dy%3D%5C%222%5C%22%20result%3D%5C%22offsetblur%5C%22%20%2F%3E%3CfeFlood%20flood-color%3D%5C%22rgba(255%2C255%2C255%2C1)%5C%22%20%2F%3E%3CfeComposite%20in2%3D%5C%22offsetblur%5C%22%20operator%3D%5C%22in%5C%22%20%2F%3E%3CfeMerge%3E%3CfeMergeNode%20%2F%3E%3CfeMergeNode%20in%3D%5C%22SourceGraphic%5C%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fsvg%3E%23filter');\\\\n}\\\\n\\\\n.highlight {\\\\n  filter: url(#highlight);\\\\n}\\\\n\\\\n.highlight {\\\\n  filter: url('#line-marker');\\\\n}\\\\n\\\\n@font-face {\\\\n  src: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") format('woff'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\") format('woff2'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\") format('eot'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \\") format('truetype'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \\") format('svg'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \\") format('woff2'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \\") format('embedded-opentype'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n  body {\\\\n    background: url(\\\\\\"./img.png\\\\\\");\\\\n  }\\\\n}\\\\n\\\\na {\\\\n  content: \\\\\\"do not use url(path)\\\\\\";\\\\n}\\\\n\\\\nb {\\\\n  content: 'do not \\\\\\"use\\\\\\" url(path)';\\\\n}\\\\n\\\\n@keyframes anim {\\\\n  background: green url('./img.png') xyz;\\\\n}\\\\n\\\\n.a {\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x)\\\\n}\\\\n\\\\n.a {\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x)\\\\n}\\\\n\\\\n.class {\\\\n  background: green url() xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url('') xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\\\\\"\\\\\\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url('   ') xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\\\n  ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?foo\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?foo=bar\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?foo=bar#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?foo=bar#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url('./img.png') url(\\\\\\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 26' fill='%23007aff'><rect width='4' height='4'/><rect x='8' y='1' width='34' height='2'/><rect y='11' width='4' height='4'/><rect x='8' y='12' width='34' height='2'/><rect y='22' width='4' height='4'/><rect x='8' y='23' width='34' height='2'/></svg>\\\\\\") url('./img.png');\\\\n}\\\\n\\\\n.class {\\\\n  background: ___CSS_LOADER_URL___;\\\\n  background: ___CSS_LOADER_URL___INDEX___;\\\\n  background: ___CSS_LOADER_URL___99999___;\\\\n  background: ___CSS_LOADER_IMPORT___;\\\\n  background: ___CSS_LOADER_IMPORT___INDEX___;\\\\n  background: ___CSS_LOADER_IMPORT___99999___;\\\\n}\\\\n\\\\n.pure-url {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \\");\\\\n}\\\\n\\\\n.root-relative {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \\");\\\\n}\\\\n\\\\n.above-below {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \\");\\\\n}\\\\n\\\\n.tilde {\\\\n  background: url('~package/img.png');\\\\n}\\\\n\\\\n.aliases {\\\\n  background: url('~aliasesImg/img.png') ;\\\\n}\\\\n\\\\na {\\\\n  background: url(./nested/img.png);\\\\n}\\\\n\\\\na {\\\\n  background: url(nested/img.png);\\\\n}\\\\n\\\\n@font-face {\\\\n  src: url(\\\\\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  /* Broken */\\\\n  background-image: -webkit-image-set();\\\\n  background-image: -webkit-image-set('');\\\\n  background-image: image-set();\\\\n  background-image: image-set('');\\\\n  background-image: image-set(\\\\\\"\\\\\\");\\\\n  background-image: image-set(\\\\\\"\\\\\\" 1x);\\\\n  background-image: image-set(url());\\\\n  background-image: image-set(\\\\n    url()\\\\n  );\\\\n  background-image: image-set(URL());\\\\n  background-image: image-set(url(''));\\\\n  background-image: image-set(url(\\\\\\"\\\\\\"));\\\\n  background-image: image-set(url('') 1x);\\\\n  background-image: image-set(1x);\\\\n  background-image: image-set(\\\\n    1x\\\\n  );\\\\n  background: image-set(calc(1rem + 1px) 1x);\\\\n\\\\n  /* Strings */\\\\n  background-image: -webkit-image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\" 2x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \\" 1x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\" 2x);\\\\n  background-image: image-set(\\\\\\"./img img.png\\\\\\" 1x, \\\\\\"./img img.png\\\\\\" 2x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\" 2x),\\\\n    image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\" 2x);\\\\n  background-image: image-set(\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \\" 1x,\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\" 2x,\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\" 600dpi\\\\n  );\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\" 1x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\" 1x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \\" 1x);\\\\n\\\\n  /* With \`url\` function */\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x);\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x);\\\\n  background-image: -webkit-image-set(\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x\\\\n  );\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x);\\\\n  background-image: image-set(\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x\\\\n  );\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x);\\\\n  background-image: image-set(\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") 2x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \\") 600dpi\\\\n  );\\\\n  background-image: image-set(url(\\\\\\"./img img.png\\\\\\") 1x, url(\\\\\\"./img img.png\\\\\\") 2x);\\\\n\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\" 2x);\\\\n}\\\\n\\\\n.class {\\\\n  /* Not allowed on windows */\\\\n  /* background: url(./img\\\\\\\\\\\\\\"img.png); */\\\\n  background: url(./img\\\\\\\\'img.png);\\\\n  background: url(./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png);\\\\n  background: url(./img\\\\\\\\(img.png);\\\\n  background: url(./img\\\\\\\\)img.png);\\\\n  background: url(./img\\\\\\\\ img.png);\\\\n  background: url(./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png);\\\\n\\\\n  background-image: image-set(\\\\n    /* Not allowed on windows */\\\\n    /* url(./img\\\\\\\\\\\\\\"img.png) 1x, */\\\\n    url(./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png) 2x,\\\\n    url(./img\\\\\\\\'img.png) 3x,\\\\n    url(./img\\\\\\\\(img.png) 4x,\\\\n    url(./img\\\\\\\\)img.png) 5x,\\\\n    url(./img\\\\\\\\ img.png) 6x,\\\\n    url(./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png) 7x\\\\n  );\\\\n}\\\\n\\\\n.class-class-class {\\\\n  background: url(\\\\\\"./img'''img.png\\\\\\");\\\\n  background: url(\\\\\\"./img'() img.png\\\\\\");\\\\n  background: url(\\\\\\"./img'img.png\\\\\\");\\\\n  background: url(\\\\\\"./img(img.png\\\\\\");\\\\n  background: url(\\\\\\"./img)img.png\\\\\\");\\\\n  background: url('./img img.png');\\\\n  background: url(\\\\\\"./img img.png\\\\\\");\\\\n}\\\\n\\\\n.class.class.class {\\\\n  background: url('./img\\\\\\\\\\\\n(img.png');\\\\n  background: url('./img\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n(img.png');\\\\n}\\\\n\\\\n.other-test-case {\\\\n  background: url(\\\\\\"./img%27%27%27img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%27%28%29%20img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%27img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%28img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%29img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%20img.png\\\\\\");\\\\n  background: url(./img%27%27%27img.png);\\\\n  background: url(./img%27%28%29%20img.png);\\\\n  background: url(./img%27img.png);\\\\n  background: url(./img%28img.png);\\\\n  background: url(./img%29img.png);\\\\n  background: url(./img%20img.png);\\\\n}\\\\n\\\\n.qqq {\\\\n  background: url('img.png');\\\\n}\\\\n\\\\n.www {\\\\n  background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\'img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\(img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\)img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\ img.png\\\\\\");\\\\n  background: url(\\\\\\"./\\\\\\\\69\\\\\\\\6D\\\\\\\\67.png\\\\\\");\\\\n  background: url(./\\\\\\\\69\\\\\\\\6D\\\\\\\\67.png);\\\\n  background: url(\\\\\\"./img\\\\\\\\27img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\28%29 img.png\\\\\\");\\\\n  background: url(./img\\\\\\\\'\\\\\\\\28%29\\\\\\\\ img.png);\\\\n}\\\\n\\\\n.qqq {\\\\n  background: url('!!../../helpers/url-loader.js?esModule=false!~package/img.png')\\\\n}\\\\n\\\\n.class {\\\\n  /* Should be one import */\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \\");\\\\n\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\");\\\\n\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \\");\\\\n\\\\n  /* Should be two imports */\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \\");\\\\n\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\");\\\\n\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\");\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -749,8 +804,8 @@ b {
   background: url(/webpack/public/path/img-simple.png);
 }
 
-.not-resolved {
-  background: url('/img-simple.png');
+.root-relative {
+  background: url(/webpack/public/path/img-simple.png);
 }
 
 .above-below {
@@ -904,12 +959,38 @@ a {
   background: url(\\"./img\\\\(img.png\\");
   background: url(\\"./img\\\\)img.png\\");
   background: url(\\"./img\\\\ img.png\\");
-  background: url(/webpack/public/path/img.png);
-  background: url(/webpack/public/path/img.png);
+  background: url(\\"./\\\\69\\\\6D\\\\67.png\\");
+  background: url(./\\\\69\\\\6D\\\\67.png);
   background: url(\\"./img\\\\27img.png\\");
   background: url(\\"./img\\\\'\\\\28%29 img.png\\");
   background: url(./img\\\\'\\\\28%29\\\\ img.png);
 }
+
+.qqq {
+  background: url('!!../../helpers/url-loader.js?esModule=false!~package/img.png')
+}
+
+.class {
+  /* Should be one import */
+  background: url(/webpack/public/path/something.png);
+  background: url(/webpack/public/path/something.png);
+
+  background: url(/webpack/public/path/something.png);
+  background: url(/webpack/public/path/something.png);
+
+  background: url(/webpack/public/path/something.png#hash);
+  background: url(/webpack/public/path/something.png#hash);
+
+  /* Should be two imports */
+  background: url(/webpack/public/path/something.png);
+  background: url(/webpack/public/path/something.png);
+
+  background: url(/webpack/public/path/something.png#foo);
+  background: url(/webpack/public/path/something.png#bar);
+
+  background: url(/webpack/public/path/something.png);
+  background: url(/webpack/public/path/something.png);
+}
 ",
     "",
   ],
@@ -988,14 +1069,14 @@ exports[`"url" option should work with a value equal to "false": errors 1`] = `A
 
 exports[`"url" option should work with a value equal to "false": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./imported.css\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./imported.css\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 // Module
-exports.push([module.id, \\".class {\\\\n  background: url('./img.png');\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(./img.png);\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\n    \\\\\\"./img.png\\\\\\"\\\\n  );\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( './img.png' ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\\\\\"./img.png\\\\\\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( ./img.png ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(~package/img.png) url(./other-img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\\\\\"./img img.png\\\\\\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( './img img.png' ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(/img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 26' fill='%23007aff'><rect width='4' height='4'/><rect x='8' y='1' width='34' height='2'/><rect y='11' width='4' height='4'/><rect x='8' y='12' width='34' height='2'/><rect y='22' width='4' height='4'/><rect x='8' y='23' width='34' height='2'/></svg>\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2042%2026%27%20fill%3D%27%2523007aff%27%3E%3Crect%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%271%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2711%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2712%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2722%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2723%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3C%2Fsvg%3E\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns=\\\\\\"http://www.w3.org/2000/svg\\\\\\"><filter id=\\\\\\"filter\\\\\\"><feGaussianBlur in=\\\\\\"SourceAlpha\\\\\\" stdDeviation=\\\\\\"0\\\\\\" /><feOffset dx=\\\\\\"1\\\\\\" dy=\\\\\\"2\\\\\\" result=\\\\\\"offsetblur\\\\\\" /><feFlood flood-color=\\\\\\"rgba(255,255,255,1)\\\\\\" /><feComposite in2=\\\\\\"offsetblur\\\\\\" operator=\\\\\\"in\\\\\\" /><feMerge><feMergeNode /><feMergeNode in=\\\\\\"SourceGraphic\\\\\\" /></feMerge></filter></svg>#filter');\\\\n}\\\\n\\\\n.class {\\\\n  filter: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%3E%3Cfilter%20id%3D%5C%22filter%5C%22%3E%3CfeGaussianBlur%20in%3D%5C%22SourceAlpha%5C%22%20stdDeviation%3D%5C%220%5C%22%20%2F%3E%3CfeOffset%20dx%3D%5C%221%5C%22%20dy%3D%5C%222%5C%22%20result%3D%5C%22offsetblur%5C%22%20%2F%3E%3CfeFlood%20flood-color%3D%5C%22rgba(255%2C255%2C255%2C1)%5C%22%20%2F%3E%3CfeComposite%20in2%3D%5C%22offsetblur%5C%22%20operator%3D%5C%22in%5C%22%20%2F%3E%3CfeMerge%3E%3CfeMergeNode%20%2F%3E%3CfeMergeNode%20in%3D%5C%22SourceGraphic%5C%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fsvg%3E%23filter');\\\\n}\\\\n\\\\n.highlight {\\\\n  filter: url(#highlight);\\\\n}\\\\n\\\\n.highlight {\\\\n  filter: url('#line-marker');\\\\n}\\\\n\\\\n@font-face {\\\\n  src: url(./font.woff) format('woff'),\\\\n    url('./font.woff2') format('woff2'),\\\\n    url(\\\\\\"./font.eot\\\\\\") format('eot'),\\\\n    url(~package/font.ttf) format('truetype'),\\\\n    url(\\\\\\"./font with spaces.eot\\\\\\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n    url('./font.svg#svgFontName') format('svg'),\\\\n    url('./font.woff2?foo=bar') format('woff2'),\\\\n    url(\\\\\\"./font.eot?#iefix\\\\\\") format('embedded-opentype'),\\\\n    url(\\\\\\"./font with spaces.eot?#iefix\\\\\\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n  body {\\\\n    background: url(\\\\\\"./img.png\\\\\\");\\\\n  }\\\\n}\\\\n\\\\na {\\\\n  content: \\\\\\"do not use url(path)\\\\\\";\\\\n}\\\\n\\\\nb {\\\\n  content: 'do not \\\\\\"use\\\\\\" url(path)';\\\\n}\\\\n\\\\n@keyframes anim {\\\\n  background: green url('./img.png') xyz;\\\\n}\\\\n\\\\n.a {\\\\n  background-image: -webkit-image-set(url('./img1x.png') 1x, url('./img2x.png') 2x)\\\\n}\\\\n\\\\n.a {\\\\n  background-image: image-set(url('./img1x.png') 1x, url('./img2x.png') 2x)\\\\n}\\\\n\\\\n.class {\\\\n  background: green url() xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url('') xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\\\\\"\\\\\\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url('   ') xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\\\n  ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?foo\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?foo=bar\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?foo=bar#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?foo=bar#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url('./img.png') url(\\\\\\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 26' fill='%23007aff'><rect width='4' height='4'/><rect x='8' y='1' width='34' height='2'/><rect y='11' width='4' height='4'/><rect x='8' y='12' width='34' height='2'/><rect y='22' width='4' height='4'/><rect x='8' y='23' width='34' height='2'/></svg>\\\\\\") url('./img.png');\\\\n}\\\\n\\\\n.class {\\\\n  background: ___CSS_LOADER_URL___;\\\\n  background: ___CSS_LOADER_URL___INDEX___;\\\\n  background: ___CSS_LOADER_URL___99999___;\\\\n  background: ___CSS_LOADER_IMPORT___;\\\\n  background: ___CSS_LOADER_IMPORT___INDEX___;\\\\n  background: ___CSS_LOADER_IMPORT___99999___;\\\\n}\\\\n\\\\n.pure-url {\\\\n  background: url('img-simple.png');\\\\n}\\\\n\\\\n.not-resolved {\\\\n  background: url('/img-simple.png');\\\\n}\\\\n\\\\n.above-below {\\\\n  background: url('../url/img-simple.png');\\\\n}\\\\n\\\\n.tilde {\\\\n  background: url('~package/img.png');\\\\n}\\\\n\\\\n.aliases {\\\\n  background: url('~aliasesImg/img.png') ;\\\\n}\\\\n\\\\na {\\\\n  background: url(./nested/img.png);\\\\n}\\\\n\\\\na {\\\\n  background: url(nested/img.png);\\\\n}\\\\n\\\\n@font-face {\\\\n  src: url(\\\\\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  /* Broken */\\\\n  background-image: -webkit-image-set();\\\\n  background-image: -webkit-image-set('');\\\\n  background-image: image-set();\\\\n  background-image: image-set('');\\\\n  background-image: image-set(\\\\\\"\\\\\\");\\\\n  background-image: image-set(\\\\\\"\\\\\\" 1x);\\\\n  background-image: image-set(url());\\\\n  background-image: image-set(\\\\n    url()\\\\n  );\\\\n  background-image: image-set(URL());\\\\n  background-image: image-set(url(''));\\\\n  background-image: image-set(url(\\\\\\"\\\\\\"));\\\\n  background-image: image-set(url('') 1x);\\\\n  background-image: image-set(1x);\\\\n  background-image: image-set(\\\\n    1x\\\\n  );\\\\n  background: image-set(calc(1rem + 1px) 1x);\\\\n\\\\n  /* Strings */\\\\n  background-image: -webkit-image-set(\\\\\\"./img1x.png\\\\\\" 1x, \\\\\\"./img2x.png\\\\\\" 2x);\\\\n  background-image: image-set(\\\\\\"./img1x.png\\\\\\" 1x);\\\\n  background-image: image-set(\\\\\\"./img1x.png\\\\\\" 1x, \\\\\\"./img2x.png\\\\\\" 2x);\\\\n  background-image: image-set(\\\\\\"./img img.png\\\\\\" 1x, \\\\\\"./img img.png\\\\\\" 2x);\\\\n  background-image: image-set(\\\\\\"./img1x.png\\\\\\" 1x, \\\\\\"./img2x.png\\\\\\" 2x),\\\\n    image-set(\\\\\\"./img1x.png\\\\\\" 1x, \\\\\\"./img2x.png\\\\\\" 2x);\\\\n  background-image: image-set(\\\\n    \\\\\\"./img1x.png\\\\\\" 1x,\\\\n    \\\\\\"./img2x.png\\\\\\" 2x,\\\\n    \\\\\\"./img3x.png\\\\\\" 600dpi\\\\n  );\\\\n  background-image: image-set(\\\\\\"./img1x.png?foo=bar\\\\\\" 1x);\\\\n  background-image: image-set(\\\\\\"./img1x.png#hash\\\\\\" 1x);\\\\n  background-image: image-set(\\\\\\"./img1x.png?#iefix\\\\\\" 1x);\\\\n\\\\n  /* With \`url\` function */\\\\n  background-image: -webkit-image-set(url(\\\\\\"./img1x.png\\\\\\") 1x, url(\\\\\\"./img2x.png\\\\\\") 2x);\\\\n  background-image: -webkit-image-set(url(\\\\\\"./img1x.png\\\\\\") 1x);\\\\n  background-image: -webkit-image-set(\\\\n    url(\\\\\\"./img1x.png\\\\\\") 1x\\\\n  );\\\\n  background-image: image-set(url(./img1x.png) 1x);\\\\n  background-image: image-set(\\\\n    url(./img1x.png) 1x\\\\n  );\\\\n  background-image: image-set(url(\\\\\\"./img1x.png\\\\\\") 1x, url(\\\\\\"./img2x.png\\\\\\") 2x);\\\\n  background-image: image-set(\\\\n    url(./img1x.png) 1x,\\\\n    url(./img2x.png) 2x,\\\\n    url(./img3x.png) 600dpi\\\\n  );\\\\n  background-image: image-set(url(\\\\\\"./img img.png\\\\\\") 1x, url(\\\\\\"./img img.png\\\\\\") 2x);\\\\n\\\\n  background-image: image-set(url(\\\\\\"./img1x.png\\\\\\") 1x, \\\\\\"./img2x.png\\\\\\" 2x);\\\\n}\\\\n\\\\n.class {\\\\n  /* Not allowed on windows */\\\\n  /* background: url(./img\\\\\\\\\\\\\\"img.png); */\\\\n  background: url(./img\\\\\\\\'img.png);\\\\n  background: url(./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png);\\\\n  background: url(./img\\\\\\\\(img.png);\\\\n  background: url(./img\\\\\\\\)img.png);\\\\n  background: url(./img\\\\\\\\ img.png);\\\\n  background: url(./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png);\\\\n\\\\n  background-image: image-set(\\\\n    /* Not allowed on windows */\\\\n    /* url(./img\\\\\\\\\\\\\\"img.png) 1x, */\\\\n    url(./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png) 2x,\\\\n    url(./img\\\\\\\\'img.png) 3x,\\\\n    url(./img\\\\\\\\(img.png) 4x,\\\\n    url(./img\\\\\\\\)img.png) 5x,\\\\n    url(./img\\\\\\\\ img.png) 6x,\\\\n    url(./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png) 7x\\\\n  );\\\\n}\\\\n\\\\n.class-class-class {\\\\n  background: url(\\\\\\"./img'''img.png\\\\\\");\\\\n  background: url(\\\\\\"./img'() img.png\\\\\\");\\\\n  background: url(\\\\\\"./img'img.png\\\\\\");\\\\n  background: url(\\\\\\"./img(img.png\\\\\\");\\\\n  background: url(\\\\\\"./img)img.png\\\\\\");\\\\n  background: url('./img img.png');\\\\n  background: url(\\\\\\"./img img.png\\\\\\");\\\\n}\\\\n\\\\n.class.class.class {\\\\n  background: url('./img\\\\\\\\\\\\n(img.png');\\\\n  background: url('./img\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n(img.png');\\\\n}\\\\n\\\\n.other-test-case {\\\\n  background: url(\\\\\\"./img%27%27%27img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%27%28%29%20img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%27img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%28img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%29img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%20img.png\\\\\\");\\\\n  background: url(./img%27%27%27img.png);\\\\n  background: url(./img%27%28%29%20img.png);\\\\n  background: url(./img%27img.png);\\\\n  background: url(./img%28img.png);\\\\n  background: url(./img%29img.png);\\\\n  background: url(./img%20img.png);\\\\n}\\\\n\\\\n.qqq {\\\\n  background: url('img.png');\\\\n}\\\\n\\\\n.www {\\\\n  background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\'img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\(img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\)img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\ img.png\\\\\\");\\\\n  background: url(\\\\\\"./\\\\\\\\69\\\\\\\\6D\\\\\\\\67.png\\\\\\");\\\\n  background: url(./\\\\\\\\69\\\\\\\\6D\\\\\\\\67.png);\\\\n  background: url(\\\\\\"./img\\\\\\\\27img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\28%29 img.png\\\\\\");\\\\n  background: url(./img\\\\\\\\'\\\\\\\\28%29\\\\\\\\ img.png);\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n  background: url('./img.png');\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(./img.png);\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\n    \\\\\\"./img.png\\\\\\"\\\\n  );\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( './img.png' ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\\\\\"./img.png\\\\\\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( ./img.png ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(~package/img.png) url(./other-img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\\\\\"./img img.png\\\\\\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( './img img.png' ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(/img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 26' fill='%23007aff'><rect width='4' height='4'/><rect x='8' y='1' width='34' height='2'/><rect y='11' width='4' height='4'/><rect x='8' y='12' width='34' height='2'/><rect y='22' width='4' height='4'/><rect x='8' y='23' width='34' height='2'/></svg>\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2042%2026%27%20fill%3D%27%2523007aff%27%3E%3Crect%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%271%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2711%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2712%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2722%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2723%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3C%2Fsvg%3E\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns=\\\\\\"http://www.w3.org/2000/svg\\\\\\"><filter id=\\\\\\"filter\\\\\\"><feGaussianBlur in=\\\\\\"SourceAlpha\\\\\\" stdDeviation=\\\\\\"0\\\\\\" /><feOffset dx=\\\\\\"1\\\\\\" dy=\\\\\\"2\\\\\\" result=\\\\\\"offsetblur\\\\\\" /><feFlood flood-color=\\\\\\"rgba(255,255,255,1)\\\\\\" /><feComposite in2=\\\\\\"offsetblur\\\\\\" operator=\\\\\\"in\\\\\\" /><feMerge><feMergeNode /><feMergeNode in=\\\\\\"SourceGraphic\\\\\\" /></feMerge></filter></svg>#filter');\\\\n}\\\\n\\\\n.class {\\\\n  filter: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%3E%3Cfilter%20id%3D%5C%22filter%5C%22%3E%3CfeGaussianBlur%20in%3D%5C%22SourceAlpha%5C%22%20stdDeviation%3D%5C%220%5C%22%20%2F%3E%3CfeOffset%20dx%3D%5C%221%5C%22%20dy%3D%5C%222%5C%22%20result%3D%5C%22offsetblur%5C%22%20%2F%3E%3CfeFlood%20flood-color%3D%5C%22rgba(255%2C255%2C255%2C1)%5C%22%20%2F%3E%3CfeComposite%20in2%3D%5C%22offsetblur%5C%22%20operator%3D%5C%22in%5C%22%20%2F%3E%3CfeMerge%3E%3CfeMergeNode%20%2F%3E%3CfeMergeNode%20in%3D%5C%22SourceGraphic%5C%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fsvg%3E%23filter');\\\\n}\\\\n\\\\n.highlight {\\\\n  filter: url(#highlight);\\\\n}\\\\n\\\\n.highlight {\\\\n  filter: url('#line-marker');\\\\n}\\\\n\\\\n@font-face {\\\\n  src: url(./font.woff) format('woff'),\\\\n    url('./font.woff2') format('woff2'),\\\\n    url(\\\\\\"./font.eot\\\\\\") format('eot'),\\\\n    url(~package/font.ttf) format('truetype'),\\\\n    url(\\\\\\"./font with spaces.eot\\\\\\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n    url('./font.svg#svgFontName') format('svg'),\\\\n    url('./font.woff2?foo=bar') format('woff2'),\\\\n    url(\\\\\\"./font.eot?#iefix\\\\\\") format('embedded-opentype'),\\\\n    url(\\\\\\"./font with spaces.eot?#iefix\\\\\\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n  body {\\\\n    background: url(\\\\\\"./img.png\\\\\\");\\\\n  }\\\\n}\\\\n\\\\na {\\\\n  content: \\\\\\"do not use url(path)\\\\\\";\\\\n}\\\\n\\\\nb {\\\\n  content: 'do not \\\\\\"use\\\\\\" url(path)';\\\\n}\\\\n\\\\n@keyframes anim {\\\\n  background: green url('./img.png') xyz;\\\\n}\\\\n\\\\n.a {\\\\n  background-image: -webkit-image-set(url('./img1x.png') 1x, url('./img2x.png') 2x)\\\\n}\\\\n\\\\n.a {\\\\n  background-image: image-set(url('./img1x.png') 1x, url('./img2x.png') 2x)\\\\n}\\\\n\\\\n.class {\\\\n  background: green url() xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url('') xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\\\\\"\\\\\\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url('   ') xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\\\n  ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?foo\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?foo=bar\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?foo=bar#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?foo=bar#hash\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\\\"./img.png?\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url('./img.png') url(\\\\\\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 26' fill='%23007aff'><rect width='4' height='4'/><rect x='8' y='1' width='34' height='2'/><rect y='11' width='4' height='4'/><rect x='8' y='12' width='34' height='2'/><rect y='22' width='4' height='4'/><rect x='8' y='23' width='34' height='2'/></svg>\\\\\\") url('./img.png');\\\\n}\\\\n\\\\n.class {\\\\n  background: ___CSS_LOADER_URL___;\\\\n  background: ___CSS_LOADER_URL___INDEX___;\\\\n  background: ___CSS_LOADER_URL___99999___;\\\\n  background: ___CSS_LOADER_IMPORT___;\\\\n  background: ___CSS_LOADER_IMPORT___INDEX___;\\\\n  background: ___CSS_LOADER_IMPORT___99999___;\\\\n}\\\\n\\\\n.pure-url {\\\\n  background: url('img-simple.png');\\\\n}\\\\n\\\\n.root-relative {\\\\n  background: url('/url/img-simple.png');\\\\n}\\\\n\\\\n.above-below {\\\\n  background: url('../url/img-simple.png');\\\\n}\\\\n\\\\n.tilde {\\\\n  background: url('~package/img.png');\\\\n}\\\\n\\\\n.aliases {\\\\n  background: url('~aliasesImg/img.png') ;\\\\n}\\\\n\\\\na {\\\\n  background: url(./nested/img.png);\\\\n}\\\\n\\\\na {\\\\n  background: url(nested/img.png);\\\\n}\\\\n\\\\n@font-face {\\\\n  src: url(\\\\\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  /* Broken */\\\\n  background-image: -webkit-image-set();\\\\n  background-image: -webkit-image-set('');\\\\n  background-image: image-set();\\\\n  background-image: image-set('');\\\\n  background-image: image-set(\\\\\\"\\\\\\");\\\\n  background-image: image-set(\\\\\\"\\\\\\" 1x);\\\\n  background-image: image-set(url());\\\\n  background-image: image-set(\\\\n    url()\\\\n  );\\\\n  background-image: image-set(URL());\\\\n  background-image: image-set(url(''));\\\\n  background-image: image-set(url(\\\\\\"\\\\\\"));\\\\n  background-image: image-set(url('') 1x);\\\\n  background-image: image-set(1x);\\\\n  background-image: image-set(\\\\n    1x\\\\n  );\\\\n  background: image-set(calc(1rem + 1px) 1x);\\\\n\\\\n  /* Strings */\\\\n  background-image: -webkit-image-set(\\\\\\"./img1x.png\\\\\\" 1x, \\\\\\"./img2x.png\\\\\\" 2x);\\\\n  background-image: image-set(\\\\\\"./img1x.png\\\\\\" 1x);\\\\n  background-image: image-set(\\\\\\"./img1x.png\\\\\\" 1x, \\\\\\"./img2x.png\\\\\\" 2x);\\\\n  background-image: image-set(\\\\\\"./img img.png\\\\\\" 1x, \\\\\\"./img img.png\\\\\\" 2x);\\\\n  background-image: image-set(\\\\\\"./img1x.png\\\\\\" 1x, \\\\\\"./img2x.png\\\\\\" 2x),\\\\n    image-set(\\\\\\"./img1x.png\\\\\\" 1x, \\\\\\"./img2x.png\\\\\\" 2x);\\\\n  background-image: image-set(\\\\n    \\\\\\"./img1x.png\\\\\\" 1x,\\\\n    \\\\\\"./img2x.png\\\\\\" 2x,\\\\n    \\\\\\"./img3x.png\\\\\\" 600dpi\\\\n  );\\\\n  background-image: image-set(\\\\\\"./img1x.png?foo=bar\\\\\\" 1x);\\\\n  background-image: image-set(\\\\\\"./img1x.png#hash\\\\\\" 1x);\\\\n  background-image: image-set(\\\\\\"./img1x.png?#iefix\\\\\\" 1x);\\\\n\\\\n  /* With \`url\` function */\\\\n  background-image: -webkit-image-set(url(\\\\\\"./img1x.png\\\\\\") 1x, url(\\\\\\"./img2x.png\\\\\\") 2x);\\\\n  background-image: -webkit-image-set(url(\\\\\\"./img1x.png\\\\\\") 1x);\\\\n  background-image: -webkit-image-set(\\\\n    url(\\\\\\"./img1x.png\\\\\\") 1x\\\\n  );\\\\n  background-image: image-set(url(./img1x.png) 1x);\\\\n  background-image: image-set(\\\\n    url(./img1x.png) 1x\\\\n  );\\\\n  background-image: image-set(url(\\\\\\"./img1x.png\\\\\\") 1x, url(\\\\\\"./img2x.png\\\\\\") 2x);\\\\n  background-image: image-set(\\\\n    url(./img1x.png) 1x,\\\\n    url(./img2x.png) 2x,\\\\n    url(./img3x.png) 600dpi\\\\n  );\\\\n  background-image: image-set(url(\\\\\\"./img img.png\\\\\\") 1x, url(\\\\\\"./img img.png\\\\\\") 2x);\\\\n\\\\n  background-image: image-set(url(\\\\\\"./img1x.png\\\\\\") 1x, \\\\\\"./img2x.png\\\\\\" 2x);\\\\n}\\\\n\\\\n.class {\\\\n  /* Not allowed on windows */\\\\n  /* background: url(./img\\\\\\\\\\\\\\"img.png); */\\\\n  background: url(./img\\\\\\\\'img.png);\\\\n  background: url(./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png);\\\\n  background: url(./img\\\\\\\\(img.png);\\\\n  background: url(./img\\\\\\\\)img.png);\\\\n  background: url(./img\\\\\\\\ img.png);\\\\n  background: url(./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png);\\\\n\\\\n  background-image: image-set(\\\\n    /* Not allowed on windows */\\\\n    /* url(./img\\\\\\\\\\\\\\"img.png) 1x, */\\\\n    url(./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png) 2x,\\\\n    url(./img\\\\\\\\'img.png) 3x,\\\\n    url(./img\\\\\\\\(img.png) 4x,\\\\n    url(./img\\\\\\\\)img.png) 5x,\\\\n    url(./img\\\\\\\\ img.png) 6x,\\\\n    url(./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png) 7x\\\\n  );\\\\n}\\\\n\\\\n.class-class-class {\\\\n  background: url(\\\\\\"./img'''img.png\\\\\\");\\\\n  background: url(\\\\\\"./img'() img.png\\\\\\");\\\\n  background: url(\\\\\\"./img'img.png\\\\\\");\\\\n  background: url(\\\\\\"./img(img.png\\\\\\");\\\\n  background: url(\\\\\\"./img)img.png\\\\\\");\\\\n  background: url('./img img.png');\\\\n  background: url(\\\\\\"./img img.png\\\\\\");\\\\n}\\\\n\\\\n.class.class.class {\\\\n  background: url('./img\\\\\\\\\\\\n(img.png');\\\\n  background: url('./img\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n\\\\\\\\\\\\n(img.png');\\\\n}\\\\n\\\\n.other-test-case {\\\\n  background: url(\\\\\\"./img%27%27%27img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%27%28%29%20img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%27img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%28img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%29img.png\\\\\\");\\\\n  background: url(\\\\\\"./img%20img.png\\\\\\");\\\\n  background: url(./img%27%27%27img.png);\\\\n  background: url(./img%27%28%29%20img.png);\\\\n  background: url(./img%27img.png);\\\\n  background: url(./img%28img.png);\\\\n  background: url(./img%29img.png);\\\\n  background: url(./img%20img.png);\\\\n}\\\\n\\\\n.qqq {\\\\n  background: url('img.png');\\\\n}\\\\n\\\\n.www {\\\\n  background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\'\\\\\\\\'img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\(\\\\\\\\)\\\\\\\\ img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\'img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\(img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\)img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\ img.png\\\\\\");\\\\n  background: url(\\\\\\"./\\\\\\\\69\\\\\\\\6D\\\\\\\\67.png\\\\\\");\\\\n  background: url(./\\\\\\\\69\\\\\\\\6D\\\\\\\\67.png);\\\\n  background: url(\\\\\\"./img\\\\\\\\27img.png\\\\\\");\\\\n  background: url(\\\\\\"./img\\\\\\\\'\\\\\\\\28%29 img.png\\\\\\");\\\\n  background: url(./img\\\\\\\\'\\\\\\\\28%29\\\\\\\\ img.png);\\\\n}\\\\n\\\\n.qqq {\\\\n  background: url('!!../../helpers/url-loader.js?esModule=false!~package/img.png')\\\\n}\\\\n\\\\n.class {\\\\n  /* Should be one import */\\\\n  background: url('./something.png');\\\\n  background: url('./something.png');\\\\n\\\\n  background: url('./something.png?foo=bar');\\\\n  background: url('./something.png?foo=bar');\\\\n\\\\n  background: url('./something.png?foo=bar#hash');\\\\n  background: url('./something.png?foo=bar#hash');\\\\n\\\\n  /* Should be two imports */\\\\n  background: url('./something.png?foo=bar');\\\\n  background: url('./something.png?bar=foo');\\\\n\\\\n  background: url('./something.png?foo=bar#foo');\\\\n  background: url('./something.png?bar=foo#bar');\\\\n\\\\n  background: url('./something.png?foo=1&bar=2');\\\\n  background: url('./something.png?foo=2&bar=1');\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -1193,8 +1274,8 @@ b {
   background: url('img-simple.png');
 }
 
-.not-resolved {
-  background: url('/img-simple.png');
+.root-relative {
+  background: url('/url/img-simple.png');
 }
 
 .above-below {
@@ -1354,6 +1435,32 @@ a {
   background: url(\\"./img\\\\'\\\\28%29 img.png\\");
   background: url(./img\\\\'\\\\28%29\\\\ img.png);
 }
+
+.qqq {
+  background: url('!!../../helpers/url-loader.js?esModule=false!~package/img.png')
+}
+
+.class {
+  /* Should be one import */
+  background: url('./something.png');
+  background: url('./something.png');
+
+  background: url('./something.png?foo=bar');
+  background: url('./something.png?foo=bar');
+
+  background: url('./something.png?foo=bar#hash');
+  background: url('./something.png?foo=bar#hash');
+
+  /* Should be two imports */
+  background: url('./something.png?foo=bar');
+  background: url('./something.png?bar=foo');
+
+  background: url('./something.png?foo=bar#foo');
+  background: url('./something.png?bar=foo#bar');
+
+  background: url('./something.png?foo=1&bar=2');
+  background: url('./something.png?foo=2&bar=1');
+}
 ",
     "",
   ],
@@ -1366,38 +1473,42 @@ exports[`"url" option should work with a value equal to "true": errors 1`] = `Ar
 
 exports[`"url" option should work with a value equal to "true": module 1`] = `
 "// Imports
-var ___CSS_LOADER_API_IMPORT___ = require(\\"../../../src/runtime/api.js\\");
-var ___CSS_LOADER_AT_RULE_IMPORT_0___ = require(\\"-!../../../src/index.js??[ident]!./imported.css\\");
-var ___CSS_LOADER_GET_URL_IMPORT___ = require(\\"../../../src/runtime/getUrl.js\\");
-var ___CSS_LOADER_URL_IMPORT_0___ = require(\\"./img.png\\");
-var ___CSS_LOADER_URL_IMPORT_1___ = require(\\"package/img.png\\");
-var ___CSS_LOADER_URL_IMPORT_2___ = require(\\"./other-img.png\\");
-var ___CSS_LOADER_URL_IMPORT_3___ = require(\\"./img img.png\\");
-var ___CSS_LOADER_URL_IMPORT_4___ = require(\\"./font.woff\\");
-var ___CSS_LOADER_URL_IMPORT_5___ = require(\\"./font.woff2\\");
-var ___CSS_LOADER_URL_IMPORT_6___ = require(\\"./font.eot\\");
-var ___CSS_LOADER_URL_IMPORT_7___ = require(\\"package/font.ttf\\");
-var ___CSS_LOADER_URL_IMPORT_8___ = require(\\"./font with spaces.eot\\");
-var ___CSS_LOADER_URL_IMPORT_9___ = require(\\"./font.svg\\");
-var ___CSS_LOADER_URL_IMPORT_10___ = require(\\"./font.woff2?foo=bar\\");
-var ___CSS_LOADER_URL_IMPORT_11___ = require(\\"./img1x.png\\");
-var ___CSS_LOADER_URL_IMPORT_12___ = require(\\"./img2x.png\\");
-var ___CSS_LOADER_URL_IMPORT_13___ = require(\\"./img.png?foo\\");
-var ___CSS_LOADER_URL_IMPORT_14___ = require(\\"./img.png?foo=bar\\");
-var ___CSS_LOADER_URL_IMPORT_15___ = require(\\"./img.png?\\");
-var ___CSS_LOADER_URL_IMPORT_16___ = require(\\"./img-simple.png\\");
-var ___CSS_LOADER_URL_IMPORT_17___ = require(\\"../url/img-simple.png\\");
-var ___CSS_LOADER_URL_IMPORT_18___ = require(\\"aliasesImg/img.png\\");
-var ___CSS_LOADER_URL_IMPORT_19___ = require(\\"./nested/img.png\\");
-var ___CSS_LOADER_URL_IMPORT_20___ = require(\\"./img3x.png\\");
-var ___CSS_LOADER_URL_IMPORT_21___ = require(\\"./img1x.png?foo=bar\\");
-var ___CSS_LOADER_URL_IMPORT_22___ = require(\\"./img'img.png\\");
-var ___CSS_LOADER_URL_IMPORT_23___ = require(\\"./img'''img.png\\");
-var ___CSS_LOADER_URL_IMPORT_24___ = require(\\"./img(img.png\\");
-var ___CSS_LOADER_URL_IMPORT_25___ = require(\\"./img)img.png\\");
-var ___CSS_LOADER_URL_IMPORT_26___ = require(\\"./img'() img.png\\");
-exports = ___CSS_LOADER_API_IMPORT___(false);
-exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
+import ___CSS_LOADER_API_IMPORT___ from \\"../../../src/runtime/api.js\\";
+import ___CSS_LOADER_AT_RULE_IMPORT_0___ from \\"-!../../../src/index.js??[ident]!./imported.css\\";
+import ___CSS_LOADER_GET_URL_IMPORT___ from \\"../../../src/runtime/getUrl.js\\";
+import ___CSS_LOADER_URL_IMPORT_0___ from \\"./img.png\\";
+import ___CSS_LOADER_URL_IMPORT_1___ from \\"./node_modules/package/img.png\\";
+import ___CSS_LOADER_URL_IMPORT_2___ from \\"./other-img.png\\";
+import ___CSS_LOADER_URL_IMPORT_3___ from \\"./img img.png\\";
+import ___CSS_LOADER_URL_IMPORT_4___ from \\"./font.woff\\";
+import ___CSS_LOADER_URL_IMPORT_5___ from \\"./font.woff2\\";
+import ___CSS_LOADER_URL_IMPORT_6___ from \\"./font.eot\\";
+import ___CSS_LOADER_URL_IMPORT_7___ from \\"./node_modules/package/font.ttf\\";
+import ___CSS_LOADER_URL_IMPORT_8___ from \\"./font with spaces.eot\\";
+import ___CSS_LOADER_URL_IMPORT_9___ from \\"./font.svg\\";
+import ___CSS_LOADER_URL_IMPORT_10___ from \\"./font.woff2?foo=bar\\";
+import ___CSS_LOADER_URL_IMPORT_11___ from \\"./img1x.png\\";
+import ___CSS_LOADER_URL_IMPORT_12___ from \\"./img2x.png\\";
+import ___CSS_LOADER_URL_IMPORT_13___ from \\"./img.png?foo\\";
+import ___CSS_LOADER_URL_IMPORT_14___ from \\"./img.png?foo=bar\\";
+import ___CSS_LOADER_URL_IMPORT_15___ from \\"./img.png?\\";
+import ___CSS_LOADER_URL_IMPORT_16___ from \\"./img-simple.png\\";
+import ___CSS_LOADER_URL_IMPORT_17___ from \\"./nested/img.png\\";
+import ___CSS_LOADER_URL_IMPORT_18___ from \\"./img3x.png\\";
+import ___CSS_LOADER_URL_IMPORT_19___ from \\"./img1x.png?foo=bar\\";
+import ___CSS_LOADER_URL_IMPORT_20___ from \\"./img'img.png\\";
+import ___CSS_LOADER_URL_IMPORT_21___ from \\"./img'''img.png\\";
+import ___CSS_LOADER_URL_IMPORT_22___ from \\"./img(img.png\\";
+import ___CSS_LOADER_URL_IMPORT_23___ from \\"./img)img.png\\";
+import ___CSS_LOADER_URL_IMPORT_24___ from \\"./img'() img.png\\";
+import ___CSS_LOADER_URL_IMPORT_25___ from \\"!!../../helpers/url-loader.js?esModule=false!./node_modules/package/img.png\\";
+import ___CSS_LOADER_URL_IMPORT_26___ from \\"./something.png\\";
+import ___CSS_LOADER_URL_IMPORT_27___ from \\"./something.png?foo=bar\\";
+import ___CSS_LOADER_URL_IMPORT_28___ from \\"./something.png?bar=foo\\";
+import ___CSS_LOADER_URL_IMPORT_29___ from \\"./something.png?foo=1&bar=2\\";
+import ___CSS_LOADER_URL_IMPORT_30___ from \\"./something.png?foo=2&bar=1\\";
+var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
+___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);
 var ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___, { hash: \\"#hash\\" });
 var ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);
@@ -1420,25 +1531,32 @@ var ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS
 var ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);
 var ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___);
 var ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___);
-var ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___);
-var ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___);
-var ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { needQuotes: true });
-var ___CSS_LOADER_URL_REPLACEMENT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___, { needQuotes: true });
-var ___CSS_LOADER_URL_REPLACEMENT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___, { needQuotes: true });
-var ___CSS_LOADER_URL_REPLACEMENT_27___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___, { needQuotes: true });
-var ___CSS_LOADER_URL_REPLACEMENT_28___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_21___, { needQuotes: true });
-var ___CSS_LOADER_URL_REPLACEMENT_29___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { hash: \\"#hash\\", needQuotes: true });
-var ___CSS_LOADER_URL_REPLACEMENT_30___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { hash: \\"?#iefix\\", needQuotes: true });
-var ___CSS_LOADER_URL_REPLACEMENT_31___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___);
+var ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { needQuotes: true });
+var ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___, { needQuotes: true });
+var ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___, { needQuotes: true });
+var ___CSS_LOADER_URL_REPLACEMENT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___, { needQuotes: true });
+var ___CSS_LOADER_URL_REPLACEMENT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___, { needQuotes: true });
+var ___CSS_LOADER_URL_REPLACEMENT_27___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { hash: \\"#hash\\", needQuotes: true });
+var ___CSS_LOADER_URL_REPLACEMENT_28___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___, { hash: \\"?#iefix\\", needQuotes: true });
+var ___CSS_LOADER_URL_REPLACEMENT_29___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___);
+var ___CSS_LOADER_URL_REPLACEMENT_30___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___);
+var ___CSS_LOADER_URL_REPLACEMENT_31___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_21___);
 var ___CSS_LOADER_URL_REPLACEMENT_32___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_22___);
 var ___CSS_LOADER_URL_REPLACEMENT_33___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_23___);
 var ___CSS_LOADER_URL_REPLACEMENT_34___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_24___);
 var ___CSS_LOADER_URL_REPLACEMENT_35___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_25___);
 var ___CSS_LOADER_URL_REPLACEMENT_36___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_26___);
+var ___CSS_LOADER_URL_REPLACEMENT_37___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_27___);
+var ___CSS_LOADER_URL_REPLACEMENT_38___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_27___, { hash: \\"#hash\\" });
+var ___CSS_LOADER_URL_REPLACEMENT_39___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_28___);
+var ___CSS_LOADER_URL_REPLACEMENT_40___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_27___, { hash: \\"#foo\\" });
+var ___CSS_LOADER_URL_REPLACEMENT_41___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_28___, { hash: \\"#bar\\" });
+var ___CSS_LOADER_URL_REPLACEMENT_42___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_29___);
+var ___CSS_LOADER_URL_REPLACEMENT_43___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_30___);
 // Module
-exports.push([module.id, \\".class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"\\\\n  );\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(/img.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 26' fill='%23007aff'><rect width='4' height='4'/><rect x='8' y='1' width='34' height='2'/><rect y='11' width='4' height='4'/><rect x='8' y='12' width='34' height='2'/><rect y='22' width='4' height='4'/><rect x='8' y='23' width='34' height='2'/></svg>\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2042%2026%27%20fill%3D%27%2523007aff%27%3E%3Crect%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%271%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2711%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2712%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2722%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2723%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3C%2Fsvg%3E\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns=\\\\\\"http://www.w3.org/2000/svg\\\\\\"><filter id=\\\\\\"filter\\\\\\"><feGaussianBlur in=\\\\\\"SourceAlpha\\\\\\" stdDeviation=\\\\\\"0\\\\\\" /><feOffset dx=\\\\\\"1\\\\\\" dy=\\\\\\"2\\\\\\" result=\\\\\\"offsetblur\\\\\\" /><feFlood flood-color=\\\\\\"rgba(255,255,255,1)\\\\\\" /><feComposite in2=\\\\\\"offsetblur\\\\\\" operator=\\\\\\"in\\\\\\" /><feMerge><feMergeNode /><feMergeNode in=\\\\\\"SourceGraphic\\\\\\" /></feMerge></filter></svg>#filter');\\\\n}\\\\n\\\\n.class {\\\\n  filter: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%3E%3Cfilter%20id%3D%5C%22filter%5C%22%3E%3CfeGaussianBlur%20in%3D%5C%22SourceAlpha%5C%22%20stdDeviation%3D%5C%220%5C%22%20%2F%3E%3CfeOffset%20dx%3D%5C%221%5C%22%20dy%3D%5C%222%5C%22%20result%3D%5C%22offsetblur%5C%22%20%2F%3E%3CfeFlood%20flood-color%3D%5C%22rgba(255%2C255%2C255%2C1)%5C%22%20%2F%3E%3CfeComposite%20in2%3D%5C%22offsetblur%5C%22%20operator%3D%5C%22in%5C%22%20%2F%3E%3CfeMerge%3E%3CfeMergeNode%20%2F%3E%3CfeMergeNode%20in%3D%5C%22SourceGraphic%5C%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fsvg%3E%23filter');\\\\n}\\\\n\\\\n.highlight {\\\\n  filter: url(#highlight);\\\\n}\\\\n\\\\n.highlight {\\\\n  filter: url('#line-marker');\\\\n}\\\\n\\\\n@font-face {\\\\n  src: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \\") format('woff'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \\") format('woff2'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \\") format('eot'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \\") format('truetype'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") format('svg'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \\") format('woff2'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \\") format('embedded-opentype'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n  body {\\\\n    background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n  }\\\\n}\\\\n\\\\na {\\\\n  content: \\\\\\"do not use url(path)\\\\\\";\\\\n}\\\\n\\\\nb {\\\\n  content: 'do not \\\\\\"use\\\\\\" url(path)';\\\\n}\\\\n\\\\n@keyframes anim {\\\\n  background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") xyz;\\\\n}\\\\n\\\\n.a {\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x)\\\\n}\\\\n\\\\n.a {\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x)\\\\n}\\\\n\\\\n.class {\\\\n  background: green url() xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url('') xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\\\\\"\\\\\\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url('   ') xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\\\n  ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\\\\\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 26' fill='%23007aff'><rect width='4' height='4'/><rect x='8' y='1' width='34' height='2'/><rect y='11' width='4' height='4'/><rect x='8' y='12' width='34' height='2'/><rect y='22' width='4' height='4'/><rect x='8' y='23' width='34' height='2'/></svg>\\\\\\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: ___CSS_LOADER_URL___;\\\\n  background: ___CSS_LOADER_URL___INDEX___;\\\\n  background: ___CSS_LOADER_URL___99999___;\\\\n  background: ___CSS_LOADER_IMPORT___;\\\\n  background: ___CSS_LOADER_IMPORT___INDEX___;\\\\n  background: ___CSS_LOADER_IMPORT___99999___;\\\\n}\\\\n\\\\n.pure-url {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\");\\\\n}\\\\n\\\\n.not-resolved {\\\\n  background: url('/img-simple.png');\\\\n}\\\\n\\\\n.above-below {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \\");\\\\n}\\\\n\\\\n.tilde {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n}\\\\n\\\\n.aliases {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \\");\\\\n}\\\\n\\\\na {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\");\\\\n}\\\\n\\\\na {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\");\\\\n}\\\\n\\\\n@font-face {\\\\n  src: url(\\\\\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  /* Broken */\\\\n  background-image: -webkit-image-set();\\\\n  background-image: -webkit-image-set('');\\\\n  background-image: image-set();\\\\n  background-image: image-set('');\\\\n  background-image: image-set(\\\\\\"\\\\\\");\\\\n  background-image: image-set(\\\\\\"\\\\\\" 1x);\\\\n  background-image: image-set(url());\\\\n  background-image: image-set(\\\\n    url()\\\\n  );\\\\n  background-image: image-set(URL());\\\\n  background-image: image-set(url(''));\\\\n  background-image: image-set(url(\\\\\\"\\\\\\"));\\\\n  background-image: image-set(url('') 1x);\\\\n  background-image: image-set(1x);\\\\n  background-image: image-set(\\\\n    1x\\\\n  );\\\\n  background: image-set(calc(1rem + 1px) 1x);\\\\n\\\\n  /* Strings */\\\\n  background-image: -webkit-image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 2x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x),\\\\n    image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x);\\\\n  background-image: image-set(\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x,\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x,\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \\" 600dpi\\\\n  );\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_28___ + \\" 1x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_29___ + \\" 1x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\" 1x);\\\\n\\\\n  /* With \`url\` function */\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x);\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x);\\\\n  background-image: -webkit-image-set(\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x\\\\n  );\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x);\\\\n  background-image: image-set(\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x\\\\n  );\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x);\\\\n  background-image: image-set(\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_31___ + \\") 600dpi\\\\n  );\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 2x);\\\\n\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 2x);\\\\n}\\\\n\\\\n.class {\\\\n  /* Not allowed on windows */\\\\n  /* background: url(./img\\\\\\\\\\\\\\"img.png); */\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n\\\\n  background-image: image-set(\\\\n    \\\\n    \\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\") 2x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\") 3x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\") 4x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\") 5x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 6x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\") 7x\\\\n  );\\\\n}\\\\n\\\\n.class-class-class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n}\\\\n\\\\n.class.class.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n}\\\\n\\\\n.other-test-case {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n}\\\\n\\\\n.qqq {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.www {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n}\\\\n\\", \\"\\"]);
+___CSS_LOADER_EXPORT___.push([module.id, \\".class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\"\\\\n  );\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url( \\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\" ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(data:image/png;base64,AAA) url(http://example.com/image.jpg) url(//example.com/image.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 26' fill='%23007aff'><rect width='4' height='4'/><rect x='8' y='1' width='34' height='2'/><rect y='11' width='4' height='4'/><rect x='8' y='12' width='34' height='2'/><rect y='22' width='4' height='4'/><rect x='8' y='23' width='34' height='2'/></svg>\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\\\\\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2042%2026%27%20fill%3D%27%2523007aff%27%3E%3Crect%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%271%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2711%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2712%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3Crect%20y%3D%2722%27%20width%3D%274%27%20height%3D%274%27%2F%3E%3Crect%20x%3D%278%27%20y%3D%2723%27%20width%3D%2734%27%20height%3D%272%27%2F%3E%3C%2Fsvg%3E\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns=\\\\\\"http://www.w3.org/2000/svg\\\\\\"><filter id=\\\\\\"filter\\\\\\"><feGaussianBlur in=\\\\\\"SourceAlpha\\\\\\" stdDeviation=\\\\\\"0\\\\\\" /><feOffset dx=\\\\\\"1\\\\\\" dy=\\\\\\"2\\\\\\" result=\\\\\\"offsetblur\\\\\\" /><feFlood flood-color=\\\\\\"rgba(255,255,255,1)\\\\\\" /><feComposite in2=\\\\\\"offsetblur\\\\\\" operator=\\\\\\"in\\\\\\" /><feMerge><feMergeNode /><feMergeNode in=\\\\\\"SourceGraphic\\\\\\" /></feMerge></filter></svg>#filter');\\\\n}\\\\n\\\\n.class {\\\\n  filter: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%5C%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%5C%22%3E%3Cfilter%20id%3D%5C%22filter%5C%22%3E%3CfeGaussianBlur%20in%3D%5C%22SourceAlpha%5C%22%20stdDeviation%3D%5C%220%5C%22%20%2F%3E%3CfeOffset%20dx%3D%5C%221%5C%22%20dy%3D%5C%222%5C%22%20result%3D%5C%22offsetblur%5C%22%20%2F%3E%3CfeFlood%20flood-color%3D%5C%22rgba(255%2C255%2C255%2C1)%5C%22%20%2F%3E%3CfeComposite%20in2%3D%5C%22offsetblur%5C%22%20operator%3D%5C%22in%5C%22%20%2F%3E%3CfeMerge%3E%3CfeMergeNode%20%2F%3E%3CfeMergeNode%20in%3D%5C%22SourceGraphic%5C%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fsvg%3E%23filter');\\\\n}\\\\n\\\\n.highlight {\\\\n  filter: url(#highlight);\\\\n}\\\\n\\\\n.highlight {\\\\n  filter: url('#line-marker');\\\\n}\\\\n\\\\n@font-face {\\\\n  src: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \\") format('woff'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \\") format('woff2'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \\") format('eot'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \\") format('truetype'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \\") format(\\\\\\"embedded-opentype\\\\\\"),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \\") format('svg'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \\") format('woff2'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \\") format('embedded-opentype'),\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \\") format('embedded-opentype');\\\\n}\\\\n\\\\n@media (min-width: 500px) {\\\\n  body {\\\\n    background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n  }\\\\n}\\\\n\\\\na {\\\\n  content: \\\\\\"do not use url(path)\\\\\\";\\\\n}\\\\n\\\\nb {\\\\n  content: 'do not \\\\\\"use\\\\\\" url(path)';\\\\n}\\\\n\\\\n@keyframes anim {\\\\n  background: green url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") xyz;\\\\n}\\\\n\\\\n.a {\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x)\\\\n}\\\\n\\\\n.a {\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x)\\\\n}\\\\n\\\\n.class {\\\\n  background: green url() xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url('') xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\\\\\"\\\\\\") xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url('   ') xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(\\\\n  ) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(https://raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: green url(//raw.githubusercontent.com/webpack/media/master/logo/icon.png) xyz;\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background-image: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\") url(\\\\\\"data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 26' fill='%23007aff'><rect width='4' height='4'/><rect x='8' y='1' width='34' height='2'/><rect y='11' width='4' height='4'/><rect x='8' y='12' width='34' height='2'/><rect y='22' width='4' height='4'/><rect x='8' y='23' width='34' height='2'/></svg>\\\\\\") url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.class {\\\\n  background: ___CSS_LOADER_URL___;\\\\n  background: ___CSS_LOADER_URL___INDEX___;\\\\n  background: ___CSS_LOADER_URL___99999___;\\\\n  background: ___CSS_LOADER_IMPORT___;\\\\n  background: ___CSS_LOADER_IMPORT___INDEX___;\\\\n  background: ___CSS_LOADER_IMPORT___99999___;\\\\n}\\\\n\\\\n.pure-url {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\");\\\\n}\\\\n\\\\n.root-relative {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\");\\\\n}\\\\n\\\\n.above-below {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \\");\\\\n}\\\\n\\\\n.tilde {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \\");\\\\n}\\\\n\\\\n.aliases {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\na {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \\");\\\\n}\\\\n\\\\na {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \\");\\\\n}\\\\n\\\\n@font-face {\\\\n  src: url(\\\\\\"//at.alicdn.com/t/font_515771_emcns5054x3whfr.eot\\\\\\");\\\\n}\\\\n\\\\n.class {\\\\n  /* Broken */\\\\n  background-image: -webkit-image-set();\\\\n  background-image: -webkit-image-set('');\\\\n  background-image: image-set();\\\\n  background-image: image-set('');\\\\n  background-image: image-set(\\\\\\"\\\\\\");\\\\n  background-image: image-set(\\\\\\"\\\\\\" 1x);\\\\n  background-image: image-set(url());\\\\n  background-image: image-set(\\\\n    url()\\\\n  );\\\\n  background-image: image-set(URL());\\\\n  background-image: image-set(url(''));\\\\n  background-image: image-set(url(\\\\\\"\\\\\\"));\\\\n  background-image: image-set(url('') 1x);\\\\n  background-image: image-set(1x);\\\\n  background-image: image-set(\\\\n    1x\\\\n  );\\\\n  background: image-set(calc(1rem + 1px) 1x);\\\\n\\\\n  /* Strings */\\\\n  background-image: -webkit-image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\" 2x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \\" 1x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\" 2x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \\" 2x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\" 2x),\\\\n    image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \\" 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\" 2x);\\\\n  background-image: image-set(\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \\" 1x,\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\" 2x,\\\\n    \\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \\" 600dpi\\\\n  );\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \\" 1x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \\" 1x);\\\\n  background-image: image-set(\\" + ___CSS_LOADER_URL_REPLACEMENT_28___ + \\" 1x);\\\\n\\\\n  /* With \`url\` function */\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x);\\\\n  background-image: -webkit-image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x);\\\\n  background-image: -webkit-image-set(\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x\\\\n  );\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x);\\\\n  background-image: image-set(\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x\\\\n  );\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x);\\\\n  background-image: image-set(\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \\") 2x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_29___ + \\") 600dpi\\\\n  );\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 1x, url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 2x);\\\\n\\\\n  background-image: image-set(url(\\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \\") 1x, \\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \\" 2x);\\\\n}\\\\n\\\\n.class {\\\\n  /* Not allowed on windows */\\\\n  /* background: url(./img\\\\\\\\\\\\\\"img.png); */\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_31___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n\\\\n  background-image: image-set(\\\\n    \\\\n    \\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_31___ + \\") 2x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\") 3x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\") 4x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\") 5x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\") 6x,\\\\n    url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\") 7x\\\\n  );\\\\n}\\\\n\\\\n.class-class-class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_31___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n}\\\\n\\\\n.class.class.class {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n}\\\\n\\\\n.other-test-case {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_31___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_31___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n}\\\\n\\\\n.qqq {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n}\\\\n\\\\n.www {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_31___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_32___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_33___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_30___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_34___ + \\");\\\\n}\\\\n\\\\n.qqq {\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_35___ + \\")\\\\n}\\\\n\\\\n.class {\\\\n  /* Should be one import */\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_36___ + \\");\\\\n\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_37___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_37___ + \\");\\\\n\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_38___ + \\");\\\\n\\\\n  /* Should be two imports */\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_37___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_39___ + \\");\\\\n\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_40___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_41___ + \\");\\\\n\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_42___ + \\");\\\\n  background: url(\\" + ___CSS_LOADER_URL_REPLACEMENT_43___ + \\");\\\\n}\\\\n\\", \\"\\"]);
 // Exports
-module.exports = exports;
+export default ___CSS_LOADER_EXPORT___;
 "
 `;
 
@@ -1501,7 +1619,7 @@ Array [
 }
 
 .class {
-  background: green url(/img.png) xyz;
+  background: green url(/webpack/public/path/img.png) xyz;
 }
 
 .class {
@@ -1636,8 +1754,8 @@ b {
   background: url(/webpack/public/path/img-simple.png);
 }
 
-.not-resolved {
-  background: url('/img-simple.png');
+.root-relative {
+  background: url(/webpack/public/path/img-simple.png);
 }
 
 .above-below {
@@ -1792,6 +1910,32 @@ a {
   background: url(\\"/webpack/public/path/img'() img.png\\");
   background: url(\\"/webpack/public/path/img'() img.png\\");
 }
+
+.qqq {
+  background: url(/webpack/public/path/custom-img.png)
+}
+
+.class {
+  /* Should be one import */
+  background: url(/webpack/public/path/something.png);
+  background: url(/webpack/public/path/something.png);
+
+  background: url(/webpack/public/path/something.png);
+  background: url(/webpack/public/path/something.png);
+
+  background: url(/webpack/public/path/something.png#hash);
+  background: url(/webpack/public/path/something.png#hash);
+
+  /* Should be two imports */
+  background: url(/webpack/public/path/something.png);
+  background: url(/webpack/public/path/something.png);
+
+  background: url(/webpack/public/path/something.png#foo);
+  background: url(/webpack/public/path/something.png#bar);
+
+  background: url(/webpack/public/path/something.png);
+  background: url(/webpack/public/path/something.png);
+}
 ",
     "",
   ],
diff --git a/test/__snapshots__/validate-options.test.js.snap b/test/__snapshots__/validate-options.test.js.snap
index b5e12dc9..c48b0b1a 100644
--- a/test/__snapshots__/validate-options.test.js.snap
+++ b/test/__snapshots__/validate-options.test.js.snap
@@ -36,81 +36,87 @@ exports[`validate options should throw an error on the "importLoaders" option wi
     * options.importLoaders should be a integer."
 `;
 
-exports[`validate options should throw an error on the "localsConvention" option with "unknown" value 1`] = `
-"Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
- - options.localsConvention should be one of these:
-   \\"asIs\\" | \\"camelCase\\" | \\"camelCaseOnly\\" | \\"dashes\\" | \\"dashesOnly\\"
-   -> Style of exported classnames (https://github.com/webpack-contrib/css-loader#localsconvention)."
-`;
-
 exports[`validate options should throw an error on the "modules" option with "{"auto":"invalid"}" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
  - options.modules should be one of these:
-   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, exportGlobals?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? }
+   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, localIdentName?, localIdentContext?, localIdentHashPrefix?, localIdentRegExp?, getLocalIdent?, namedExport?, exportGlobals?, exportLocalsConvention?, exportOnlyLocals? }
    -> Enables/Disables CSS Modules and their configuration (https://github.com/webpack-contrib/css-loader#modules).
    Details:
     * options.modules.auto should be one of these:
       RegExp | function | boolean
+      -> Allows auto enable CSS modules based on filename (https://github.com/webpack-contrib/css-loader#auto).
       Details:
        * options.modules.auto should be an instance of RegExp.
        * options.modules.auto should be an instance of function.
        * options.modules.auto should be a boolean."
 `;
 
-exports[`validate options should throw an error on the "modules" option with "{"context":true}" value 1`] = `
+exports[`validate options should throw an error on the "modules" option with "{"exportGlobals":"invalid"}" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
- - options.modules.context should be a string."
+ - options.modules.exportGlobals should be a boolean.
+   -> Allows to export names from global class or id, so you can use that as local name (https://github.com/webpack-contrib/css-loader#exportglobals)."
 `;
 
-exports[`validate options should throw an error on the "modules" option with "{"exportGlobals":"invalid"}" value 1`] = `
+exports[`validate options should throw an error on the "modules" option with "{"exportLocalsConvention":"unknown"}" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
- - options.modules.exportGlobals should be a boolean."
+ - options.modules.exportLocalsConvention should be one of these:
+   \\"asIs\\" | \\"camelCase\\" | \\"camelCaseOnly\\" | \\"dashes\\" | \\"dashesOnly\\"
+   -> Style of exported classnames (https://github.com/webpack-contrib/css-loader#localsconvention)."
+`;
+
+exports[`validate options should throw an error on the "modules" option with "{"exportOnlyLocals":"invalid"}" value 1`] = `
+"Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
+ - options.modules.exportOnlyLocals should be a boolean.
+   -> Export only locals (https://github.com/webpack-contrib/css-loader#exportonlylocals)."
 `;
 
 exports[`validate options should throw an error on the "modules" option with "{"getLocalIdent":[]}" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
- - options.modules should be one of these:
-   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, exportGlobals?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? }
-   -> Enables/Disables CSS Modules and their configuration (https://github.com/webpack-contrib/css-loader#modules).
-   Details:
-    * options.modules.getLocalIdent should be one of these:
-      boolean | function
-      Details:
-       * options.modules.getLocalIdent should be a boolean.
-       * options.modules.getLocalIdent should be an instance of function."
+ - options.modules.getLocalIdent should be an instance of function.
+   -> Allows to specify a function to generate the classname (https://github.com/webpack-contrib/css-loader#getlocalident)."
+`;
+
+exports[`validate options should throw an error on the "modules" option with "{"localIdentContext":true}" value 1`] = `
+"Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
+ - options.modules.localIdentContext should be a non-empty string.
+   -> Allows to redefine basic loader context for local ident name (https://github.com/webpack-contrib/css-loader#localidentcontext)."
 `;
 
-exports[`validate options should throw an error on the "modules" option with "{"hashPrefix":true}" value 1`] = `
+exports[`validate options should throw an error on the "modules" option with "{"localIdentHashPrefix":true}" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
- - options.modules.hashPrefix should be a string."
+ - options.modules.localIdentHashPrefix should be a non-empty string.
+   -> Allows to add custom hash to generate more unique classes (https://github.com/webpack-contrib/css-loader#localidenthashprefix)."
 `;
 
 exports[`validate options should throw an error on the "modules" option with "{"localIdentName":true}" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
- - options.modules.localIdentName should be a string."
+ - options.modules.localIdentName should be a non-empty string.
+   -> Allows to configure the generated local ident name (https://github.com/webpack-contrib/css-loader#localidentname)."
 `;
 
 exports[`validate options should throw an error on the "modules" option with "{"localIdentRegExp":true}" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
  - options.modules should be one of these:
-   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, exportGlobals?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? }
+   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, localIdentName?, localIdentContext?, localIdentHashPrefix?, localIdentRegExp?, getLocalIdent?, namedExport?, exportGlobals?, exportLocalsConvention?, exportOnlyLocals? }
    -> Enables/Disables CSS Modules and their configuration (https://github.com/webpack-contrib/css-loader#modules).
    Details:
     * options.modules.localIdentRegExp should be one of these:
-      string | RegExp
+      non-empty string | RegExp
+      -> Allows to specify custom RegExp for local ident name (https://github.com/webpack-contrib/css-loader#localidentregexp).
       Details:
-       * options.modules.localIdentRegExp should be a string.
+       * options.modules.localIdentRegExp should be a non-empty string.
        * options.modules.localIdentRegExp should be an instance of RegExp."
 `;
 
 exports[`validate options should throw an error on the "modules" option with "{"mode":"globals"}" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
  - options.modules should be one of these:
-   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, exportGlobals?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? }
+   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, localIdentName?, localIdentContext?, localIdentHashPrefix?, localIdentRegExp?, getLocalIdent?, namedExport?, exportGlobals?, exportLocalsConvention?, exportOnlyLocals? }
    -> Enables/Disables CSS Modules and their configuration (https://github.com/webpack-contrib/css-loader#modules).
    Details:
     * options.modules.mode should be one of these:
       \\"local\\" | \\"global\\" | \\"pure\\" | function
+      -> Setup \`mode\` option (https://github.com/webpack-contrib/css-loader#mode).
       Details:
        * options.modules.mode should be one of these:
          \\"local\\" | \\"global\\" | \\"pure\\"
@@ -120,11 +126,12 @@ exports[`validate options should throw an error on the "modules" option with "{"
 exports[`validate options should throw an error on the "modules" option with "{"mode":"locals"}" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
  - options.modules should be one of these:
-   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, exportGlobals?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? }
+   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, localIdentName?, localIdentContext?, localIdentHashPrefix?, localIdentRegExp?, getLocalIdent?, namedExport?, exportGlobals?, exportLocalsConvention?, exportOnlyLocals? }
    -> Enables/Disables CSS Modules and their configuration (https://github.com/webpack-contrib/css-loader#modules).
    Details:
     * options.modules.mode should be one of these:
       \\"local\\" | \\"global\\" | \\"pure\\" | function
+      -> Setup \`mode\` option (https://github.com/webpack-contrib/css-loader#mode).
       Details:
        * options.modules.mode should be one of these:
          \\"local\\" | \\"global\\" | \\"pure\\"
@@ -134,11 +141,12 @@ exports[`validate options should throw an error on the "modules" option with "{"
 exports[`validate options should throw an error on the "modules" option with "{"mode":"pures"}" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
  - options.modules should be one of these:
-   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, exportGlobals?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? }
+   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, localIdentName?, localIdentContext?, localIdentHashPrefix?, localIdentRegExp?, getLocalIdent?, namedExport?, exportGlobals?, exportLocalsConvention?, exportOnlyLocals? }
    -> Enables/Disables CSS Modules and their configuration (https://github.com/webpack-contrib/css-loader#modules).
    Details:
     * options.modules.mode should be one of these:
       \\"local\\" | \\"global\\" | \\"pure\\" | function
+      -> Setup \`mode\` option (https://github.com/webpack-contrib/css-loader#mode).
       Details:
        * options.modules.mode should be one of these:
          \\"local\\" | \\"global\\" | \\"pure\\"
@@ -148,73 +156,74 @@ exports[`validate options should throw an error on the "modules" option with "{"
 exports[`validate options should throw an error on the "modules" option with "{"mode":true}" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
  - options.modules should be one of these:
-   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, exportGlobals?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? }
+   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, localIdentName?, localIdentContext?, localIdentHashPrefix?, localIdentRegExp?, getLocalIdent?, namedExport?, exportGlobals?, exportLocalsConvention?, exportOnlyLocals? }
    -> Enables/Disables CSS Modules and their configuration (https://github.com/webpack-contrib/css-loader#modules).
    Details:
     * options.modules.mode should be one of these:
       \\"local\\" | \\"global\\" | \\"pure\\" | function
+      -> Setup \`mode\` option (https://github.com/webpack-contrib/css-loader#mode).
       Details:
        * options.modules.mode should be one of these:
          \\"local\\" | \\"global\\" | \\"pure\\"
        * options.modules.mode should be an instance of function."
 `;
 
+exports[`validate options should throw an error on the "modules" option with "{"namedExport":"invalid"}" value 1`] = `
+"Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
+ - options.modules.namedExport should be a boolean.
+   -> Enables/disables ES modules named export for locals (https://github.com/webpack-contrib/css-loader#namedexport)."
+`;
+
 exports[`validate options should throw an error on the "modules" option with "globals" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
  - options.modules should be one of these:
-   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, exportGlobals?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? }
+   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, localIdentName?, localIdentContext?, localIdentHashPrefix?, localIdentRegExp?, getLocalIdent?, namedExport?, exportGlobals?, exportLocalsConvention?, exportOnlyLocals? }
    -> Enables/Disables CSS Modules and their configuration (https://github.com/webpack-contrib/css-loader#modules).
    Details:
     * options.modules should be a boolean.
     * options.modules should be one of these:
       \\"local\\" | \\"global\\" | \\"pure\\"
     * options.modules should be an object:
-      object { auto?, mode?, exportGlobals?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? }"
+      object { auto?, mode?, localIdentName?, localIdentContext?, localIdentHashPrefix?, localIdentRegExp?, getLocalIdent?, namedExport?, exportGlobals?, exportLocalsConvention?, exportOnlyLocals? }"
 `;
 
 exports[`validate options should throw an error on the "modules" option with "locals" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
  - options.modules should be one of these:
-   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, exportGlobals?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? }
+   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, localIdentName?, localIdentContext?, localIdentHashPrefix?, localIdentRegExp?, getLocalIdent?, namedExport?, exportGlobals?, exportLocalsConvention?, exportOnlyLocals? }
    -> Enables/Disables CSS Modules and their configuration (https://github.com/webpack-contrib/css-loader#modules).
    Details:
     * options.modules should be a boolean.
     * options.modules should be one of these:
       \\"local\\" | \\"global\\" | \\"pure\\"
     * options.modules should be an object:
-      object { auto?, mode?, exportGlobals?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? }"
+      object { auto?, mode?, localIdentName?, localIdentContext?, localIdentHashPrefix?, localIdentRegExp?, getLocalIdent?, namedExport?, exportGlobals?, exportLocalsConvention?, exportOnlyLocals? }"
 `;
 
 exports[`validate options should throw an error on the "modules" option with "pures" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
  - options.modules should be one of these:
-   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, exportGlobals?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? }
+   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, localIdentName?, localIdentContext?, localIdentHashPrefix?, localIdentRegExp?, getLocalIdent?, namedExport?, exportGlobals?, exportLocalsConvention?, exportOnlyLocals? }
    -> Enables/Disables CSS Modules and their configuration (https://github.com/webpack-contrib/css-loader#modules).
    Details:
     * options.modules should be a boolean.
     * options.modules should be one of these:
       \\"local\\" | \\"global\\" | \\"pure\\"
     * options.modules should be an object:
-      object { auto?, mode?, exportGlobals?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? }"
+      object { auto?, mode?, localIdentName?, localIdentContext?, localIdentHashPrefix?, localIdentRegExp?, getLocalIdent?, namedExport?, exportGlobals?, exportLocalsConvention?, exportOnlyLocals? }"
 `;
 
 exports[`validate options should throw an error on the "modules" option with "true" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
  - options.modules should be one of these:
-   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, exportGlobals?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? }
+   boolean | \\"local\\" | \\"global\\" | \\"pure\\" | object { auto?, mode?, localIdentName?, localIdentContext?, localIdentHashPrefix?, localIdentRegExp?, getLocalIdent?, namedExport?, exportGlobals?, exportLocalsConvention?, exportOnlyLocals? }
    -> Enables/Disables CSS Modules and their configuration (https://github.com/webpack-contrib/css-loader#modules).
    Details:
     * options.modules should be a boolean.
     * options.modules should be one of these:
       \\"local\\" | \\"global\\" | \\"pure\\"
     * options.modules should be an object:
-      object { auto?, mode?, exportGlobals?, localIdentName?, localIdentRegExp?, context?, hashPrefix?, getLocalIdent? }"
-`;
-
-exports[`validate options should throw an error on the "onlyLocals" option with "true" value 1`] = `
-"Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
- - options.onlyLocals should be a boolean.
-   -> Export only locals (https://github.com/webpack-contrib/css-loader#onlylocals)."
+      object { auto?, mode?, localIdentName?, localIdentContext?, localIdentHashPrefix?, localIdentRegExp?, getLocalIdent?, namedExport?, exportGlobals?, exportLocalsConvention?, exportOnlyLocals? }"
 `;
 
 exports[`validate options should throw an error on the "sourceMap" option with "true" value 1`] = `
@@ -226,49 +235,49 @@ exports[`validate options should throw an error on the "sourceMap" option with "
 exports[`validate options should throw an error on the "unknown" option with "/test/" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
  - options has an unknown property 'unknown'. These properties are valid:
-   object { url?, import?, modules?, sourceMap?, importLoaders?, localsConvention?, onlyLocals?, esModule? }"
+   object { url?, import?, modules?, sourceMap?, importLoaders?, esModule? }"
 `;
 
 exports[`validate options should throw an error on the "unknown" option with "[]" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
  - options has an unknown property 'unknown'. These properties are valid:
-   object { url?, import?, modules?, sourceMap?, importLoaders?, localsConvention?, onlyLocals?, esModule? }"
+   object { url?, import?, modules?, sourceMap?, importLoaders?, esModule? }"
 `;
 
 exports[`validate options should throw an error on the "unknown" option with "{"foo":"bar"}" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
  - options has an unknown property 'unknown'. These properties are valid:
-   object { url?, import?, modules?, sourceMap?, importLoaders?, localsConvention?, onlyLocals?, esModule? }"
+   object { url?, import?, modules?, sourceMap?, importLoaders?, esModule? }"
 `;
 
 exports[`validate options should throw an error on the "unknown" option with "{}" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
  - options has an unknown property 'unknown'. These properties are valid:
-   object { url?, import?, modules?, sourceMap?, importLoaders?, localsConvention?, onlyLocals?, esModule? }"
+   object { url?, import?, modules?, sourceMap?, importLoaders?, esModule? }"
 `;
 
 exports[`validate options should throw an error on the "unknown" option with "1" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
  - options has an unknown property 'unknown'. These properties are valid:
-   object { url?, import?, modules?, sourceMap?, importLoaders?, localsConvention?, onlyLocals?, esModule? }"
+   object { url?, import?, modules?, sourceMap?, importLoaders?, esModule? }"
 `;
 
 exports[`validate options should throw an error on the "unknown" option with "false" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
  - options has an unknown property 'unknown'. These properties are valid:
-   object { url?, import?, modules?, sourceMap?, importLoaders?, localsConvention?, onlyLocals?, esModule? }"
+   object { url?, import?, modules?, sourceMap?, importLoaders?, esModule? }"
 `;
 
 exports[`validate options should throw an error on the "unknown" option with "test" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
  - options has an unknown property 'unknown'. These properties are valid:
-   object { url?, import?, modules?, sourceMap?, importLoaders?, localsConvention?, onlyLocals?, esModule? }"
+   object { url?, import?, modules?, sourceMap?, importLoaders?, esModule? }"
 `;
 
 exports[`validate options should throw an error on the "unknown" option with "true" value 1`] = `
 "Invalid options object. CSS Loader has been initialized using an options object that does not match the API schema.
  - options has an unknown property 'unknown'. These properties are valid:
-   object { url?, import?, modules?, sourceMap?, importLoaders?, localsConvention?, onlyLocals?, esModule? }"
+   object { url?, import?, modules?, sourceMap?, importLoaders?, esModule? }"
 `;
 
 exports[`validate options should throw an error on the "url" option with "true" value 1`] = `
diff --git a/test/esModule-option.test.js b/test/esModule-option.test.js
index 3bfdce61..3988d4d0 100644
--- a/test/esModule-option.test.js
+++ b/test/esModule-option.test.js
@@ -1,3 +1,7 @@
+import path from 'path';
+
+import MiniCssExtractPlugin from 'mini-css-extract-plugin';
+
 import {
   compile,
   getCompiler,
@@ -5,6 +9,7 @@ import {
   getExecutedCode,
   getModuleSource,
   getWarnings,
+  readAsset,
 } from './helpers/index';
 
 describe('"esModule" option', () => {
@@ -100,4 +105,137 @@ describe('"esModule" option', () => {
     expect(getWarnings(stats)).toMatchSnapshot('warnings');
     expect(getErrors(stats)).toMatchSnapshot('errors');
   });
+
+  const styleLoaderTests = [
+    {
+      localLoaderMode: 'commonjs',
+      extractLoaderMode: 'commonjs',
+    },
+    {
+      localLoaderMode: 'esModule',
+      extractLoaderMode: 'esModule',
+    },
+    {
+      localLoaderMode: 'commonjs',
+      extractLoaderMode: 'esModule',
+    },
+    {
+      localLoaderMode: 'esModule',
+      extractLoaderMode: 'commonjs',
+    },
+  ];
+
+  for (const test of styleLoaderTests) {
+    it(`should work with ${test.localLoaderMode} css-loader + ${test.extractLoaderMode} style-loader`, async () => {
+      const compiler = getCompiler(
+        './es-module/template/index.js',
+        {},
+        {
+          output: {
+            path: path.resolve(__dirname, './outputs'),
+            filename: '[name].bundle.js',
+            chunkFilename: '[name].chunk.js',
+            publicPath: '/webpack/public/path/',
+            libraryTarget: 'commonjs2',
+          },
+          module: {
+            rules: [
+              {
+                test: /\.css$/i,
+                use: [
+                  {
+                    loader: 'style-loader',
+                    options: {
+                      esModule: test.extractLoaderMode === 'esModule',
+                    },
+                  },
+                  {
+                    loader: path.resolve(__dirname, '../src'),
+                    options: {
+                      esModule: test.localLoaderMode === 'esModule',
+                      modules: true,
+                    },
+                  },
+                ],
+              },
+            ],
+          },
+        }
+      );
+      const stats = await compile(compiler);
+
+      // eslint-disable-next-line no-eval
+      const result = eval(readAsset('main.bundle.js', compiler, stats));
+
+      expect(result.default || result).toMatchSnapshot('result');
+
+      expect(getWarnings(stats)).toMatchSnapshot('warnings');
+      expect(getErrors(stats)).toMatchSnapshot('errors');
+    });
+  }
+
+  const miniCssExtractPluginTests = [
+    {
+      localLoaderMode: 'commonjs',
+      extractLoaderMode: 'commonjs',
+    },
+    {
+      localLoaderMode: 'esModule',
+      extractLoaderMode: 'esModule',
+    },
+    {
+      localLoaderMode: 'commonjs',
+      extractLoaderMode: 'esModule',
+    },
+    {
+      localLoaderMode: 'esModule',
+      extractLoaderMode: 'commonjs',
+    },
+  ];
+
+  for (const test of miniCssExtractPluginTests) {
+    it(`should work with ${test.localLoaderMode} css-loader + ${test.extractLoaderMode} mini-css-extract-plugin`, async () => {
+      const compiler = getCompiler(
+        './es-module/template/index.js',
+        {},
+        {
+          module: {
+            rules: [
+              {
+                test: /\.css$/i,
+                use: [
+                  {
+                    loader: MiniCssExtractPlugin.loader,
+                    options: {
+                      esModule: test.extractLoaderMode === 'esModule',
+                    },
+                  },
+                  {
+                    loader: path.resolve(__dirname, '../src'),
+                    options: {
+                      esModule: test.localLoaderMode === 'esModule',
+                      modules: true,
+                    },
+                  },
+                ],
+              },
+            ],
+          },
+          plugins: [
+            new MiniCssExtractPlugin({
+              filename: '[name].css',
+              chunkFilename: '[id].css',
+            }),
+          ],
+        }
+      );
+      const stats = await compile(compiler);
+
+      expect(
+        getExecutedCode('main.bundle.js', compiler, stats)
+      ).toMatchSnapshot('result');
+      expect(getWarnings(stats)).toMatchSnapshot('warnings');
+      expect(getErrors(stats)).toMatchSnapshot('errors');
+    });
+  }
 });
diff --git a/test/fixtures/es-module/template/index.css b/test/fixtures/es-module/template/index.css
new file mode 100644
index 00000000..b3ccc301
--- /dev/null
+++ b/test/fixtures/es-module/template/index.css
@@ -0,0 +1,11 @@
+:local(.header-baz) {
+  color: red;
+}
+
+:local(.body) {
+  color: coral;
+}
+
+:local(.footer) {
+  color: blue;
+}
diff --git a/test/fixtures/es-module/template/index.js b/test/fixtures/es-module/template/index.js
new file mode 100644
index 00000000..6742d444
--- /dev/null
+++ b/test/fixtures/es-module/template/index.js
@@ -0,0 +1,6 @@
+import css from './index.css';
+import html from './template.js';
+
+const result = {css, html};
+
+export default  result;
diff --git a/test/fixtures/es-module/template/template.js b/test/fixtures/es-module/template/template.js
new file mode 100644
index 00000000..31b948a2
--- /dev/null
+++ b/test/fixtures/es-module/template/template.js
@@ -0,0 +1,9 @@
+import css from './index.css';
+
+let html = '\n';
+
+html += `<div class="${css['header-baz']}">\n`;
+html += `<div class="${css.body}">\n`;
+html += `<div class="${css.footer}">\n`;
+
+export default  html;
diff --git a/test/fixtures/import/import-conditionNames.css b/test/fixtures/import/import-conditionNames.css
new file mode 100644
index 00000000..110ef1ae
--- /dev/null
+++ b/test/fixtures/import/import-conditionNames.css
@@ -0,0 +1 @@
+@import "~package-with-exports";
diff --git a/test/fixtures/import/import-conditionNames.js b/test/fixtures/import/import-conditionNames.js
new file mode 100644
index 00000000..425542ca
--- /dev/null
+++ b/test/fixtures/import/import-conditionNames.js
@@ -0,0 +1,5 @@
+import css from './import-conditionNames.css';
+
+__export__ = css;
+
+export default css;
diff --git a/test/fixtures/import/import-order.css b/test/fixtures/import/import-order.css
new file mode 100644
index 00000000..f758ecfa
--- /dev/null
+++ b/test/fixtures/import/import-order.css
@@ -0,0 +1,3 @@
+@import "test";
+@import "issue-683";
+@import "aliasesPackage";
diff --git a/test/fixtures/import/import-order.js b/test/fixtures/import/import-order.js
new file mode 100644
index 00000000..f596f02a
--- /dev/null
+++ b/test/fixtures/import/import-order.js
@@ -0,0 +1,5 @@
+import css from './import-order.css';
+
+__export__ = css;
+
+export default css;
diff --git a/test/fixtures/import/import-server-relative-url.css b/test/fixtures/import/import-server-relative-url.css
new file mode 100644
index 00000000..61bc392b
--- /dev/null
+++ b/test/fixtures/import/import-server-relative-url.css
@@ -0,0 +1,6 @@
+@import url(/import/test.css);
+@import "/import/test.css";
+
+.class {
+  a: b c d;
+}
diff --git a/test/fixtures/import/import-server-relative-url.js b/test/fixtures/import/import-server-relative-url.js
new file mode 100644
index 00000000..05620ab4
--- /dev/null
+++ b/test/fixtures/import/import-server-relative-url.js
@@ -0,0 +1,5 @@
+import css from './import-server-relative-url.css';
+
+__export__ = css;
+
+export default css;
diff --git a/test/fixtures/import/import.css b/test/fixtures/import/import.css
index 6e9d44b5..31ce935a 100644
--- a/test/fixtures/import/import.css
+++ b/test/fixtures/import/import.css
@@ -103,8 +103,43 @@ st.css');
 @import './t\65st%20test.css';
 @import url(                 test.css                      );
 @import nourl(test.css);
-/* TODO need fix */
-/*@import '\*/
-/*\*/
-/*\*/
-/*';*/
+@import '\
+\
+\
+';
+@import url('!!../../helpers/string-loader.js?esModule=false!~package/tilde.css');
+@import url(test.css?foo=bar);
+@import url(test.css?foo=bar#hash);
+@import url(test.css?#hash);
+@import "test.css" supports(display: flex);
+@import "test.css" supports(display: flex) screen and (orientation:landscape);
+
+/* Should be one import and two css modules */
+
+@import url('something.css');
+@import url('something.css');
+
+/* Should be one import and two css modules */
+
+@import url('something.css?foo=bar');
+@import url('something.css?foo=bar');
+
+/* Should be one import and two css modules */
+
+@import url('something.css?foo=bar#hash');
+@import url('something.css?foo=bar#hash');
+
+/* Should be two import and two css modules */
+
+@import url('something.css?foo=bar');
+@import url('something.css?bar=foo');
+
+/* Should be two import and two css modules */
+
+@import url('something.css?foo=bar#one');
+@import url('something.css?foo=bar#two');
+
+/* Should be two import and two css modules */
+
+@import url('something.css?foo=1&bar=2');
+@import url('something.css?foo=2&bar=1');
diff --git a/test/fixtures/import/issue-683.css b/test/fixtures/import/issue-683.css
new file mode 100644
index 00000000..d717a89e
--- /dev/null
+++ b/test/fixtures/import/issue-683.css
@@ -0,0 +1 @@
+@import "~issue-683";
diff --git a/test/fixtures/import/issue-683.js b/test/fixtures/import/issue-683.js
new file mode 100644
index 00000000..4163dc56
--- /dev/null
+++ b/test/fixtures/import/issue-683.js
@@ -0,0 +1,5 @@
+import css from './issue-683.css';
+
+__export__ = css;
+
+export default css;
diff --git a/test/fixtures/import/node_modules/issue-683/index.js b/test/fixtures/import/node_modules/issue-683/index.js
new file mode 100644
index 00000000..e0297533
--- /dev/null
+++ b/test/fixtures/import/node_modules/issue-683/index.js
@@ -0,0 +1 @@
+export uncnounPackage from 'uncnounPackage';
diff --git a/test/fixtures/import/node_modules/issue-683/package.json b/test/fixtures/import/node_modules/issue-683/package.json
new file mode 100644
index 00000000..2d5fb35c
--- /dev/null
+++ b/test/fixtures/import/node_modules/issue-683/package.json
@@ -0,0 +1,10 @@
+{
+  "author": {
+    "name": "test"
+  },
+  "description": "test",
+  "main": "test.js",
+  "name": "test",
+  "style": "test.css",
+  "version": "1.0.0"
+}
diff --git a/test/fixtures/import/node_modules/issue-683/test.css b/test/fixtures/import/node_modules/issue-683/test.css
new file mode 100644
index 00000000..f85e060f
--- /dev/null
+++ b/test/fixtures/import/node_modules/issue-683/test.css
@@ -0,0 +1,3 @@
+.test {
+  color: coral;
+}
diff --git a/test/fixtures/import/node_modules/package-with-exports/index.cjs b/test/fixtures/import/node_modules/package-with-exports/index.cjs
new file mode 100644
index 00000000..e69de29b
diff --git a/test/fixtures/import/node_modules/package-with-exports/index.js b/test/fixtures/import/node_modules/package-with-exports/index.js
new file mode 100644
index 00000000..e69de29b
diff --git a/test/fixtures/import/node_modules/package-with-exports/package.json b/test/fixtures/import/node_modules/package-with-exports/package.json
new file mode 100644
index 00000000..9b5e2b60
--- /dev/null
+++ b/test/fixtures/import/node_modules/package-with-exports/package.json
@@ -0,0 +1,19 @@
+{
+  "name": "package-with-exports",
+  "version": "1.0.0",
+  "description": "test",
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1"
+  },
+  "author": "",
+  "license": "MIT",
+  "type": "module",
+  "module": "index.js",
+  "main": "index.cjs",
+  "style": "style.css",
+  "exports": {
+    "style": "./style.css",
+    "require": "./index.cjs",
+    "import": "./index.js"
+  }
+}
diff --git a/test/fixtures/import/node_modules/package-with-exports/style.css b/test/fixtures/import/node_modules/package-with-exports/style.css
new file mode 100644
index 00000000..b11fa36b
--- /dev/null
+++ b/test/fixtures/import/node_modules/package-with-exports/style.css
@@ -0,0 +1,3 @@
+.load-me {
+  color: red;
+}
diff --git a/test/fixtures/import/node_modules/test/package.json b/test/fixtures/import/node_modules/test/package.json
new file mode 100644
index 00000000..8ebed9e8
--- /dev/null
+++ b/test/fixtures/import/node_modules/test/package.json
@@ -0,0 +1,9 @@
+{
+  "author": {
+    "name": "test"
+  },
+  "description": "test",
+  "main": "test.css",
+  "name": "test",
+  "version": "1.0.0"
+}
diff --git a/test/fixtures/import/node_modules/test/test.css b/test/fixtures/import/node_modules/test/test.css
new file mode 100644
index 00000000..003440fd
--- /dev/null
+++ b/test/fixtures/import/node_modules/test/test.css
@@ -0,0 +1,3 @@
+.test-package {
+  d: d
+}
diff --git a/test/fixtures/import/something.css b/test/fixtures/import/something.css
new file mode 100644
index 00000000..1135b17d
--- /dev/null
+++ b/test/fixtures/import/something.css
@@ -0,0 +1,3 @@
+.my-box {
+  color: red;
+}
diff --git a/test/fixtures/import/unresolved.css b/test/fixtures/import/unresolved.css
new file mode 100644
index 00000000..6cd410c8
--- /dev/null
+++ b/test/fixtures/import/unresolved.css
@@ -0,0 +1 @@
+@import "unresolved-file.css";
diff --git a/test/fixtures/import/unresolved.js b/test/fixtures/import/unresolved.js
new file mode 100644
index 00000000..884bd80c
--- /dev/null
+++ b/test/fixtures/import/unresolved.js
@@ -0,0 +1,5 @@
+import css from './unresolved.css';
+
+__export__ = css;
+
+export default css;
diff --git a/test/fixtures/modules/composes/composes-preprocessors.css b/test/fixtures/modules/composes/composes-preprocessors.css
new file mode 100644
index 00000000..9b178528
--- /dev/null
+++ b/test/fixtures/modules/composes/composes-preprocessors.css
@@ -0,0 +1,26 @@
+@value v-def from './values.css';
+@value v-foo from './less-file.less';
+@value v-bar from './scss-file.scss';
+
+:global(.globalClassName) {
+  color: orange;
+}
+
+.ghi {
+  color: v-def;
+}
+
+.class {
+  color: v-foo;
+  composes: lessClass from "less-file.less";
+}
+
+.other {
+  color: v-bar;
+  composes: scssClass from "scss-file.scss";
+}
+
+.otherClassName {
+  composes: globalClassName from global;
+  background: #000;
+}
diff --git a/test/fixtures/modules/composes/composes-preprocessors.js b/test/fixtures/modules/composes/composes-preprocessors.js
new file mode 100644
index 00000000..8b66fb66
--- /dev/null
+++ b/test/fixtures/modules/composes/composes-preprocessors.js
@@ -0,0 +1,5 @@
+import css from './composes-preprocessors.css';
+
+__export__ = css;
+
+export default css;
diff --git a/test/fixtures/modules/composes/composes.css b/test/fixtures/modules/composes/composes.css
index e5680fef..9e35763c 100644
--- a/test/fixtures/modules/composes/composes.css
+++ b/test/fixtures/modules/composes/composes.css
@@ -1,6 +1,8 @@
 @import url(./test-other.css) (min-width: 100px);
 
-@value v-def from './values.css';
+@value v-def from './values\
+\
+.css';
 @value v-other from './values.css';
 @value v-other from './values.css';
 @value s-white from './values.css';
@@ -62,6 +64,11 @@
   composes: imported-alias from '~aliasesComposes/alias.css';
 }
 
+.alias-duplicate {
+  color: gainsboro;
+  composes: imported-alias from './alias.css';
+}
+
 .primary-selector {
   color: v-primary;
 }
@@ -147,3 +154,8 @@ a {
 .url {
   background: url(../../url/img.png);
 }
+
+.main {
+  composes: scssClass from 'sass-loader!./scss-file.scss';
+  background: red;
+}
diff --git a/test/fixtures/modules/composes/less-file.less b/test/fixtures/modules/composes/less-file.less
new file mode 100644
index 00000000..8d437d87
--- /dev/null
+++ b/test/fixtures/modules/composes/less-file.less
@@ -0,0 +1,8 @@
+@value v-def: red;
+@value v-foo: green;
+@value v-bar: white;
+@value v-baz: coral;
+
+.lessClass {
+  padding: 5px;
+}
diff --git a/test/fixtures/modules/composes/scss-file.scss b/test/fixtures/modules/composes/scss-file.scss
new file mode 100644
index 00000000..a9c37d36
--- /dev/null
+++ b/test/fixtures/modules/composes/scss-file.scss
@@ -0,0 +1,11 @@
+@value v-def: red;
+@value v-foo: green;
+@value v-bar: white;
+@value v-baz: coral;
+
+$color: red;
+
+.scssClass {
+  color: $color;
+  padding: 15px;
+}
diff --git a/test/fixtures/modules/issue-914/source.css b/test/fixtures/modules/issue-914/source.css
new file mode 100644
index 00000000..9a606d7c
--- /dev/null
+++ b/test/fixtures/modules/issue-914/source.css
@@ -0,0 +1,8 @@
+@value foo from '~test';
+@value bar from 'test';
+
+.className {
+  color: foo;
+  background: bar;
+}
+
diff --git a/test/fixtures/modules/issue-914/source.js b/test/fixtures/modules/issue-914/source.js
new file mode 100644
index 00000000..1996779e
--- /dev/null
+++ b/test/fixtures/modules/issue-914/source.js
@@ -0,0 +1,5 @@
+import css from './source.css';
+
+__export__ = css;
+
+export default css;
diff --git a/test/fixtures/modules/namedExport/base/index.css b/test/fixtures/modules/namedExport/base/index.css
new file mode 100644
index 00000000..628f3ed6
--- /dev/null
+++ b/test/fixtures/modules/namedExport/base/index.css
@@ -0,0 +1,7 @@
+:local(.bar-baz) {
+  color: red;
+}
+
+:global(.bar) {
+  color: red;
+}
diff --git a/test/fixtures/modules/namedExport/base/index.js b/test/fixtures/modules/namedExport/base/index.js
new file mode 100644
index 00000000..e1a19303
--- /dev/null
+++ b/test/fixtures/modules/namedExport/base/index.js
@@ -0,0 +1,5 @@
+import css from './index.css';
+
+__export__ = css;
+
+export default css;
diff --git a/test/fixtures/modules/namedExport/broken/index.css b/test/fixtures/modules/namedExport/broken/index.css
new file mode 100644
index 00000000..a219fc2f
--- /dev/null
+++ b/test/fixtures/modules/namedExport/broken/index.css
@@ -0,0 +1,3 @@
+:local(.class) {
+  color: red;
+}
diff --git a/test/fixtures/modules/namedExport/broken/index.js b/test/fixtures/modules/namedExport/broken/index.js
new file mode 100644
index 00000000..e1a19303
--- /dev/null
+++ b/test/fixtures/modules/namedExport/broken/index.js
@@ -0,0 +1,5 @@
+import css from './index.css';
+
+__export__ = css;
+
+export default css;
diff --git a/test/fixtures/modules/namedExport/nested/index.css b/test/fixtures/modules/namedExport/nested/index.css
new file mode 100644
index 00000000..0d260864
--- /dev/null
+++ b/test/fixtures/modules/namedExport/nested/index.css
@@ -0,0 +1,20 @@
+@value v-def from '../../composes/values.css';
+@value v-primary: #BF4040;
+@value s-black: black-selector;
+@value m-large: (min-width: 960px);
+
+.header {
+  color: v-primary;
+  padding: 0 10px;
+}
+
+.s-black {
+  color: black;
+}
+
+@media m-large and (max-width: 1024px) {
+  .header {
+    color: v-def;
+    padding: 0 20px;
+  }
+}
diff --git a/test/fixtures/modules/namedExport/nested/index.js b/test/fixtures/modules/namedExport/nested/index.js
new file mode 100644
index 00000000..e1a19303
--- /dev/null
+++ b/test/fixtures/modules/namedExport/nested/index.js
@@ -0,0 +1,5 @@
+import css from './index.css';
+
+__export__ = css;
+
+export default css;
diff --git a/test/fixtures/modules/namedExport/template/index.css b/test/fixtures/modules/namedExport/template/index.css
new file mode 100644
index 00000000..b3ccc301
--- /dev/null
+++ b/test/fixtures/modules/namedExport/template/index.css
@@ -0,0 +1,11 @@
+:local(.header-baz) {
+  color: red;
+}
+
+:local(.body) {
+  color: coral;
+}
+
+:local(.footer) {
+  color: blue;
+}
diff --git a/test/fixtures/modules/namedExport/template/index.js b/test/fixtures/modules/namedExport/template/index.js
new file mode 100644
index 00000000..8dc4c0e0
--- /dev/null
+++ b/test/fixtures/modules/namedExport/template/index.js
@@ -0,0 +1,8 @@
+import css from './index.css';
+import html from './template.js';
+
+const result = {css, html};
+
+__export__ =  result;
+
+export default  result;
diff --git a/test/fixtures/modules/namedExport/template/template.js b/test/fixtures/modules/namedExport/template/template.js
new file mode 100644
index 00000000..6bdb73a5
--- /dev/null
+++ b/test/fixtures/modules/namedExport/template/template.js
@@ -0,0 +1,11 @@
+import { headerBaz, body, footer } from './index.css';
+
+let html = '\n';
+
+html += `<div class="${headerBaz}">\n`;
+html += `<div class="${body}">\n`;
+html += `<div class="${footer}">\n`;
+
+__export__ =  html;
+
+export default  html;
diff --git a/test/fixtures/modules/node_modules/test/index.css b/test/fixtures/modules/node_modules/test/index.css
new file mode 100644
index 00000000..f4592cc2
--- /dev/null
+++ b/test/fixtures/modules/node_modules/test/index.css
@@ -0,0 +1,2 @@
+@value foo: red;
+@value bar: green;
diff --git a/test/fixtures/modules/node_modules/test/package.json b/test/fixtures/modules/node_modules/test/package.json
new file mode 100644
index 00000000..6fd9679f
--- /dev/null
+++ b/test/fixtures/modules/node_modules/test/package.json
@@ -0,0 +1,9 @@
+{
+  "author": {
+    "name": "test"
+  },
+  "description": "test",
+  "main": "index.css",
+  "name": "test",
+  "version": "1.0.0"
+}
diff --git a/test/fixtures/modules/tests-cases/issue-589/source.css b/test/fixtures/modules/tests-cases/issue-589/source.css
index c9ab6c71..f3ed67a1 100644
--- a/test/fixtures/modules/tests-cases/issue-589/source.css
+++ b/test/fixtures/modules/tests-cases/issue-589/source.css
@@ -1,4 +1,4 @@
 body:before {
   content: '';
-  background: url('~!!file-loader?esModule=false!./img.png');
+  background: url('!!file-loader?esModule=false!./img.png');
 }
diff --git a/test/fixtures/modules/unresolved/source.css b/test/fixtures/modules/unresolved/source.css
new file mode 100644
index 00000000..964b60b4
--- /dev/null
+++ b/test/fixtures/modules/unresolved/source.css
@@ -0,0 +1,6 @@
+@value foo from './unresolved.css';
+
+.className {
+  color: foo;
+}
+
diff --git a/test/fixtures/modules/unresolved/source.js b/test/fixtures/modules/unresolved/source.js
new file mode 100644
index 00000000..1996779e
--- /dev/null
+++ b/test/fixtures/modules/unresolved/source.js
@@ -0,0 +1,5 @@
+import css from './source.css';
+
+__export__ = css;
+
+export default css;
diff --git a/test/fixtures/modules/url/img.png b/test/fixtures/modules/url/img.png
new file mode 100644
index 00000000..b74b839e
Binary files /dev/null and b/test/fixtures/modules/url/img.png differ
diff --git a/test/fixtures/modules/url/shared.css b/test/fixtures/modules/url/shared.css
new file mode 100644
index 00000000..7662cfb5
--- /dev/null
+++ b/test/fixtures/modules/url/shared.css
@@ -0,0 +1 @@
+@value v-url-other: url('./img.png');
diff --git a/test/fixtures/modules/url/source.css b/test/fixtures/modules/url/source.css
new file mode 100644
index 00000000..44c9cc8a
--- /dev/null
+++ b/test/fixtures/modules/url/source.css
@@ -0,0 +1,10 @@
+@value v-url: url('./img.png');
+@value v-url-other from './shared.css';
+
+a {
+  background: v-url;
+}
+
+body {
+  background: v-url-other;
+}
diff --git a/test/fixtures/modules/url/source.js b/test/fixtures/modules/url/source.js
new file mode 100644
index 00000000..1996779e
--- /dev/null
+++ b/test/fixtures/modules/url/source.js
@@ -0,0 +1,5 @@
+import css from './source.css';
+
+__export__ = css;
+
+export default css;
diff --git a/test/fixtures/simple-style.js b/test/fixtures/simple-style.js
new file mode 100644
index 00000000..76a8327a
--- /dev/null
+++ b/test/fixtures/simple-style.js
@@ -0,0 +1,2 @@
+import "./simple.css";
+
diff --git a/test/fixtures/simple.css b/test/fixtures/simple.css
index 19fce739..b58cc07a 100644
--- a/test/fixtures/simple.css
+++ b/test/fixtures/simple.css
@@ -1,3 +1,3 @@
-.class {
+.some-class {
   color: red;
 }
diff --git a/test/fixtures/url/something.png b/test/fixtures/url/something.png
new file mode 100644
index 00000000..b74b839e
Binary files /dev/null and b/test/fixtures/url/something.png differ
diff --git a/test/fixtures/url/url-unresolved.css b/test/fixtures/url/url-unresolved.css
new file mode 100644
index 00000000..7d046c99
--- /dev/null
+++ b/test/fixtures/url/url-unresolved.css
@@ -0,0 +1,3 @@
+.class {
+  background: url('unresolved.png');
+}
diff --git a/test/fixtures/url/url-unresolved.js b/test/fixtures/url/url-unresolved.js
new file mode 100644
index 00000000..d1c05929
--- /dev/null
+++ b/test/fixtures/url/url-unresolved.js
@@ -0,0 +1,5 @@
+import css from './url-unresolved.css';
+
+__export__ = css;
+
+export default css;
diff --git a/test/fixtures/url/url.css b/test/fixtures/url/url.css
index 12acc1f1..78d52e55 100644
--- a/test/fixtures/url/url.css
+++ b/test/fixtures/url/url.css
@@ -182,8 +182,8 @@ b {
   background: url('img-simple.png');
 }
 
-.not-resolved {
-  background: url('/img-simple.png');
+.root-relative {
+  background: url('/url/img-simple.png');
 }
 
 .above-below {
@@ -343,3 +343,29 @@ a {
   background: url("./img\'\28%29 img.png");
   background: url(./img\'\28%29\ img.png);
 }
+
+.qqq {
+  background: url('!!../../helpers/url-loader.js?esModule=false!~package/img.png')
+}
+
+.class {
+  /* Should be one import */
+  background: url('./something.png');
+  background: url('./something.png');
+
+  background: url('./something.png?foo=bar');
+  background: url('./something.png?foo=bar');
+
+  background: url('./something.png?foo=bar#hash');
+  background: url('./something.png?foo=bar#hash');
+
+  /* Should be two imports */
+  background: url('./something.png?foo=bar');
+  background: url('./something.png?bar=foo');
+
+  background: url('./something.png?foo=bar#foo');
+  background: url('./something.png?bar=foo#bar');
+
+  background: url('./something.png?foo=1&bar=2');
+  background: url('./something.png?foo=2&bar=1');
+}
diff --git a/test/helpers/getCompiler.js b/test/helpers/getCompiler.js
index e23cffba..7c20108a 100644
--- a/test/helpers/getCompiler.js
+++ b/test/helpers/getCompiler.js
@@ -35,12 +35,17 @@ export default (fixture, loaderOptions = {}, config = {}) => {
     },
     resolve: {
       alias: {
+        aliasesPackage: path.resolve(
+          __dirname,
+          '../fixtures/import/node_modules/package/tilde.css'
+        ),
         aliasesImg: path.resolve(__dirname, '../fixtures/url'),
         aliasesImport: path.resolve(__dirname, '../fixtures/import'),
         aliasesComposes: path.resolve(
           __dirname,
           '../fixtures/modules/composes'
         ),
+        '/img.png': path.resolve(__dirname, '../fixtures/url/img.png'),
       },
     },
     optimization: {
diff --git a/test/helpers/getErrors.js b/test/helpers/getErrors.js
index 085bae5b..03339e1e 100644
--- a/test/helpers/getErrors.js
+++ b/test/helpers/getErrors.js
@@ -1,5 +1,5 @@
 import normalizeErrors from './normalizeErrors';
 
-export default (stats) => {
-  return normalizeErrors(stats.compilation.errors).sort();
+export default (stats, shortError) => {
+  return normalizeErrors(stats.compilation.errors, shortError).sort();
 };
diff --git a/test/helpers/getModuleSource.js b/test/helpers/getModuleSource.js
index 69085202..547a2e1c 100644
--- a/test/helpers/getModuleSource.js
+++ b/test/helpers/getModuleSource.js
@@ -1,6 +1,6 @@
 export default (id, stats) => {
   const { modules } = stats.toJson({ source: true });
-  const module = modules.find((m) => m.name === id);
+  const module = modules.find((m) => m.name.endsWith(id));
   let { source } = module;
 
   // Todo remove after drop webpack@4 support
diff --git a/test/helpers/normalizeErrors.js b/test/helpers/normalizeErrors.js
index 7b3ededc..56fabce8 100644
--- a/test/helpers/normalizeErrors.js
+++ b/test/helpers/normalizeErrors.js
@@ -5,6 +5,17 @@ function removeCWD(str) {
   let cwd = process.cwd();
 
   if (isWin) {
+    if (str.split('\n').length > 3) {
+      // @import '\
+      // \
+      // \
+      // ';
+
+      return stripAnsi(str)
+        .replace(/\(from .*?\)/, '(from `replaced original path`)')
+        .replace(new RegExp(cwd, 'g'), '');
+    }
+
     // eslint-disable-next-line no-param-reassign
     str = str.replace(/\\/g, '/');
     // eslint-disable-next-line no-param-reassign
@@ -16,8 +27,14 @@ function removeCWD(str) {
     .replace(new RegExp(cwd, 'g'), '');
 }
 
-export default (errors) => {
-  return errors.map((error) =>
-    removeCWD(error.toString().split('\n').slice(0, 12).join('\n'))
-  );
+export default (errors, shortError) => {
+  return errors.map((error) => {
+    let errorMessage = error.toString();
+
+    if (shortError) {
+      errorMessage = errorMessage.split('\n').slice(0, 2).join('\n');
+    }
+
+    return removeCWD(errorMessage.split('\n').slice(0, 12).join('\n'));
+  });
 };
diff --git a/test/helpers/preLoader.js b/test/helpers/preLoader.js
new file mode 100644
index 00000000..8e624432
--- /dev/null
+++ b/test/helpers/preLoader.js
@@ -0,0 +1,5 @@
+export default function loader(content, map) {
+  const callback = this.async();
+
+  return callback(null, content, map, 'non-ast-meta');
+}
diff --git a/test/helpers/string-loader.js b/test/helpers/string-loader.js
new file mode 100644
index 00000000..a7b4a66c
--- /dev/null
+++ b/test/helpers/string-loader.js
@@ -0,0 +1,5 @@
+function loader() {
+  return 'a { color: red };';
+}
+
+module.exports = loader;
diff --git a/test/helpers/url-loader.js b/test/helpers/url-loader.js
new file mode 100644
index 00000000..69c05163
--- /dev/null
+++ b/test/helpers/url-loader.js
@@ -0,0 +1,5 @@
+function loader() {
+  return 'module.exports = __webpack_public_path__ + "custom-img.png"';
+}
+
+module.exports = loader;
diff --git a/test/icss.test.js b/test/icss.test.js
index 97a30650..a2963307 100644
--- a/test/icss.test.js
+++ b/test/icss.test.js
@@ -16,7 +16,9 @@ const testCases = fs.readdirSync(testCasesPath);
 describe('ICSS', () => {
   testCases.forEach((name) => {
     it(`show work with the case "${name}"`, async () => {
-      const compiler = getCompiler(`./icss/tests-cases/${name}/source.js`);
+      const compiler = getCompiler(`./icss/tests-cases/${name}/source.js`, {
+        modules: 'global',
+      });
       const stats = await compile(compiler);
 
       expect(
diff --git a/test/import-option.test.js b/test/import-option.test.js
index 74e52e7f..6a154754 100644
--- a/test/import-option.test.js
+++ b/test/import-option.test.js
@@ -52,11 +52,17 @@ describe('"import" option', () => {
 
   it('should work when "Function"', async () => {
     const compiler = getCompiler('./import/import.js', {
-      import: (parsedImport, resourcePath) => {
-        expect(typeof resourcePath === 'string').toBe(true);
+      import: (url, media, resourcePath) => {
+        expect(url).toBeDefined();
+
+        if (url === 'test-nested-media.css') {
+          expect(media).toBeDefined();
+        }
+
+        expect(resourcePath).toBeDefined();
 
         // Don't handle `test.css`
-        if (parsedImport.url.includes('test.css')) {
+        if (url.includes('test.css')) {
           return false;
         }
 
@@ -88,4 +94,66 @@ describe('"import" option', () => {
     expect(getWarnings(stats)).toMatchSnapshot('warnings');
     expect(getErrors(stats)).toMatchSnapshot('errors');
   });
+
+  it('should respect style field in package.json', async () => {
+    const compiler = getCompiler('./import/issue-683.js');
+    const stats = await compile(compiler);
+
+    expect(getModuleSource('test.css', stats)).toMatchSnapshot('module');
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
+
+  it('should respect conditionNames', async () => {
+    const compiler = getCompiler('./import/import-conditionNames.js');
+    const stats = await compile(compiler);
+
+    expect(getModuleSource('import-conditionNames.css', stats)).toMatchSnapshot(
+      'module'
+    );
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
+
+  it('should resolve server-relative url relative rootContext', async () => {
+    const compiler = getCompiler('./import/import-server-relative-url.js');
+    const stats = await compile(compiler);
+
+    expect(
+      getModuleSource('./import/import-server-relative-url.css', stats)
+    ).toMatchSnapshot('module');
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
+
+  it('should work resolve order: local -> node_modules -> alias', async () => {
+    const compiler = getCompiler('./import/import-order.js');
+    const stats = await compile(compiler);
+
+    expect(getModuleSource('./import/import-order.css', stats)).toMatchSnapshot(
+      'module'
+    );
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
+
+  it('should throw an error on unresolved import', async () => {
+    const compiler = getCompiler('./import/unresolved.js');
+    const stats = await compile(compiler);
+
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats, true)).toMatchSnapshot('errors');
+  });
 });
diff --git a/test/loader.test.js b/test/loader.test.js
index 53e28c9b..cffd5eb5 100644
--- a/test/loader.test.js
+++ b/test/loader.test.js
@@ -277,7 +277,7 @@ describe('loader', () => {
     const stats = await compile(compiler);
 
     if (stats.compilation.modules.size) {
-      expect(stats.compilation.modules.size).toBe(11);
+      expect(stats.compilation.modules.size).toBe(10);
     } else {
       expect(stats.compilation.modules.length).toBe(6);
     }
@@ -310,7 +310,7 @@ describe('loader', () => {
     const stats = await compile(compiler);
 
     if (stats.compilation.modules.size) {
-      expect(stats.compilation.modules.size).toBe(10);
+      expect(stats.compilation.modules.size).toBe(9);
     } else {
       expect(stats.compilation.modules.length).toBe(6);
     }
@@ -321,8 +321,11 @@ describe('loader', () => {
 
   it('issue #1033', async () => {
     const compiler = getCompiler('./modules/issue-1033/issue-1033.js', {
-      modules: { mode: 'local', localIdentName: '_[local]' },
-      onlyLocals: true,
+      modules: {
+        mode: 'local',
+        localIdentName: '_[local]',
+        exportOnlyLocals: true,
+      },
     });
     const stats = await compile(compiler);
 
@@ -411,4 +414,35 @@ describe('loader', () => {
     expect(getWarnings(stats)).toMatchSnapshot('warnings');
     expect(getErrors(stats)).toMatchSnapshot('errors');
   });
+
+  it('should work with none AST metadata', async () => {
+    const compiler = getCompiler(
+      './simple.js',
+      {},
+      {
+        module: {
+          rules: [
+            {
+              test: /\.css$/i,
+              rules: [
+                {
+                  loader: path.resolve(__dirname, '../src'),
+                },
+                {
+                  loader: path.resolve(__dirname, '../test/helpers/preLoader'),
+                },
+              ],
+            },
+          ],
+        },
+      }
+    );
+    const stats = await compile(compiler);
+
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
 });
diff --git a/test/localsConvention-option.test.js b/test/localsConvention-option.test.js
deleted file mode 100644
index ad62de97..00000000
--- a/test/localsConvention-option.test.js
+++ /dev/null
@@ -1,129 +0,0 @@
-import {
-  compile,
-  getCompiler,
-  getErrors,
-  getExecutedCode,
-  getModuleSource,
-  getWarnings,
-} from './helpers/index';
-
-describe('"localsConvention" option', () => {
-  it('should work when not specified', async () => {
-    const compiler = getCompiler(
-      './modules/localsConvention/localsConvention.js',
-      {
-        modules: true,
-      }
-    );
-    const stats = await compile(compiler);
-
-    expect(
-      getModuleSource('./modules/localsConvention/localsConvention.css', stats)
-    ).toMatchSnapshot('module');
-    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
-      'result'
-    );
-    expect(getWarnings(stats)).toMatchSnapshot('warnings');
-    expect(getErrors(stats)).toMatchSnapshot('errors');
-  });
-
-  it('should work with a value equal to "asIs"', async () => {
-    const compiler = getCompiler(
-      './modules/localsConvention/localsConvention.js',
-      {
-        modules: true,
-        localsConvention: 'asIs',
-      }
-    );
-    const stats = await compile(compiler);
-
-    expect(
-      getModuleSource('./modules/localsConvention/localsConvention.css', stats)
-    ).toMatchSnapshot('module');
-    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
-      'result'
-    );
-    expect(getWarnings(stats)).toMatchSnapshot('warnings');
-    expect(getErrors(stats)).toMatchSnapshot('errors');
-  });
-
-  it('should work with a value equal to "camelCase"', async () => {
-    const compiler = getCompiler(
-      './modules/localsConvention/localsConvention.js',
-      {
-        modules: true,
-        localsConvention: 'camelCase',
-      }
-    );
-    const stats = await compile(compiler);
-
-    expect(
-      getModuleSource('./modules/localsConvention/localsConvention.css', stats)
-    ).toMatchSnapshot('module');
-    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
-      'result'
-    );
-    expect(getWarnings(stats)).toMatchSnapshot('warnings');
-    expect(getErrors(stats)).toMatchSnapshot('errors');
-  });
-
-  it('should work with a value equal to "camelCaseOnly"', async () => {
-    const compiler = getCompiler(
-      './modules/localsConvention/localsConvention.js',
-      {
-        modules: true,
-        localsConvention: 'camelCaseOnly',
-      }
-    );
-    const stats = await compile(compiler);
-
-    expect(
-      getModuleSource('./modules/localsConvention/localsConvention.css', stats)
-    ).toMatchSnapshot('module');
-    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
-      'result'
-    );
-    expect(getWarnings(stats)).toMatchSnapshot('warnings');
-    expect(getErrors(stats)).toMatchSnapshot('errors');
-  });
-
-  it('should work with a value equal to "dashes"', async () => {
-    const compiler = getCompiler(
-      './modules/localsConvention/localsConvention.js',
-      {
-        modules: true,
-        localsConvention: 'dashes',
-      }
-    );
-    const stats = await compile(compiler);
-
-    expect(
-      getModuleSource('./modules/localsConvention/localsConvention.css', stats)
-    ).toMatchSnapshot('module');
-    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
-      'result'
-    );
-    expect(getWarnings(stats)).toMatchSnapshot('warnings');
-    expect(getErrors(stats)).toMatchSnapshot('errors');
-  });
-
-  it('should work with a value equal to "dashesOnly"', async () => {
-    const compiler = getCompiler(
-      './modules/localsConvention/localsConvention.js',
-      {
-        modules: true,
-        localsConvention: 'dashesOnly',
-      }
-    );
-    const stats = await compile(compiler);
-
-    expect(
-      getModuleSource('./modules/localsConvention/localsConvention.css', stats)
-    ).toMatchSnapshot('module');
-    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
-      'result'
-    );
-    expect(getWarnings(stats)).toMatchSnapshot('warnings');
-    expect(getErrors(stats)).toMatchSnapshot('errors');
-  });
-});
diff --git a/test/modules-option.test.js b/test/modules-option.test.js
index b26026bd..0de057a1 100644
--- a/test/modules-option.test.js
+++ b/test/modules-option.test.js
@@ -13,7 +13,7 @@ import {
 const testCasesPath = path.join(__dirname, 'fixtures/modules/tests-cases');
 const testCases = fs.readdirSync(testCasesPath);
 
-jest.setTimeout(30000);
+jest.setTimeout(60000);
 
 describe('"modules" option', () => {
   [
@@ -99,7 +99,7 @@ describe('"modules" option', () => {
     const compiler = getCompiler('./modules/localIdentName/localIdentName.js', {
       modules: {
         localIdentName: '[name]--[local]--[hash:base64:5]',
-        context: path.resolve(__dirname),
+        localIdentContext: path.resolve(__dirname),
       },
     });
     const stats = await compile(compiler);
@@ -118,7 +118,7 @@ describe('"modules" option', () => {
     const compiler = getCompiler('./modules/localIdentName/localIdentName.js', {
       modules: {
         localIdentName: '[hash:base64:8]',
-        context: path.resolve(__dirname),
+        localIdentContext: path.resolve(__dirname),
       },
     });
     const stats = await compile(compiler);
@@ -137,7 +137,7 @@ describe('"modules" option', () => {
     const compiler = getCompiler('./modules/localIdentName/localIdentName.js', {
       modules: {
         localIdentName: '[path][name]__[local]',
-        context: path.resolve(__dirname),
+        localIdentContext: path.resolve(__dirname),
       },
     });
     const stats = await compile(compiler);
@@ -156,7 +156,7 @@ describe('"modules" option', () => {
     const compiler = getCompiler('./modules/localIdentName/localIdentName.js', {
       modules: {
         localIdentName: '[local]--[hash]',
-        hashPrefix: 'x',
+        localIdentHashPrefix: 'x',
       },
     });
     const stats = await compile(compiler);
@@ -241,8 +241,8 @@ describe('"modules" option', () => {
     const compiler = getCompiler('./modules/localIdentName/localIdentName.js', {
       modules: {
         localIdentRegExp: 'regExp',
-        context: 'context',
-        hashPrefix: 'hash',
+        localIdentContext: 'context',
+        localIdentHashPrefix: 'hash',
         getLocalIdent(loaderContext, localIdentName, localName, options) {
           expect(loaderContext).toBeDefined();
           expect(typeof localIdentName).toBe('string');
@@ -275,7 +275,7 @@ describe('"modules" option', () => {
     const compiler = getCompiler('./modules/localIdentName/localIdentName.js', {
       modules: {
         getLocalIdent(loaderContext, localIdentName, localName, options) {
-          expect(options.context).toBeUndefined();
+          expect(options.context).toBeDefined();
 
           return 'foo';
         },
@@ -293,17 +293,14 @@ describe('"modules" option', () => {
     expect(getErrors(stats)).toMatchSnapshot('errors');
   });
 
-  it('should work when the "getLocalIdent" option returns "false"', async () => {
-    const compiler = getCompiler('./modules/localIdentName/localIdentName.js', {
-      modules: {
-        localIdentName: '[local]',
-        getLocalIdent: () => false,
-      },
+  it('should support resolving in composes', async () => {
+    const compiler = getCompiler('./modules/composes/composes.js', {
+      modules: true,
     });
     const stats = await compile(compiler);
 
     expect(
-      getModuleSource('./modules/localIdentName/localIdentName.css', stats)
+      getModuleSource('./modules/composes/composes.css', stats)
     ).toMatchSnapshot('module');
     expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
       'result'
@@ -312,14 +309,20 @@ describe('"modules" option', () => {
     expect(getErrors(stats)).toMatchSnapshot('errors');
   });
 
-  it('should support resolving in composes', async () => {
-    const compiler = getCompiler('./modules/composes/composes.js', {
-      modules: true,
-    });
+  it('should support resolving in composes preprocessor files with extensions', async () => {
+    const compiler = getCompiler(
+      './modules/composes/composes-preprocessors.js',
+      {
+        modules: {
+          mode: 'local',
+          exportGlobals: true,
+        },
+      }
+    );
     const stats = await compile(compiler);
 
     expect(
-      getModuleSource('./modules/composes/composes.css', stats)
+      getModuleSource('./modules/composes/composes-preprocessors.css', stats)
     ).toMatchSnapshot('module');
     expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
       'result'
@@ -689,7 +692,21 @@ describe('"modules" option', () => {
     expect(getErrors(stats)).toMatchSnapshot('errors');
   });
 
-  it('should work with a modules.auto Boolean that is "false"', async () => {
+  it('should work with the "auto" by default', async () => {
+    const compiler = getCompiler('./modules/mode/modules.js');
+    const stats = await compile(compiler);
+
+    expect(
+      getModuleSource('./modules/mode/relative.module.css', stats)
+    ).toMatchSnapshot('module');
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
+
+  it('should work with the "auto" when it is "false"', async () => {
     const compiler = getCompiler('./modules/mode/modules.js', {
       modules: {
         auto: false,
@@ -707,7 +724,7 @@ describe('"modules" option', () => {
     expect(getErrors(stats)).toMatchSnapshot('errors');
   });
 
-  it('should work with a modules.auto Boolean that is "true"', async () => {
+  it('should work with the "auto" when it is "true"', async () => {
     const compiler = getCompiler('./modules/mode/modules.js', {
       modules: {
         auto: true,
@@ -728,7 +745,7 @@ describe('"modules" option', () => {
   it('should work with a modules.auto RegExp that returns "true"', async () => {
     const compiler = getCompiler('./modules/mode/modules.js', {
       modules: {
-        auto: /relative.module.css$/,
+        auto: /relative\.module\.css$/,
       },
     });
     const stats = await compile(compiler);
@@ -796,4 +813,326 @@ describe('"modules" option', () => {
     expect(getWarnings(stats)).toMatchSnapshot('warnings');
     expect(getErrors(stats)).toMatchSnapshot('errors');
   });
+
+  it('should resolve package from node_modules with and without tilde', async () => {
+    const compiler = getCompiler('./modules/issue-914/source.js', {
+      modules: true,
+    });
+    const stats = await compile(compiler);
+
+    expect(
+      getModuleSource('./modules/issue-914/source.css', stats)
+    ).toMatchSnapshot('module');
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
+
+  it('should throw an error on unresolved import', async () => {
+    const compiler = getCompiler('./modules/unresolved/source.js', {
+      modules: true,
+    });
+    const stats = await compile(compiler);
+
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats, true)).toMatchSnapshot('errors');
+  });
+
+  it('should work and respect the "localConvention" option with the "asIs" value', async () => {
+    const compiler = getCompiler(
+      './modules/localsConvention/localsConvention.js',
+      {
+        modules: {
+          mode: 'local',
+          exportLocalsConvention: 'asIs',
+        },
+      }
+    );
+    const stats = await compile(compiler);
+
+    expect(
+      getModuleSource('./modules/localsConvention/localsConvention.css', stats)
+    ).toMatchSnapshot('module');
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
+
+  it('should work and respect the "localConvention" option with the "camelCase" value', async () => {
+    const compiler = getCompiler(
+      './modules/localsConvention/localsConvention.js',
+      {
+        modules: {
+          mode: 'local',
+          exportLocalsConvention: 'camelCase',
+        },
+      }
+    );
+    const stats = await compile(compiler);
+
+    expect(
+      getModuleSource('./modules/localsConvention/localsConvention.css', stats)
+    ).toMatchSnapshot('module');
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
+
+  it('should work and respect the "localConvention" option with the "camelCaseOnly" value', async () => {
+    const compiler = getCompiler(
+      './modules/localsConvention/localsConvention.js',
+      {
+        modules: {
+          mode: 'local',
+          exportLocalsConvention: 'camelCaseOnly',
+        },
+      }
+    );
+    const stats = await compile(compiler);
+
+    expect(
+      getModuleSource('./modules/localsConvention/localsConvention.css', stats)
+    ).toMatchSnapshot('module');
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
+
+  it('should work and respect the "localConvention" option with the "dashes" value', async () => {
+    const compiler = getCompiler(
+      './modules/localsConvention/localsConvention.js',
+      {
+        modules: {
+          mode: 'local',
+          exportLocalsConvention: 'dashes',
+        },
+      }
+    );
+    const stats = await compile(compiler);
+
+    expect(
+      getModuleSource('./modules/localsConvention/localsConvention.css', stats)
+    ).toMatchSnapshot('module');
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
+
+  it('should work and respect the "localConvention" option with the "dashesOnly" value', async () => {
+    const compiler = getCompiler(
+      './modules/localsConvention/localsConvention.js',
+      {
+        modules: {
+          mode: 'local',
+          exportLocalsConvention: 'dashesOnly',
+        },
+      }
+    );
+    const stats = await compile(compiler);
+
+    expect(
+      getModuleSource('./modules/localsConvention/localsConvention.css', stats)
+    ).toMatchSnapshot('module');
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
+
+  it('should work and respect the "exportOnlyLocals" option', async () => {
+    const compiler = getCompiler('./modules/composes/composes.js', {
+      modules: {
+        mode: 'local',
+        localIdentName: '_[local]',
+        exportOnlyLocals: true,
+      },
+    });
+    const stats = await compile(compiler);
+
+    expect(
+      getModuleSource('./modules/composes/composes.css', stats)
+    ).toMatchSnapshot('module');
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
+
+  it('should work and respect the "exportOnlyLocals" option with the "esModule" option', async () => {
+    const compiler = getCompiler('./modules/composes/composes.js', {
+      modules: {
+        mode: 'local',
+        localIdentName: '_[local]',
+        exportOnlyLocals: true,
+      },
+      esModule: true,
+    });
+    const stats = await compile(compiler);
+
+    expect(
+      getModuleSource('./modules/composes/composes.css', stats)
+    ).toMatchSnapshot('module');
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
+
+  it('should work with an empty object value', async () => {
+    const compiler = getCompiler('./modules/pure/pure.js', { modules: {} });
+    const stats = await compile(compiler);
+
+    expect(getModuleSource('./modules/pure/pure.css', stats)).toMatchSnapshot(
+      'module'
+    );
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
+
+  it('should work with the "namedExport" option', async () => {
+    const compiler = getCompiler('./modules/namedExport/base/index.js', {
+      modules: {
+        namedExport: true,
+      },
+    });
+    const stats = await compile(compiler);
+
+    expect(
+      getModuleSource('./modules/namedExport/base/index.css', stats)
+    ).toMatchSnapshot('module');
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
+
+  it('should work with the "namedExport" option with nested import', async () => {
+    const compiler = getCompiler('./modules/namedExport/nested/index.js', {
+      esModule: true,
+      modules: {
+        namedExport: true,
+      },
+    });
+    const stats = await compile(compiler);
+
+    expect(
+      getModuleSource('./modules/namedExport/nested/index.css', stats)
+    ).toMatchSnapshot('module');
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
+
+  it('should work js template with "namedExport" option', async () => {
+    const compiler = getCompiler('./modules/namedExport/template/index.js', {
+      esModule: true,
+      modules: {
+        localIdentName: '[local]',
+        namedExport: true,
+      },
+    });
+    const stats = await compile(compiler);
+
+    expect(
+      getModuleSource('./modules/namedExport/template/index.css', stats)
+    ).toMatchSnapshot('module');
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
+
+  it('should throw an error when the "namedExport" option is "true", but the "esModule" is "false"', async () => {
+    const compiler = getCompiler('./modules/namedExport/base/index.js', {
+      esModule: false,
+      modules: {
+        namedExport: true,
+      },
+    });
+    const stats = await compile(compiler);
+
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats, true)).toMatchSnapshot('errors');
+  });
+
+  it('should throw an error when the "namedExport" is enabled and the "exportLocalsConvention" options has not "camelCaseOnly" value', async () => {
+    const compiler = getCompiler('./modules/namedExport/broken/index.js', {
+      esModule: true,
+      modules: {
+        namedExport: true,
+        exportLocalsConvention: 'dashes',
+      },
+    });
+    const stats = await compile(compiler);
+
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats, true)).toMatchSnapshot('errors');
+  });
+
+  it('should throw an error when class has unsupported name (JavaScript reserved words)', async () => {
+    const compiler = getCompiler('./modules/namedExport/broken/index.js', {
+      esModule: true,
+      modules: {
+        namedExport: true,
+      },
+    });
+    const stats = await compile(compiler);
+
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats, true)).toMatchSnapshot('errors');
+  });
+
+  it('should work with "url"', async () => {
+    const compiler = getCompiler('./modules/url/source.js', {
+      modules: true,
+    });
+    const stats = await compile(compiler);
+
+    expect(getModuleSource('./modules/url/source.css', stats)).toMatchSnapshot(
+      'module'
+    );
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
+
+  it('should work with "url" and "namedExport"', async () => {
+    const compiler = getCompiler('./modules/url/source.js', {
+      modules: {
+        namedExport: true,
+      },
+    });
+    const stats = await compile(compiler);
+
+    expect(getModuleSource('./modules/url/source.css', stats)).toMatchSnapshot(
+      'module'
+    );
+    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
+      'result'
+    );
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats)).toMatchSnapshot('errors');
+  });
 });
diff --git a/test/onlyLocals-option.test.js b/test/onlyLocals-option.test.js
deleted file mode 100644
index 04c819c2..00000000
--- a/test/onlyLocals-option.test.js
+++ /dev/null
@@ -1,45 +0,0 @@
-import {
-  compile,
-  getCompiler,
-  getErrors,
-  getExecutedCode,
-  getModuleSource,
-  getWarnings,
-} from './helpers/index';
-
-describe('"onlyLocals" option', () => {
-  it('should work', async () => {
-    const compiler = getCompiler('./modules/composes/composes.js', {
-      modules: { mode: 'local', localIdentName: '_[local]' },
-      onlyLocals: true,
-    });
-    const stats = await compile(compiler);
-
-    expect(
-      getModuleSource('./modules/composes/composes.css', stats)
-    ).toMatchSnapshot('module');
-    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
-      'result'
-    );
-    expect(getWarnings(stats)).toMatchSnapshot('warnings');
-    expect(getErrors(stats)).toMatchSnapshot('errors');
-  });
-
-  it('should work with the "esModule" option', async () => {
-    const compiler = getCompiler('./modules/composes/composes.js', {
-      modules: { mode: 'local', localIdentName: '_[local]' },
-      onlyLocals: true,
-      esModule: true,
-    });
-    const stats = await compile(compiler);
-
-    expect(
-      getModuleSource('./modules/composes/composes.css', stats)
-    ).toMatchSnapshot('module');
-    expect(getExecutedCode('main.bundle.js', compiler, stats)).toMatchSnapshot(
-      'result'
-    );
-    expect(getWarnings(stats)).toMatchSnapshot('warnings');
-    expect(getErrors(stats)).toMatchSnapshot('errors');
-  });
-});
diff --git a/test/runtime/__snapshots__/api.test.js.snap b/test/runtime/__snapshots__/api.test.js.snap
index 23ba2486..3304a234 100644
--- a/test/runtime/__snapshots__/api.test.js.snap
+++ b/test/runtime/__snapshots__/api.test.js.snap
@@ -2,6 +2,10 @@
 
 exports[`api should import modules 1`] = `"body { b: 2; }body { c: 3; }body { b: 2; }@media print {body { b: 2; }}@media print {body { d: 4; }}@media screen and (orientation:landscape) {body { a: 1; }}@media (orientation:landscape) {body { a: 1; }}"`;
 
+exports[`api should import modules when module string 1`] = `".button { b: 2; }"`;
+
+exports[`api should import modules with dedupe 1`] = `"body { b: 1; }body { b: 2; }.button { b: 3; }"`;
+
 exports[`api should import named modules 1`] = `"body { b: 2; }body { c: 3; }body { b: 2; }@media print {body { b: 2; }}@media print {body { d: 4; }}@media screen {body { a: 1; }}"`;
 
 exports[`api should toString a single module 1`] = `"body { a: 1; }"`;
diff --git a/test/runtime/api.test.js b/test/runtime/api.test.js
index ced44a64..f945c4b2 100644
--- a/test/runtime/api.test.js
+++ b/test/runtime/api.test.js
@@ -137,4 +137,30 @@ describe('api', () => {
 
     expect(m.toString()).toMatchSnapshot();
   });
+
+  it('should import modules with dedupe', () => {
+    const m = api();
+
+    const m1 = [null, 'body { b: 1; }', ''];
+    const m2 = ['./module2', 'body { b: 2; }', ''];
+    const m3 = ['./module3', '.button { b: 3; }', ''];
+
+    m.i([m1], '', true);
+    m.i([m2], '', true);
+    m.i([m3], '', true);
+    m.i([m3], '', true);
+    m.i([m3], '', true);
+
+    expect(m.toString()).toMatchSnapshot();
+    expect(m.length).toBe(3);
+  });
+
+  it('should import modules when module string', () => {
+    const m = api();
+
+    m.i('.button { b: 2; }');
+    m.i('');
+
+    expect(m.toString()).toMatchSnapshot();
+  });
 });
diff --git a/test/sourceMap-option.test.js b/test/sourceMap-option.test.js
index 05c51bb3..e047d27a 100644
--- a/test/sourceMap-option.test.js
+++ b/test/sourceMap-option.test.js
@@ -11,6 +11,8 @@ import {
   getWarnings,
 } from './helpers/index';
 
+jest.setTimeout(10000);
+
 describe('"sourceMap" option', () => {
   describe('not specified', () => {
     it('should not generate source maps', async () => {
@@ -193,6 +195,56 @@ describe('"sourceMap" option', () => {
       expect(getErrors(stats)).toMatchSnapshot('errors');
     });
 
+    it('should generate source maps when source maps is valid and is set sourceRoot', async () => {
+      const compiler = getCompiler(
+        './source-map/basic.js',
+        {},
+        {
+          module: {
+            rules: [
+              {
+                test: /\.css$/i,
+                use: [
+                  {
+                    loader: path.resolve(__dirname, '../src'),
+                    options: { sourceMap: true },
+                  },
+                  {
+                    loader: path.resolve(
+                      __dirname,
+                      './fixtures/source-map-loader.js'
+                    ),
+                    options: {
+                      sourceMap: JSON.stringify({
+                        foo: 'bar',
+                        version: 3,
+                        sources: ['basic.css'],
+                        sourceRoot: '/fixtures/source-map',
+                        names: [],
+                        mappings: 'AAAA;EACE,UAAU;AACZ',
+                        file: 'basic.css',
+                        sourcesContent: ['.class {\n  color: red;\n}\n'],
+                      }),
+                    },
+                  },
+                ],
+              },
+            ],
+          },
+        }
+      );
+      const stats = await compile(compiler);
+
+      expect(getModuleSource('./source-map/basic.css', stats)).toMatchSnapshot(
+        'module'
+      );
+      expect(
+        getExecutedCode('main.bundle.js', compiler, stats)
+      ).toMatchSnapshot('result');
+      expect(getWarnings(stats)).toMatchSnapshot('warnings');
+      expect(getErrors(stats)).toMatchSnapshot('errors');
+    });
+
     it('should generate source maps when source maps is valid from an other loader (`postcss-loader`)', async () => {
       const compiler = getCompiler(
         './source-map/basic-postcss.js',
diff --git a/test/url-option.test.js b/test/url-option.test.js
index 258ce6b7..bdfbcaf5 100644
--- a/test/url-option.test.js
+++ b/test/url-option.test.js
@@ -66,4 +66,12 @@ describe('"url" option', () => {
     expect(getWarnings(stats)).toMatchSnapshot('warnings');
     expect(getErrors(stats)).toMatchSnapshot('errors');
   });
+
+  it('should throw an error on unresolved import', async () => {
+    const compiler = getCompiler('./url/url-unresolved.js');
+    const stats = await compile(compiler);
+
+    expect(getWarnings(stats)).toMatchSnapshot('warnings');
+    expect(getErrors(stats, true)).toMatchSnapshot('errors');
+  });
 });
diff --git a/test/validate-options.test.js b/test/validate-options.test.js
index 40d5501a..70a9badc 100644
--- a/test/validate-options.test.js
+++ b/test/validate-options.test.js
@@ -22,9 +22,12 @@ describe('validate options', () => {
         { mode: 'pure' },
         { mode: () => 'local' },
         { localIdentName: '[path][name]__[local]--[hash:base64:5]' },
-        { context: 'context' },
-        { hashPrefix: 'hash' },
-        { getLocalIdent: () => {} },
+        { localIdentContext: 'context' },
+        { localIdentHashPrefix: 'hash' },
+        {
+          getLocalIdent: (loaderContext, localIdentName, localName) =>
+            localName,
+        },
         { localIdentRegExp: 'page-(.*)\\.js' },
         { localIdentRegExp: /page-(.*)\.js/ },
         { exportGlobals: true },
@@ -32,6 +35,15 @@ describe('validate options', () => {
         { auto: false },
         { auto: /custom-regex/ },
         { auto: () => true },
+        { exportLocalsConvention: 'asIs' },
+        { exportLocalsConvention: 'camelCase' },
+        { exportLocalsConvention: 'camelCaseOnly' },
+        { exportLocalsConvention: 'dashes' },
+        { exportLocalsConvention: 'dashesOnly' },
+        { namedExport: true },
+        { namedExport: false },
+        { exportOnlyLocals: true },
+        { exportOnlyLocals: false },
       ],
       failure: [
         'true',
@@ -43,30 +55,25 @@ describe('validate options', () => {
         { mode: 'locals' },
         { mode: 'pures' },
         { localIdentName: true },
-        { context: true },
-        { hashPrefix: true },
+        { localIdentContext: true },
+        { localIdentHashPrefix: true },
         { getLocalIdent: [] },
         { localIdentRegExp: true },
         { exportGlobals: 'invalid' },
         { auto: 'invalid' },
+        { exportLocalsConvention: 'unknown' },
+        { namedExport: 'invalid' },
+        { exportOnlyLocals: 'invalid' },
       ],
     },
     sourceMap: {
       success: [true, false],
       failure: ['true'],
     },
-    localsConvention: {
-      success: ['camelCase', 'camelCaseOnly', 'dashes', 'dashesOnly'],
-      failure: ['unknown'],
-    },
     importLoaders: {
       success: [false, 0, 1, 2],
       failure: ['1', 2.5],
     },
-    onlyLocals: {
-      success: [true, false],
-      failure: ['true'],
-    },
     esModule: {
       success: [true, false],
       failure: ['true'],
@@ -92,7 +99,18 @@ describe('validate options', () => {
     it(`should ${
       type === 'success' ? 'successfully validate' : 'throw an error on'
     } the "${key}" option with "${stringifyValue(value)}" value`, async () => {
-      const compiler = getCompiler('simple.js', { [key]: value });
+      const options = { [key]: value };
+
+      if (
+        key === 'modules' &&
+        typeof value === 'object' &&
+        value.namedExport === true
+      ) {
+        options.esModule = true;
+      }
+
+      const compiler = getCompiler('simple.js', options);
+
       let stats;
 
       try {