Index: frontend/node_modules/postcss-loader/LICENSE
===================================================================
--- frontend/node_modules/postcss-loader/LICENSE	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/postcss-loader/LICENSE	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,20 @@
+Copyright JS Foundation and other contributors
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Index: frontend/node_modules/postcss-loader/README.md
===================================================================
--- frontend/node_modules/postcss-loader/README.md	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/postcss-loader/README.md	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,1101 @@
+<div align="center">
+  <img 
+    width="180" 
+    height="180" 
+    hspace="10"
+    alt="PostCSS Logo"
+    src="https://api.postcss.org/logo.svg">
+  <a href="https://github.com/webpack/webpack">
+    <img 
+      width="200" 
+      height="200" 
+      hspace="10"
+      src="https://cdn.rawgit.com/webpack/media/e7485eb2/logo/icon.svg">
+  </a>
+  <div align="center">
+    <a href="https://evilmartians.com/?utm_source=postcss">
+      <img 
+        src="https://evilmartians.com/badges/sponsored-by-evil-martians.svg"
+        alt="Sponsored by Evil Martians" 
+        width="236" 
+        height="54" 
+        vspace="10">
+    </a>
+  </div>
+</div>
+
+[![npm][npm]][npm-url]
+[![node][node]][node-url]
+[![deps][deps]][deps-url]
+[![tests][tests]][tests-url]
+[![coverage][cover]][cover-url]
+[![size][size]][size-url]
+
+Webpack chat: [![chat][chat]][chat-url]
+
+PostCSS chat: [![chat-postcss][chat-postcss]][chat-postcss-url]
+
+# postcss-loader
+
+Loader to process CSS with [`PostCSS`](https://github.com/postcss/postcss).
+
+## Getting Started
+
+You need webpack v5 to use the latest version. For Webpack v4, you have to install postcss-loader v4.
+
+To begin, you'll need to install `postcss-loader` and `postcss`:
+
+```console
+npm install --save-dev postcss-loader postcss
+```
+
+Then add the plugin to your `webpack` config. For example:
+
+> In the following configuration the plugin [`postcss-preset-env`](https://github.com/csstools/postcss-preset-env) is used, which is not installed by default.
+
+**file.js**
+
+```js
+import css from "file.css";
+```
+
+**webpack.config.js**
+
+```js
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.css$/i,
+        use: [
+          "style-loader",
+          "css-loader",
+          {
+            loader: "postcss-loader",
+            options: {
+              postcssOptions: {
+                plugins: [
+                  [
+                    "postcss-preset-env",
+                    {
+                      // Options
+                    },
+                  ],
+                ],
+              },
+            },
+          },
+        ],
+      },
+    ],
+  },
+};
+```
+
+Alternative use with [config files](#config):
+
+**postcss.config.js**
+
+```js
+module.exports = {
+  plugins: [
+    [
+      "postcss-preset-env",
+      {
+        // Options
+      },
+    ],
+  ],
+};
+```
+
+The loader **automatically** searches for configuration files.
+
+**webpack.config.js**
+
+```js
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.css$/i,
+        use: ["style-loader", "css-loader", "postcss-loader"],
+      },
+    ],
+  },
+};
+```
+
+And run `webpack` via your preferred method.
+
+## Options
+
+|                Name                 |         Type         |                Default                | Description                                  |
+| :---------------------------------: | :------------------: | :-----------------------------------: | :------------------------------------------- |
+|        [`execute`](#execute)        |     `{Boolean}`      |              `undefined`              | Enable PostCSS Parser support in `CSS-in-JS` |
+| [`postcssOptions`](#postcssOptions) | `{Object\|Function}` | `defaults values for Postcss.process` | Set `PostCSS` options and plugins            |
+|      [`sourceMap`](#sourcemap)      |     `{Boolean}`      |          `compiler.devtool`           | Enables/Disables generation of source maps   |
+| [`implementation`](#implementation) | `{Function\|String}` |               `postcss`               | Setup PostCSS implementation to use          |
+
+### `execute`
+
+Type: `Boolean`
+Default: `undefined`
+
+If you use JS styles the [`postcss-js`](https://github.com/postcss/postcss-js) parser, add the `execute` option.
+
+**webpack.config.js**
+
+```js
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.style.js$/,
+        use: [
+          "style-loader",
+          {
+            loader: "css-loader",
+          },
+          {
+            loader: "postcss-loader",
+            options: {
+              postcssOptions: {
+                parser: "postcss-js",
+              },
+              execute: true,
+            },
+          },
+        ],
+      },
+    ],
+  },
+};
+```
+
+### `postcssOptions`
+
+Type: `Object|Function`
+Default: `undefined`
+
+Allows to set [`PostCSS options`](https://postcss.org/api/#processoptions) and plugins.
+
+All `PostCSS` options are supported.
+There is the special `config` option for config files. How it works and how it can be configured is described below.
+
+We recommend do not specify `from`, `to` and `map` options, because this can lead to wrong path in source maps.
+If you need source maps please use the [`sourcemap`](#sourcemap) option.
+
+#### `Object`
+
+Setup `plugins`:
+
+**webpack.config.js** (**recommended**)
+
+```js
+const myOtherPostcssPlugin = require("postcss-my-plugin");
+
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.sss$/i,
+        loader: "postcss-loader",
+        options: {
+          postcssOptions: {
+            plugins: [
+              "postcss-import",
+              ["postcss-short", { prefix: "x" }],
+              require.resolve("my-postcss-plugin"),
+              myOtherPostcssPlugin({ myOption: true }),
+              // Deprecated and will be removed in the next major release
+              { "postcss-nested": { preserveEmpty: true } },
+            ],
+          },
+        },
+      },
+    ],
+  },
+};
+```
+
+**webpack.config.js** (**deprecated**, will be removed in the next major release)
+
+```js
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.sss$/i,
+        loader: "postcss-loader",
+        options: {
+          postcssOptions: {
+            plugins: {
+              "postcss-import": {},
+              "postcss-short": { prefix: "x" },
+            },
+          },
+        },
+      },
+    ],
+  },
+};
+```
+
+Setup `syntax`:
+
+**webpack.config.js**
+
+```js
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.sss$/i,
+        loader: "postcss-loader",
+        options: {
+          postcssOptions: {
+            // Can be `String`
+            syntax: "sugarss",
+            // Can be `Object`
+            syntax: require("sugarss"),
+          },
+        },
+      },
+    ],
+  },
+};
+```
+
+Setup `parser`:
+
+**webpack.config.js**
+
+```js
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.sss$/i,
+        loader: "postcss-loader",
+        options: {
+          postcssOptions: {
+            // Can be `String`
+            parser: "sugarss",
+            // Can be `Object`
+            parser: require("sugarss"),
+            // Can be `Function`
+            parser: require("sugarss").parse,
+          },
+        },
+      },
+    ],
+  },
+};
+```
+
+Setup `stringifier`:
+
+**webpack.config.js**
+
+```js
+const Midas = require("midas");
+const midas = new Midas();
+
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.sss$/i,
+        loader: "postcss-loader",
+        options: {
+          postcssOptions: {
+            // Can be `String`
+            stringifier: "sugarss",
+            // Can be `Object`
+            stringifier: require("sugarss"),
+            // Can be `Function`
+            stringifier: midas.stringifier,
+          },
+        },
+      },
+    ],
+  },
+};
+```
+
+#### `Function`
+
+**webpack.config.js**
+
+```js
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.(css|sss)$/i,
+        loader: "postcss-loader",
+        options: {
+          postcssOptions: (loaderContext) => {
+            if (/\.sss$/.test(loaderContext.resourcePath)) {
+              return {
+                parser: "sugarss",
+                plugins: [
+                  ["postcss-short", { prefix: "x" }],
+                  "postcss-preset-env",
+                ],
+              };
+            }
+
+            return {
+              plugins: [
+                ["postcss-short", { prefix: "x" }],
+                "postcss-preset-env",
+              ],
+            };
+          },
+        },
+      },
+    ],
+  },
+};
+```
+
+#### `config`
+
+Type: `Boolean|String`
+Default: `undefined`
+
+Allows to set options using config files.
+Options specified in the config file are combined with options passed to the loader, the loader options overwrite options from config.
+
+##### Config Files
+
+The loader will search up the directory tree for configuration in the following places:
+
+- a `postcss` property in `package.json`
+- a `.postcssrc` file in JSON or YAML format
+- a `.postcssrc.json`, `.postcssrc.yaml`, `.postcssrc.yml`, `.postcssrc.js`, or `.postcssrc.cjs` file
+- a `postcss.config.js` or `postcss.config.cjs` CommonJS module exporting an object (**recommended**)
+
+##### Examples of Config Files
+
+Using `Object` notation:
+
+**postcss.config.js** (**recommend**)
+
+```js
+module.exports = {
+  // You can specify any options from https://postcss.org/api/#processoptions here
+  // parser: 'sugarss',
+  plugins: [
+    // Plugins for PostCSS
+    ["postcss-short", { prefix: "x" }],
+    "postcss-preset-env",
+  ],
+};
+```
+
+Using `Function` notation:
+
+**postcss.config.js** (**recommend**)
+
+```js
+module.exports = (api) => {
+  // `api.file` - path to the file
+  // `api.mode` - `mode` value of webpack, please read https://webpack.js.org/configuration/mode/
+  // `api.webpackLoaderContext` - loader context for complex use cases
+  // `api.env` - alias `api.mode` for compatibility with `postcss-cli`
+  // `api.options` - the `postcssOptions` options
+
+  if (/\.sss$/.test(api.file)) {
+    return {
+      // You can specify any options from https://postcss.org/api/#processoptions here
+      parser: "sugarss",
+      plugins: [
+        // Plugins for PostCSS
+        ["postcss-short", { prefix: "x" }],
+        "postcss-preset-env",
+      ],
+    };
+  }
+
+  return {
+    // You can specify any options from https://postcss.org/api/#processoptions here
+    plugins: [
+      // Plugins for PostCSS
+      ["postcss-short", { prefix: "x" }],
+      "postcss-preset-env",
+    ],
+  };
+};
+```
+
+**postcss.config.js** (**deprecated**, will be removed in the next major release)
+
+```js
+module.exports = {
+  // You can specify any options from https://postcss.org/api/#processoptions here
+  // parser: 'sugarss',
+  plugins: {
+    // Plugins for PostCSS
+    "postcss-short": { prefix: "x" },
+    "postcss-preset-env": {},
+  },
+};
+```
+
+##### Config Cascade
+
+You can use different `postcss.config.js` files in different directories.
+Config lookup starts from `path.dirname(file)` and walks the file tree upwards until a config file is found.
+
+```
+|– components
+| |– component
+| | |– index.js
+| | |– index.png
+| | |– style.css (1)
+| | |– postcss.config.js (1)
+| |– component
+| | |– index.js
+| | |– image.png
+| | |– style.css (2)
+|
+|– postcss.config.js (1 && 2 (recommended))
+|– webpack.config.js
+|
+|– package.json
+```
+
+After setting up your `postcss.config.js`, add `postcss-loader` to your `webpack.config.js`.
+You can use it standalone or in conjunction with `css-loader` (recommended).
+
+Use it **before** `css-loader` and `style-loader`, but **after** other preprocessor loaders like e.g `sass|less|stylus-loader`, if you use any (since [webpack loaders evaluate right to left/bottom to top](https://webpack.js.org/concepts/loaders/#configuration)).
+
+**webpack.config.js** (**recommended**)
+
+```js
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.css$/,
+        use: [
+          "style-loader",
+          {
+            loader: "css-loader",
+            options: {
+              importLoaders: 1,
+            },
+          },
+          "postcss-loader",
+        ],
+      },
+    ],
+  },
+};
+```
+
+#### Boolean
+
+Enables/Disables autoloading config.
+
+**webpack.config.js**
+
+```js
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.css$/i,
+        loader: "postcss-loader",
+        options: {
+          postcssOptions: {
+            config: false,
+          },
+        },
+      },
+    ],
+  },
+};
+```
+
+#### String
+
+Allows to specify the path to the config file.
+
+**webpack.config.js**
+
+```js
+const path = require("path");
+
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.css$/i,
+        loader: "postcss-loader",
+        options: {
+          postcssOptions: {
+            config: path.resolve(__dirname, "custom.config.js"),
+          },
+        },
+      },
+    ],
+  },
+};
+```
+
+### `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,
+        use: [
+          { loader: "style-loader" },
+          { loader: "css-loader", options: { sourceMap: true } },
+          { loader: "postcss-loader", options: { sourceMap: true } },
+          { loader: "sass-loader", options: { sourceMap: true } },
+        ],
+      },
+    ],
+  },
+};
+```
+
+Alternative setup:
+
+**webpack.config.js**
+
+```js
+module.exports = {
+  devtool: "source-map",
+  module: {
+    rules: [
+      {
+        test: /\.css$/i,
+        use: [
+          { loader: "style-loader" },
+          { loader: "css-loader" },
+          { loader: "postcss-loader" },
+          { loader: "sass-loader" },
+        ],
+      },
+    ],
+  },
+};
+```
+
+### `implementation`
+
+Type: `Function | String`
+Default: `postcss`
+
+The special `implementation` option determines which implementation of PostCSS to use. Overrides the locally installed `peerDependency` version of `postcss`.
+
+**This option is only really useful for downstream tooling authors to ease the PostCSS 7-to-8 transition.**
+
+#### Function
+
+**webpack.config.js**
+
+```js
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.css$/i,
+        use: [
+          { loader: "style-loader" },
+          { loader: "css-loader" },
+          {
+            loader: "postcss-loader",
+            options: { implementation: require("postcss") },
+          },
+          { loader: "sass-loader" },
+        ],
+      },
+    ],
+  },
+};
+```
+
+#### String
+
+**webpack.config.js**
+
+```js
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.css$/i,
+        use: [
+          { loader: "style-loader" },
+          { loader: "css-loader" },
+          {
+            loader: "postcss-loader",
+            options: { implementation: require.resolve("postcss") },
+          },
+          { loader: "sass-loader" },
+        ],
+      },
+    ],
+  },
+};
+```
+
+## Examples
+
+### SugarSS
+
+You'll need to install `sugarss`:
+
+```console
+npm install --save-dev sugarss
+```
+
+Using [`SugarSS`](https://github.com/postcss/sugarss) syntax.
+
+**webpack.config.js**
+
+```js
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.sss$/i,
+        use: [
+          "style-loader",
+          {
+            loader: "css-loader",
+            options: { importLoaders: 1 },
+          },
+          {
+            loader: "postcss-loader",
+            options: {
+              postcssOptions: {
+                parser: "sugarss",
+              },
+            },
+          },
+        ],
+      },
+    ],
+  },
+};
+```
+
+### Autoprefixer
+
+You'll need to install `autoprefixer`:
+
+```console
+npm install --save-dev autoprefixer
+```
+
+Add vendor prefixes to CSS rules using [`autoprefixer`](https://github.com/postcss/autoprefixer).
+
+**webpack.config.js**
+
+```js
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.css$/i,
+        use: [
+          "style-loader",
+          {
+            loader: "css-loader",
+            options: { importLoaders: 1 },
+          },
+          {
+            loader: "postcss-loader",
+            options: {
+              postcssOptions: {
+                plugins: [
+                  [
+                    "autoprefixer",
+                    {
+                      // Options
+                    },
+                  ],
+                ],
+              },
+            },
+          },
+        ],
+      },
+    ],
+  },
+};
+```
+
+> :warning: [`postcss-preset-env`](https://github.com/csstools/postcss-preset-env) includes [`autoprefixer`](https://github.com/postcss/autoprefixer), so adding it separately is not necessary if you already use the preset. More [information](https://github.com/csstools/postcss-preset-env#autoprefixer)
+
+### PostCSS Preset Env
+
+You'll need to install `postcss-preset-env`:
+
+```console
+npm install --save-dev postcss-preset-env
+```
+
+**webpack.config.js**
+
+```js
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.css$/i,
+        use: [
+          "style-loader",
+          {
+            loader: "css-loader",
+            options: { importLoaders: 1 },
+          },
+          {
+            loader: "postcss-loader",
+            options: {
+              postcssOptions: {
+                plugins: [
+                  [
+                    "postcss-preset-env",
+                    {
+                      // Options
+                    },
+                  ],
+                ],
+              },
+            },
+          },
+        ],
+      },
+    ],
+  },
+};
+```
+
+### CSS Modules
+
+What is `CSS Modules`? Please [read](https://github.com/webpack-contrib/css-loader#modules).
+
+No additional options required on the `postcss-loader` side.
+To make them work properly, either add the `css-loader`’s `importLoaders` option.
+
+**webpack.config.js**
+
+```js
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.css$/i,
+        use: [
+          "style-loader",
+          {
+            loader: "css-loader",
+            options: {
+              modules: true,
+              importLoaders: 1,
+            },
+          },
+          "postcss-loader",
+        ],
+      },
+    ],
+  },
+};
+```
+
+### CSS-in-JS and [`postcss-js`](https://github.com/postcss/postcss-js)
+
+You'll need to install `postcss-js`:
+
+```console
+npm install --save-dev postcss-js
+```
+
+If you want to process styles written in JavaScript, use the [`postcss-js`](https://github.com/postcss/postcss-js) parser.
+
+**webpack.config.js**
+
+```js
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.style.js$/,
+        use: [
+          "style-loader",
+          {
+            loader: "css-loader",
+            options: {
+              importLoaders: 2,
+            },
+          },
+          {
+            loader: "postcss-loader",
+            options: {
+              postcssOptions: {
+                parser: "postcss-js",
+              },
+              execute: true,
+            },
+          },
+          "babel-loader",
+        ],
+      },
+    ],
+  },
+};
+```
+
+As result you will be able to write styles in the following way
+
+```js
+import colors from "./styles/colors";
+
+export default {
+  ".menu": {
+    color: colors.main,
+    height: 25,
+    "&_link": {
+      color: "white",
+    },
+  },
+};
+```
+
+> :warning: If you are using Babel you need to do the following in order for the setup to work
+
+> 1. Add [`babel-plugin-add-module-exports`](https://github.com/59naga/babel-plugin-add-module-exports) to your configuration.
+> 2. You need to have only one **default** export per style module.
+
+### Extract CSS
+
+Using [`mini-css-extract-plugin`](https://github.com/webpack-contrib/mini-css-extract-plugin).
+
+**webpack.config.js**
+
+```js
+const isProductionMode = process.env.NODE_ENV === "production";
+
+const MiniCssExtractPlugin = require("mini-css-extract-plugin");
+
+module.exports = {
+  mode: isProductionMode ? "production" : "development",
+  module: {
+    rules: [
+      {
+        test: /\.css$/,
+        use: [
+          isProductionMode ? MiniCssExtractPlugin.loader : "style-loader",
+          "css-loader",
+          "postcss-loader",
+        ],
+      },
+    ],
+  },
+  plugins: [
+    new MiniCssExtractPlugin({
+      filename: isProductionMode ? "[name].[contenthash].css" : "[name].css",
+    }),
+  ],
+};
+```
+
+### Emit assets
+
+To write a asset from PostCSS plugin to the webpack, need to add a message in `result.messages`.
+
+The message should contain the following fields:
+
+- `type` = `asset` - Message type (require, should be equal `asset`)
+- `file` - file name (require)
+- `content` - file content (require)
+- `sourceMap` - sourceMap
+- `info` - asset info
+
+**webpack.config.js**
+
+```js
+const customPlugin = () => (css, result) => {
+  result.messages.push({
+    type: "asset",
+    file: "sprite.svg",
+    content: "<svg>...</svg>",
+  });
+};
+
+const postcssPlugin = postcss.plugin("postcss-assets", customPlugin);
+
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.css$/i,
+        use: [
+          "style-loader",
+          "css-loader",
+          {
+            loader: "postcss-loader",
+            options: {
+              postcssOptions: {
+                plugins: [postcssPlugin()],
+              },
+            },
+          },
+        ],
+      },
+    ],
+  },
+};
+```
+
+### Add dependencies, contextDependencies, buildDependencies, missingDependencies
+
+The dependencies are necessary for webpack to understand when it needs to run recompilation on the changed files.
+
+There are two way to add dependencies:
+
+1. (Recommended). The plugin may emit messages in `result.messages`.
+
+The message should contain the following fields:
+
+- `type` = `dependency` - Message type (require, should be equal `dependency`, `context-dependency`, `build-dependency` or `missing-dependency`)
+- `file` - absolute file path (require)
+
+**webpack.config.js**
+
+```js
+const path = require("path");
+
+const customPlugin = () => (css, result) => {
+  result.messages.push({
+    type: "dependency",
+    file: path.resolve(__dirname, "path", "to", "file"),
+  });
+};
+
+const postcssPlugin = postcss.plugin("postcss-assets", customPlugin);
+
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.css$/i,
+        use: [
+          "style-loader",
+          "css-loader",
+          {
+            loader: "postcss-loader",
+            options: {
+              postcssOptions: {
+                plugins: [postcssPlugin()],
+              },
+            },
+          },
+        ],
+      },
+    ],
+  },
+};
+```
+
+2. Pass `loaderContext` in plugin.
+
+**webpack.config.js**
+
+```js
+const path = require("path");
+
+module.exports = {
+  module: {
+    rules: [
+      {
+        test: /\.css$/i,
+        use: [
+          "style-loader",
+          "css-loader",
+          {
+            loader: "postcss-loader",
+            options: {
+              postcssOptions: {
+                config: path.resolve(__dirname, "path/to/postcss.config.js"),
+              },
+            },
+          },
+        ],
+      },
+    ],
+  },
+};
+```
+
+**postcss.config.js**
+
+```js
+module.exports = (api) => ({
+  plugins: [
+    require("path/to/customPlugin")({
+      loaderContext: api.webpackLoaderContext,
+    }),
+  ],
+});
+```
+
+**customPlugin.js**
+
+```js
+const path = require("path");
+
+const customPlugin = (loaderContext) => (css, result) => {
+  loaderContext.webpack.addDependency(
+    path.resolve(__dirname, "path", "to", "file")
+  );
+};
+
+module.exports = postcss.plugin("postcss-assets", customPlugin);
+```
+
+## Contributing
+
+Please take a moment to read our contributing guidelines if you haven't yet done so.
+
+[CONTRIBUTING](./.github/CONTRIBUTING.md)
+
+## License
+
+[MIT](./LICENSE)
+
+[npm]: https://img.shields.io/npm/v/postcss-loader.svg
+[npm-url]: https://npmjs.com/package/postcss-loader
+[node]: https://img.shields.io/node/v/postcss-loader.svg
+[node-url]: https://nodejs.org
+[deps]: https://david-dm.org/webpack-contrib/postcss-loader.svg
+[deps-url]: https://david-dm.org/webpack-contrib/postcss-loader
+[tests]: https://github.com/webpack-contrib/postcss-loader/workflows/postcss-loader/badge.svg
+[tests-url]: https://github.com/webpack-contrib/postcss-loader/actions
+[cover]: https://codecov.io/gh/webpack-contrib/postcss-loader/branch/master/graph/badge.svg
+[cover-url]: https://codecov.io/gh/webpack-contrib/postcss-loader
+[chat]: https://badges.gitter.im/webpack/webpack.svg
+[chat-url]: https://gitter.im/webpack/webpack
+[chat-postcss]: https://badges.gitter.im/postcss/postcss.svg
+[chat-postcss-url]: https://gitter.im/postcss/postcss
+[size]: https://packagephobia.now.sh/badge?p=postcss-loader
+[size-url]: https://packagephobia.now.sh/result?p=postcss-loader
Index: frontend/node_modules/postcss-loader/dist/Error.js
===================================================================
--- frontend/node_modules/postcss-loader/dist/Error.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/postcss-loader/dist/Error.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,44 @@
+"use strict";
+
+/**
+ * **PostCSS Syntax Error**
+ *
+ * Loader wrapper for postcss syntax errors
+ *
+ * @class SyntaxError
+ * @extends Error
+ *
+ * @param {Object} err CssSyntaxError
+ */
+class SyntaxError extends Error {
+  constructor(error) {
+    super(error);
+    const {
+      line,
+      column,
+      reason,
+      plugin,
+      file
+    } = error;
+    this.name = "SyntaxError";
+    this.message = `${this.name}\n\n`;
+
+    if (typeof line !== "undefined") {
+      this.message += `(${line}:${column}) `;
+    }
+
+    this.message += plugin ? `${plugin}: ` : "";
+    this.message += file ? `${file} ` : "<css input> ";
+    this.message += `${reason}`;
+    const code = error.showSourceCode();
+
+    if (code) {
+      this.message += `\n\n${code}\n`;
+    }
+
+    this.stack = false;
+  }
+
+}
+
+module.exports = SyntaxError;
Index: frontend/node_modules/postcss-loader/dist/Warning.js
===================================================================
--- frontend/node_modules/postcss-loader/dist/Warning.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/postcss-loader/dist/Warning.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,36 @@
+"use strict";
+
+/**
+ * **PostCSS Plugin Warning**
+ *
+ * Loader wrapper for postcss plugin warnings (`root.messages`)
+ *
+ * @class Warning
+ * @extends Error
+ *
+ * @param {Object} warning PostCSS Warning
+ */
+class Warning extends Error {
+  constructor(warning) {
+    super(warning);
+    const {
+      text,
+      line,
+      column,
+      plugin
+    } = warning;
+    this.name = "Warning";
+    this.message = `${this.name}\n\n`;
+
+    if (typeof line !== "undefined") {
+      this.message += `(${line}:${column}) `;
+    }
+
+    this.message += plugin ? `${plugin}: ` : "";
+    this.message += `${text}`;
+    this.stack = false;
+  }
+
+}
+
+module.exports = Warning;
Index: frontend/node_modules/postcss-loader/dist/cjs.js
===================================================================
--- frontend/node_modules/postcss-loader/dist/cjs.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/postcss-loader/dist/cjs.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,3 @@
+"use strict";
+
+module.exports = require("./index").default;
Index: frontend/node_modules/postcss-loader/dist/index.js
===================================================================
--- frontend/node_modules/postcss-loader/dist/index.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/postcss-loader/dist/index.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,198 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = loader;
+
+var _path = _interopRequireDefault(require("path"));
+
+var _semver = require("semver");
+
+var _package = _interopRequireDefault(require("postcss/package.json"));
+
+var _Warning = _interopRequireDefault(require("./Warning"));
+
+var _Error = _interopRequireDefault(require("./Error"));
+
+var _options = _interopRequireDefault(require("./options.json"));
+
+var _utils = require("./utils");
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+let hasExplicitDependencyOnPostCSS = false;
+/**
+ * **PostCSS Loader**
+ *
+ * Loads && processes CSS with [PostCSS](https://github.com/postcss/postcss)
+ *
+ * @method loader
+ *
+ * @param {String} content Source
+ * @param {Object} sourceMap Source Map
+ * @param {Object} meta Meta
+ *
+ * @return {callback} callback Result
+ */
+
+async function loader(content, sourceMap, meta) {
+  const options = this.getOptions(_options.default);
+  const callback = this.async();
+  const configOption = typeof options.postcssOptions === "undefined" || typeof options.postcssOptions.config === "undefined" ? true : options.postcssOptions.config;
+  const postcssFactory = (0, _utils.getPostcssImplementation)(this, options.implementation);
+
+  if (!postcssFactory) {
+    callback(new Error(`The Postcss implementation "${options.implementation}" not found`));
+    return;
+  }
+
+  let loadedConfig;
+
+  if (configOption) {
+    try {
+      loadedConfig = await (0, _utils.loadConfig)(this, configOption, options.postcssOptions);
+    } catch (error) {
+      callback(error);
+      return;
+    }
+  }
+
+  const useSourceMap = typeof options.sourceMap !== "undefined" ? options.sourceMap : this.sourceMap;
+  const {
+    plugins,
+    processOptions
+  } = await (0, _utils.getPostcssOptions)(this, loadedConfig, options.postcssOptions);
+
+  if (useSourceMap) {
+    processOptions.map = {
+      inline: false,
+      annotation: false,
+      ...processOptions.map
+    };
+  }
+
+  if (sourceMap && processOptions.map) {
+    processOptions.map.prev = (0, _utils.normalizeSourceMap)(sourceMap, this.context);
+  }
+
+  let root; // Reuse PostCSS AST from other loaders
+
+  if (meta && meta.ast && meta.ast.type === "postcss" && (0, _semver.satisfies)(meta.ast.version, `^${_package.default.version}`)) {
+    ({
+      root
+    } = meta.ast);
+  }
+
+  if (!root && options.execute) {
+    // eslint-disable-next-line no-param-reassign
+    content = (0, _utils.exec)(content, this);
+  }
+
+  let result;
+  let processor;
+
+  try {
+    processor = postcssFactory(plugins);
+    result = await processor.process(root || content, processOptions);
+  } catch (error) {
+    // Check postcss versions to avoid using PostCSS 7.
+    // For caching reasons, we use the readFileSync and existsSync functions from the context,
+    // not the functions from the `fs` module.
+    if (!hasExplicitDependencyOnPostCSS && processor && processor.version && processor.version.startsWith("7.")) {
+      // The `findPackageJsonDir` function returns `string` or `null`.
+      // This is used to do for caching, that is, an explicit comparison with `undefined`
+      // is used to make the condition body run once.
+      const packageJSONDir = (0, _utils.findPackageJSONDir)(process.cwd(), this.fs.statSync);
+
+      if (packageJSONDir) {
+        let bufferOfPackageJSON;
+
+        try {
+          bufferOfPackageJSON = this.fs.readFileSync(_path.default.resolve(packageJSONDir, "package.json"), "utf8");
+        } catch (_error) {// Nothing
+        }
+
+        if (bufferOfPackageJSON) {
+          let pkg;
+
+          try {
+            pkg = JSON.parse(bufferOfPackageJSON);
+          } catch (_error) {// Nothing
+          }
+
+          if (pkg) {
+            if (!pkg.dependencies.postcss && !pkg.devDependencies.postcss) {
+              this.emitWarning(new Error("Add postcss as project dependency. postcss is not a peer dependency for postcss-loader. " + "Use `npm install postcss` or `yarn add postcss`"));
+            } else {
+              hasExplicitDependencyOnPostCSS = true;
+            }
+          }
+        }
+      }
+    }
+
+    if (error.file) {
+      this.addDependency(error.file);
+    }
+
+    if (error.name === "CssSyntaxError") {
+      callback(new _Error.default(error));
+    } else {
+      callback(error);
+    }
+
+    return;
+  }
+
+  for (const warning of result.warnings()) {
+    this.emitWarning(new _Warning.default(warning));
+  }
+
+  for (const message of result.messages) {
+    // eslint-disable-next-line default-case
+    switch (message.type) {
+      case "dependency":
+        this.addDependency(message.file);
+        break;
+
+      case "build-dependency":
+        this.addBuildDependency(message.file);
+        break;
+
+      case "missing-dependency":
+        this.addMissingDependency(message.file);
+        break;
+
+      case "context-dependency":
+        this.addContextDependency(message.file);
+        break;
+
+      case "dir-dependency":
+        this.addContextDependency(message.dir);
+        break;
+
+      case "asset":
+        if (message.content && message.file) {
+          this.emitFile(message.file, message.content, message.sourceMap, message.info);
+        }
+
+    }
+  } // eslint-disable-next-line no-undefined
+
+
+  let map = result.map ? result.map.toJSON() : undefined;
+
+  if (map && useSourceMap) {
+    map = (0, _utils.normalizeSourceMapAfterPostcss)(map, this.context);
+  }
+
+  const ast = {
+    type: "postcss",
+    version: result.processor.version,
+    root: result.root
+  };
+  callback(null, result.css, map, {
+    ast
+  });
+}
Index: frontend/node_modules/postcss-loader/dist/options.json
===================================================================
--- frontend/node_modules/postcss-loader/dist/options.json	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/postcss-loader/dist/options.json	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,58 @@
+{
+  "title": "PostCSS Loader options",
+  "type": "object",
+  "properties": {
+    "postcssOptions": {
+      "description": "Options to pass through to `Postcss`.",
+      "link": "https://github.com/webpack-contrib/postcss-loader#postcssOptions",
+      "anyOf": [
+        {
+          "type": "object",
+          "additionalProperties": true,
+          "properties": {
+            "config": {
+              "description": "Allows to specify PostCSS config path.",
+              "link": "https://github.com/webpack-contrib/postcss-loader#config",
+              "anyOf": [
+                {
+                  "description": "Allows to specify the path to the configuration file",
+                  "type": "string"
+                },
+                {
+                  "description": "Enables/Disables autoloading config",
+                  "type": "boolean"
+                }
+              ]
+            }
+          }
+        },
+        {
+          "instanceof": "Function"
+        }
+      ]
+    },
+    "execute": {
+      "description": "Enables/Disables PostCSS parser support in 'CSS-in-JS'.",
+      "link": "https://github.com/webpack-contrib/postcss-loader#execute",
+      "type": "boolean"
+    },
+    "sourceMap": {
+      "description": "Enables/Disables generation of source maps.",
+      "link": "https://github.com/webpack-contrib/postcss-loader#sourcemap",
+      "type": "boolean"
+    },
+    "implementation": {
+      "description": "The implementation of postcss to use, instead of the locally installed version",
+      "link": "https://github.com/webpack-contrib/postcss-loader#implementation",
+      "anyOf": [
+        {
+          "type": "string"
+        },
+        {
+          "instanceof": "Function"
+        }
+      ]
+    }
+  },
+  "additionalProperties": false
+}
Index: frontend/node_modules/postcss-loader/dist/utils.js
===================================================================
--- frontend/node_modules/postcss-loader/dist/utils.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/postcss-loader/dist/utils.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,414 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.exec = exec;
+exports.findPackageJSONDir = findPackageJSONDir;
+exports.getPostcssImplementation = getPostcssImplementation;
+exports.getPostcssOptions = getPostcssOptions;
+exports.loadConfig = loadConfig;
+exports.normalizeSourceMap = normalizeSourceMap;
+exports.normalizeSourceMapAfterPostcss = normalizeSourceMapAfterPostcss;
+
+var _path = _interopRequireDefault(require("path"));
+
+var _module = _interopRequireDefault(require("module"));
+
+var _full = require("klona/full");
+
+var _cosmiconfig = require("cosmiconfig");
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+const parentModule = module;
+
+const stat = (inputFileSystem, filePath) => new Promise((resolve, reject) => {
+  inputFileSystem.stat(filePath, (err, stats) => {
+    if (err) {
+      reject(err);
+    }
+
+    resolve(stats);
+  });
+});
+
+function exec(code, loaderContext) {
+  const {
+    resource,
+    context
+  } = loaderContext;
+  const module = new _module.default(resource, parentModule); // eslint-disable-next-line no-underscore-dangle
+
+  module.paths = _module.default._nodeModulePaths(context);
+  module.filename = resource; // eslint-disable-next-line no-underscore-dangle
+
+  module._compile(code, resource);
+
+  return module.exports;
+}
+
+async function loadConfig(loaderContext, config, postcssOptions) {
+  const searchPath = typeof config === "string" ? _path.default.resolve(config) : _path.default.dirname(loaderContext.resourcePath);
+  let stats;
+
+  try {
+    stats = await stat(loaderContext.fs, searchPath);
+  } catch (errorIgnore) {
+    throw new Error(`No PostCSS config found in: ${searchPath}`);
+  }
+
+  const explorer = (0, _cosmiconfig.cosmiconfig)("postcss");
+  let result;
+
+  try {
+    if (stats.isFile()) {
+      result = await explorer.load(searchPath);
+    } else {
+      result = await explorer.search(searchPath);
+    }
+  } catch (error) {
+    throw error;
+  }
+
+  if (!result) {
+    return {};
+  }
+
+  loaderContext.addBuildDependency(result.filepath);
+  loaderContext.addDependency(result.filepath);
+
+  if (result.isEmpty) {
+    return result;
+  }
+
+  if (typeof result.config === "function") {
+    const api = {
+      mode: loaderContext.mode,
+      file: loaderContext.resourcePath,
+      // For complex use
+      webpackLoaderContext: loaderContext,
+      // Partial compatibility with `postcss-cli`
+      env: loaderContext.mode,
+      options: postcssOptions || {}
+    };
+    result.config = result.config(api);
+  }
+
+  result = (0, _full.klona)(result);
+  return result;
+}
+
+function loadPlugin(plugin, options, file) {
+  try {
+    if (!options || Object.keys(options).length === 0) {
+      // eslint-disable-next-line global-require, import/no-dynamic-require
+      const loadedPlugin = require(plugin);
+
+      if (loadedPlugin.default) {
+        return loadedPlugin.default;
+      }
+
+      return loadedPlugin;
+    } // eslint-disable-next-line global-require, import/no-dynamic-require
+
+
+    const loadedPlugin = require(plugin);
+
+    if (loadedPlugin.default) {
+      return loadedPlugin.default(options);
+    }
+
+    return loadedPlugin(options);
+  } catch (error) {
+    throw new Error(`Loading PostCSS "${plugin}" plugin failed: ${error.message}\n\n(@${file})`);
+  }
+}
+
+function pluginFactory() {
+  const listOfPlugins = new Map();
+  return plugins => {
+    if (typeof plugins === "undefined") {
+      return listOfPlugins;
+    }
+
+    if (Array.isArray(plugins)) {
+      for (const plugin of plugins) {
+        if (Array.isArray(plugin)) {
+          const [name, options] = plugin;
+          listOfPlugins.set(name, options);
+        } else if (plugin && typeof plugin === "function") {
+          listOfPlugins.set(plugin);
+        } else if (plugin && Object.keys(plugin).length === 1 && (typeof plugin[Object.keys(plugin)[0]] === "object" || typeof plugin[Object.keys(plugin)[0]] === "boolean") && plugin[Object.keys(plugin)[0]] !== null) {
+          const [name] = Object.keys(plugin);
+          const options = plugin[name];
+
+          if (options === false) {
+            listOfPlugins.delete(name);
+          } else {
+            listOfPlugins.set(name, options);
+          }
+        } else if (plugin) {
+          listOfPlugins.set(plugin);
+        }
+      }
+    } else {
+      const objectPlugins = Object.entries(plugins);
+
+      for (const [name, options] of objectPlugins) {
+        if (options === false) {
+          listOfPlugins.delete(name);
+        } else {
+          listOfPlugins.set(name, options);
+        }
+      }
+    }
+
+    return listOfPlugins;
+  };
+}
+
+async function tryRequireThenImport(module) {
+  let exports;
+
+  try {
+    // eslint-disable-next-line import/no-dynamic-require, global-require
+    exports = require(module);
+    return exports;
+  } catch (requireError) {
+    let importESM;
+
+    try {
+      // eslint-disable-next-line no-new-func
+      importESM = new Function("id", "return import(id);");
+    } catch (e) {
+      importESM = null;
+    }
+
+    if (requireError.code === "ERR_REQUIRE_ESM" && importESM) {
+      exports = await importESM(module);
+      return exports.default;
+    }
+
+    throw requireError;
+  }
+}
+
+async function getPostcssOptions(loaderContext, loadedConfig = {}, postcssOptions = {}) {
+  const file = loaderContext.resourcePath;
+  let normalizedPostcssOptions = postcssOptions;
+
+  if (typeof normalizedPostcssOptions === "function") {
+    normalizedPostcssOptions = normalizedPostcssOptions(loaderContext);
+  }
+
+  let plugins = [];
+
+  try {
+    const factory = pluginFactory();
+
+    if (loadedConfig.config && loadedConfig.config.plugins) {
+      factory(loadedConfig.config.plugins);
+    }
+
+    factory(normalizedPostcssOptions.plugins);
+    plugins = [...factory()].map(item => {
+      const [plugin, options] = item;
+
+      if (typeof plugin === "string") {
+        return loadPlugin(plugin, options, file);
+      }
+
+      return plugin;
+    });
+  } catch (error) {
+    loaderContext.emitError(error);
+  }
+
+  const processOptionsFromConfig = loadedConfig.config || {};
+
+  if (processOptionsFromConfig.from) {
+    processOptionsFromConfig.from = _path.default.resolve(_path.default.dirname(loadedConfig.filepath), processOptionsFromConfig.from);
+  }
+
+  if (processOptionsFromConfig.to) {
+    processOptionsFromConfig.to = _path.default.resolve(_path.default.dirname(loadedConfig.filepath), processOptionsFromConfig.to);
+  } // No need them for processOptions
+
+
+  delete processOptionsFromConfig.plugins;
+  const processOptionsFromOptions = (0, _full.klona)(normalizedPostcssOptions);
+
+  if (processOptionsFromOptions.from) {
+    processOptionsFromOptions.from = _path.default.resolve(loaderContext.rootContext, processOptionsFromOptions.from);
+  }
+
+  if (processOptionsFromOptions.to) {
+    processOptionsFromOptions.to = _path.default.resolve(loaderContext.rootContext, processOptionsFromOptions.to);
+  } // No need them for processOptions
+
+
+  delete processOptionsFromOptions.config;
+  delete processOptionsFromOptions.plugins;
+  const processOptions = {
+    from: file,
+    to: file,
+    map: false,
+    ...processOptionsFromConfig,
+    ...processOptionsFromOptions
+  };
+
+  if (typeof processOptions.parser === "string") {
+    try {
+      processOptions.parser = await tryRequireThenImport(processOptions.parser);
+    } catch (error) {
+      loaderContext.emitError(new Error(`Loading PostCSS "${processOptions.parser}" parser failed: ${error.message}\n\n(@${file})`));
+    }
+  }
+
+  if (typeof processOptions.stringifier === "string") {
+    try {
+      processOptions.stringifier = await tryRequireThenImport(processOptions.stringifier);
+    } catch (error) {
+      loaderContext.emitError(new Error(`Loading PostCSS "${processOptions.stringifier}" stringifier failed: ${error.message}\n\n(@${file})`));
+    }
+  }
+
+  if (typeof processOptions.syntax === "string") {
+    try {
+      processOptions.syntax = await tryRequireThenImport(processOptions.syntax);
+    } catch (error) {
+      loaderContext.emitError(new Error(`Loading PostCSS "${processOptions.syntax}" syntax failed: ${error.message}\n\n(@${file})`));
+    }
+  }
+
+  if (processOptions.map === true) {
+    // https://github.com/postcss/postcss/blob/master/docs/source-maps.md
+    processOptions.map = {
+      inline: true
+    };
+  }
+
+  return {
+    plugins,
+    processOptions
+  };
+}
+
+const IS_NATIVE_WIN32_PATH = /^[a-z]:[/\\]|^\\\\/i;
+const ABSOLUTE_SCHEME = /^[a-z0-9+\-.]+:/i;
+
+function getURLType(source) {
+  if (source[0] === "/") {
+    if (source[1] === "/") {
+      return "scheme-relative";
+    }
+
+    return "path-absolute";
+  }
+
+  if (IS_NATIVE_WIN32_PATH.test(source)) {
+    return "path-absolute";
+  }
+
+  return ABSOLUTE_SCHEME.test(source) ? "absolute" : "path-relative";
+}
+
+function normalizeSourceMap(map, resourceContext) {
+  let newMap = map; // Some loader emit source map as string
+  // Strip any JSON XSSI avoidance prefix from the string (as documented in the source maps specification), and then parse the string as JSON.
+
+  if (typeof newMap === "string") {
+    newMap = JSON.parse(newMap);
+  }
+
+  delete newMap.file;
+  const {
+    sourceRoot
+  } = newMap;
+  delete newMap.sourceRoot;
+
+  if (newMap.sources) {
+    newMap.sources = newMap.sources.map(source => {
+      const sourceType = getURLType(source); // Do no touch `scheme-relative` and `absolute` URLs
+
+      if (sourceType === "path-relative" || sourceType === "path-absolute") {
+        const absoluteSource = sourceType === "path-relative" && sourceRoot ? _path.default.resolve(sourceRoot, _path.default.normalize(source)) : _path.default.normalize(source);
+        return _path.default.relative(resourceContext, absoluteSource);
+      }
+
+      return source;
+    });
+  }
+
+  return newMap;
+}
+
+function normalizeSourceMapAfterPostcss(map, resourceContext) {
+  const newMap = map; // result.map.file is an optional property that provides the output filename.
+  // Since we don't know the final filename in the webpack build chain yet, it makes no sense to have it.
+  // eslint-disable-next-line no-param-reassign
+
+  delete newMap.file; // eslint-disable-next-line no-param-reassign
+
+  newMap.sourceRoot = ""; // eslint-disable-next-line no-param-reassign
+
+  newMap.sources = newMap.sources.map(source => {
+    if (source.indexOf("<") === 0) {
+      return source;
+    }
+
+    const sourceType = getURLType(source); // Do no touch `scheme-relative`, `path-absolute` and `absolute` types
+
+    if (sourceType === "path-relative") {
+      return _path.default.resolve(resourceContext, source);
+    }
+
+    return source;
+  });
+  return newMap;
+}
+
+function findPackageJSONDir(cwd, statSync) {
+  let dir = cwd;
+
+  for (;;) {
+    try {
+      if (statSync(_path.default.join(dir, "package.json")).isFile()) {
+        break;
+      }
+    } catch (error) {// Nothing
+    }
+
+    const parent = _path.default.dirname(dir);
+
+    if (dir === parent) {
+      dir = null;
+      break;
+    }
+
+    dir = parent;
+  }
+
+  return dir;
+}
+
+function getPostcssImplementation(loaderContext, implementation) {
+  let resolvedImplementation = implementation;
+
+  if (!implementation || typeof implementation === "string") {
+    const postcssImplPkg = implementation || "postcss";
+
+    try {
+      // eslint-disable-next-line import/no-dynamic-require, global-require
+      resolvedImplementation = require(postcssImplPkg);
+    } catch (error) {
+      loaderContext.emitError(error); // eslint-disable-next-line consistent-return
+
+      return;
+    }
+  } // eslint-disable-next-line consistent-return
+
+
+  return resolvedImplementation;
+}
Index: frontend/node_modules/postcss-loader/package.json
===================================================================
--- frontend/node_modules/postcss-loader/package.json	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/postcss-loader/package.json	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,92 @@
+{
+  "name": "postcss-loader",
+  "version": "6.2.1",
+  "description": "PostCSS loader for webpack",
+  "license": "MIT",
+  "repository": "webpack-contrib/postcss-loader",
+  "author": "Andrey Sitnik <andrey@sitnik.ru>",
+  "homepage": "https://github.com/webpack-contrib/postcss-loader",
+  "bugs": "https://github.com/webpack-contrib/postcss-loader/issues",
+  "funding": {
+    "type": "opencollective",
+    "url": "https://opencollective.com/webpack"
+  },
+  "main": "dist/cjs.js",
+  "engines": {
+    "node": ">= 12.13.0"
+  },
+  "scripts": {
+    "start": "npm run build -- -w",
+    "clean": "del-cli dist",
+    "prebuild": "npm run clean",
+    "build": "cross-env NODE_ENV=production babel src -d dist --copy-files",
+    "commitlint": "commitlint --from=master",
+    "security": "npm audit --production",
+    "lint:prettier": "prettier \"{**/*,*}.{js,json,md,yml,css,ts}\" --list-different",
+    "lint:js": "eslint --cache .",
+    "lint": "npm-run-all -l -p \"lint:**\"",
+    "test:only": "cross-env NODE_ENV=test jest",
+    "test:watch": "npm run test:only -- --watch",
+    "test:coverage": "npm run test:only -- --collectCoverageFrom=\"src/**/*.js\" --coverage",
+    "pretest": "npm run lint",
+    "test": "npm run test:coverage",
+    "prepare": "husky install && npm run build",
+    "release": "standard-version"
+  },
+  "files": [
+    "dist"
+  ],
+  "peerDependencies": {
+    "postcss": "^7.0.0 || ^8.0.1",
+    "webpack": "^5.0.0"
+  },
+  "dependencies": {
+    "cosmiconfig": "^7.0.0",
+    "klona": "^2.0.5",
+    "semver": "^7.3.5"
+  },
+  "devDependencies": {
+    "@babel/cli": "^7.16.0",
+    "@babel/core": "^7.16.0",
+    "@babel/preset-env": "^7.16.4",
+    "@commitlint/cli": "^15.0.0",
+    "@commitlint/config-conventional": "^15.0.0",
+    "@webpack-contrib/eslint-config-webpack": "^3.0.0",
+    "babel-jest": "^27.3.1",
+    "cross-env": "^7.0.3",
+    "cssnano": "^5.0.11",
+    "del": "^6.0.0",
+    "del-cli": "^4.0.1",
+    "eslint": "^8.3.0",
+    "eslint-config-prettier": "^8.3.0",
+    "eslint-plugin-import": "^2.25.3",
+    "husky": "^7.0.4",
+    "jest": "^27.3.1",
+    "less": "^4.1.2",
+    "less-loader": "^10.2.0",
+    "lint-staged": "^12.1.2",
+    "memfs": "^3.4.0",
+    "midas": "^2.0.3",
+    "npm-run-all": "^4.1.5",
+    "postcss": "^8.3.1",
+    "postcss-dark-theme-class": "^0.7.3",
+    "postcss-import": "^14.0.2",
+    "postcss-js": "^3.0.3",
+    "postcss-nested": "^5.0.6",
+    "postcss-short": "^5.0.0",
+    "prettier": "^2.5.0",
+    "sass": "^1.43.5",
+    "sass-loader": "^12.3.0",
+    "standard-version": "^9.3.2",
+    "strip-ansi": "^6.0.0",
+    "sugarss": "^4.0.1",
+    "webpack": "^5.64.4"
+  },
+  "keywords": [
+    "css",
+    "postcss",
+    "postcss-runner",
+    "webpack",
+    "webpack-loader"
+  ]
+}
