From 2d951f0546caa8a9280429cdfaac0e1b9f7fdba7 Mon Sep 17 00:00:00 2001 From: Nathan Steel Date: Wed, 21 Sep 2022 08:47:43 -0400 Subject: [PATCH] Add all WIP content --- .gitignore | 1 + TODO | 25 + css/alert.scss | 23 + css/colours.scss | 12 + css/footer.scss | 13 + css/form.scss | 80 + css/header.scss | 62 + css/main.css | 246 +++ css/main.css.map | 1 + css/main.scss | 48 + css/variables.scss | 6 + elo.php | 59 + images/injected.jpg | Bin 0 -> 113617 bytes images/mite.svg | 1 + images/svgrepo | 1 + include/db_connect.inc.php | 20 + index.php | 51 + login.php | 60 + logout.php | 5 + match.php | 43 + matchmaking.php | 31 + mmr.php | 31 + package-lock.json | 2973 +++++++++++++++++++++++++++ package.json | 8 + partial/footer.php | 8 + partial/head.php | 21 + partial/header.php | 32 + postcss.config.js | 8 + profile.php | 39 + repository/teamRepository.php | 149 ++ repository/tournamentRepository.php | 42 + repository/userRepository.php | 91 + scripts/sanitise.php | 17 + scripts/userLogged.php | 66 + signup.php | 76 + teamStuff.php | 77 + tournament-admin.php | 10 + tournament.php | 28 + tournaments.php | 29 + 39 files changed, 4493 insertions(+) create mode 100644 .gitignore create mode 100644 TODO create mode 100644 css/alert.scss create mode 100644 css/colours.scss create mode 100644 css/footer.scss create mode 100644 css/form.scss create mode 100644 css/header.scss create mode 100644 css/main.css create mode 100644 css/main.css.map create mode 100644 css/main.scss create mode 100644 css/variables.scss create mode 100644 elo.php create mode 100755 images/injected.jpg create mode 100755 images/mite.svg create mode 100644 images/svgrepo create mode 100644 include/db_connect.inc.php create mode 100644 index.php create mode 100644 login.php create mode 100644 logout.php create mode 100644 match.php create mode 100644 matchmaking.php create mode 100644 mmr.php create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 partial/footer.php create mode 100644 partial/head.php create mode 100644 partial/header.php create mode 100644 postcss.config.js create mode 100644 profile.php create mode 100644 repository/teamRepository.php create mode 100644 repository/tournamentRepository.php create mode 100644 repository/userRepository.php create mode 100644 scripts/sanitise.php create mode 100644 scripts/userLogged.php create mode 100644 signup.php create mode 100644 teamStuff.php create mode 100644 tournament-admin.php create mode 100644 tournament.php create mode 100644 tournaments.php diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/TODO b/TODO new file mode 100644 index 0000000..42bd52b --- /dev/null +++ b/TODO @@ -0,0 +1,25 @@ +change cookie for userLogged to be much more secure + + +Move code into classes/functions, and modularise it + +Build the entities that we need, and call them in the code + +add functionality to + +make team +add player +join tournament (request to join) +when tourney has enough applicats, then arrange the matches for first seeds +make tourney + +show match page +have elo changes seperate +have matchmaking seperate + +front-controller +https://symfony.com/doc/current/introduction/from_flat_php_to_symfony.html#a-front-controller-to-the-rescue + + +Seperate logic from any front end (logic needs to be able to run via command line) +it can return what is needed for the front end only diff --git a/css/alert.scss b/css/alert.scss new file mode 100644 index 0000000..3471964 --- /dev/null +++ b/css/alert.scss @@ -0,0 +1,23 @@ +.alert{ + width: 100%; + padding: 12px; + border-radius: 6px; +} +.alert--notification{ + @extend .alert; + background-color: $notification; +} +.alert--success{ + @extend .alert; + background-color: $success; +} +.alert--error{ + @extend .alert; + background-color: $error; + color: $white; +} +.alert--alert{ + @extend .alert; + background-color: $alert; +} + diff --git a/css/colours.scss b/css/colours.scss new file mode 100644 index 0000000..1977e0c --- /dev/null +++ b/css/colours.scss @@ -0,0 +1,12 @@ +$gunmetal: #2A2D34; +$ghost-white: #F8F8FF; +$steel-blue: #3E7CB1; +$white: #FFF; +$black: #000; + +$offyellow: #FEFAE0; +$success: #35CE8D; +$error: #AD2831; +$notification: #06BEE1; +$alert: lightgoldenrodyellow; + diff --git a/css/footer.scss b/css/footer.scss new file mode 100644 index 0000000..4765e62 --- /dev/null +++ b/css/footer.scss @@ -0,0 +1,13 @@ +footer{ + background-color: $gunmetal; + color: $white; +} +.footer__link{ + text-decoration: none; + color: $ghost-white; + + &:hover{ + color: $notification; + } +} + diff --git a/css/form.scss b/css/form.scss new file mode 100644 index 0000000..f17f130 --- /dev/null +++ b/css/form.scss @@ -0,0 +1,80 @@ +@mixin input { + appearance: none; + + padding: 12px; + font-size: 16px; + margin-bottom: 12px; + + background: $white; + border: 2px solid $black; + box-sizing: border-box; + color: $black; + display: block; + line-height: 1; + outline: 2px solid transparent; + vertical-align: top; + + transition-property: background-color, border-color, color, opacity, box-shadow; + transition-duration: .1s; + transition-timing-function: ease-out; + + &:focus { + border-color: $notification; + box-shadow: $notification; + outline: 0 none; + outline-offset: 0; + } + + &:invalid { + outline: 0 none; + } +} + +select, textarea{ + @include input; +} +textarea{ + // Allow only vertical resizing of textareas. + resize: vertical; +} + +input { + &[type='text'], + &[type='number'], + &[type='email'], + &[type='password'] { + @include input; + } +} + +.button, +button, +[type="button"], +[type="reset"], +[type="submit"]{ + -webkit-appearance: button; + cursor: pointer; + + padding: 10px 26px; + margin: 0.6rem 0; + border: 2px solid $gunmetal; + background-color: $gunmetal; + color: $white; + text-decoration: none; + display: inline-block; + border-radius: 4px; + font-weight: bold; + font-size: 16px; + + &:hover{ + background-color: lighten($gunmetal, 10%); + border-color: lighten($gunmetal, 10%); + color: $white; + } + + // Remove margin from paragraph wrapped anchors + p &{ + margin: 0; + } +} + diff --git a/css/header.scss b/css/header.scss new file mode 100644 index 0000000..ca52262 --- /dev/null +++ b/css/header.scss @@ -0,0 +1,62 @@ +header{ + width: 100%; + background-color: $gunmetal; + padding: 16px; +} +header .layout-wrapper{ + position: relative; +} +header .layout-wrapper *{ + display: inline-block; + vertical-align: middle; +} + +nav{ + //position: absolute; + right: 0; + vertial-align: middle; + display: inline-block; +} +nav ul{ + list-style: none; + margin: 0; + padding: 0; +} +nav ul li{ + display: inline; + color: $ghost-white; + padding: 4px 8px; +} +nav ul li a{ + text-decoration: none; + color: $ghost-white; + padding: 4px 8px; + + &:hover{ + color: $white; + } +} +nav ul li ul{ + border-top: 16px solid transparent; + z-index: $zi-high; +} +// Prevent webkit fucking shit up +nav ul > li:before { + content: "\200B"; + position: absolute; +} +.site-title{ + color: $ghost-white; + padding: 6px; + text-decoration: none; + font-weight: bold; + font-size: 16px; + vertial-align: middle; + display: inline-block; +} +.logo{ + fill: $ghost-white; + width: 32px; + height: 32px; +} + diff --git a/css/main.css b/css/main.css new file mode 100644 index 0000000..167608e --- /dev/null +++ b/css/main.css @@ -0,0 +1,246 @@ +@charset "UTF-8"; +select, textarea { + appearance: none; + padding: 12px; + font-size: 16px; + margin-bottom: 12px; + background: #FFF; + border: 2px solid #000; + box-sizing: border-box; + color: #000; + display: block; + line-height: 1; + outline: 2px solid transparent; + vertical-align: top; + transition-property: background-color, border-color, color, opacity, box-shadow; + transition-duration: 0.1s; + transition-timing-function: ease-out; +} +select:focus, textarea:focus { + border-color: #06BEE1; + box-shadow: #06BEE1; + outline: 0 none; + outline-offset: 0; +} +select:invalid, textarea:invalid { + outline: 0 none; +} + +textarea { + resize: vertical; +} + +input[type=text], input[type=number], input[type=email], input[type=password] { + appearance: none; + padding: 12px; + font-size: 16px; + margin-bottom: 12px; + background: #FFF; + border: 2px solid #000; + box-sizing: border-box; + color: #000; + display: block; + line-height: 1; + outline: 2px solid transparent; + vertical-align: top; + transition-property: background-color, border-color, color, opacity, box-shadow; + transition-duration: 0.1s; + transition-timing-function: ease-out; +} +input[type=text]:focus, input[type=number]:focus, input[type=email]:focus, input[type=password]:focus { + border-color: #06BEE1; + box-shadow: #06BEE1; + outline: 0 none; + outline-offset: 0; +} +input[type=text]:invalid, input[type=number]:invalid, input[type=email]:invalid, input[type=password]:invalid { + outline: 0 none; +} + +.button, +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; + cursor: pointer; + padding: 10px 26px; + margin: 0.6rem 0; + border: 2px solid #2A2D34; + background-color: #2A2D34; + color: #FFF; + text-decoration: none; + display: inline-block; + border-radius: 4px; + font-weight: bold; + font-size: 16px; +} +.button:hover, +button:hover, +[type=button]:hover, +[type=reset]:hover, +[type=submit]:hover { + background-color: #414550; + border-color: #414550; + color: #FFF; +} +p .button, +p button, +p [type=button], +p [type=reset], +p [type=submit] { + margin: 0; +} + +header { + width: 100%; + background-color: #2A2D34; + padding: 16px; +} + +header .layout-wrapper { + position: relative; +} + +header .layout-wrapper * { + display: inline-block; + vertical-align: middle; +} + +nav { + right: 0; + vertial-align: middle; + display: inline-block; +} + +nav ul { + list-style: none; + margin: 0; + padding: 0; +} + +nav ul li { + display: inline; + color: #F8F8FF; + padding: 4px 8px; +} + +nav ul li a { + text-decoration: none; + color: #F8F8FF; + padding: 4px 8px; +} +nav ul li a:hover { + color: #FFF; +} + +nav ul li ul { + border-top: 16px solid transparent; + z-index: 30; +} + +nav ul > li:before { + content: "​"; + position: absolute; +} + +.site-title { + color: #F8F8FF; + padding: 6px; + text-decoration: none; + font-weight: bold; + font-size: 16px; + vertial-align: middle; + display: inline-block; +} + +.logo { + fill: #F8F8FF; + width: 32px; + height: 32px; +} + +footer { + background-color: #2A2D34; + color: #FFF; +} + +.footer__link { + text-decoration: none; + color: #F8F8FF; +} +.footer__link:hover { + color: #06BEE1; +} + +.alert, .alert--alert, .alert--error, .alert--success, .alert--notification { + width: 100%; + padding: 12px; + border-radius: 6px; +} + +.alert--notification { + background-color: #06BEE1; +} + +.alert--success { + background-color: #35CE8D; +} + +.alert--error { + background-color: #AD2831; + color: #FFF; +} + +.alert--alert { + background-color: lightgoldenrodyellow; +} + +object * { + fill: #FFF; +} + +*, *:before, *:after { + -webkit-box-sizing: inherit; + -moz-box-sizing: inherit; + box-sizing: inherit; +} + +html { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +html, body { + margin: 0; + height: 100%; +} + +body { + display: flex; + flex-direction: column; + font-family: system-ui, sans-serif; +} + +main { + flex: 1 0 auto; +} + +.layout-wrapper { + width: 100%; + max-width: 1240px; + padding: 0 20px; + margin: 0 auto; +} + +.banner { + margin: 0 auto; + width: 100%; + height: 200px; + background-color: #2A2D34; + color: #FFF; + margin-bottom: 12px; +} + +/*# sourceMappingURL=main.css.map */ diff --git a/css/main.css.map b/css/main.css.map new file mode 100644 index 0000000..8272fc0 --- /dev/null +++ b/css/main.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["form.scss","colours.scss","header.scss","variables.scss","footer.scss","alert.scss","main.scss"],"names":[],"mappings":";AAgCA;EA/BC;EAEA;EACA;EACA;EAEA,YCJO;EDKP;EACA;EACA,OCNO;EDOP;EACA;EACA;EACA;EAEA;EACA;EACA;;AAEA;EACC,cCZa;EDab,YCba;EDcb;EACA;;AAGD;EACC;;;AAOF;EAEI;;;AAIH;EAxCA;EAEA;EACA;EACA;EAEA,YCJO;EDKP;EACA;EACA,OCNO;EDOP;EACA;EACA;EACA;EAEA;EACA;EACA;;AAEA;EACC,cCZa;EDab,YCba;EDcb;EACA;;AAGD;EACC;;;AAqBF;AAAA;AAAA;AAAA;AAAA;EAKC;EACA;EAEA;EACG;EACA;EACA,kBC5DO;ED6DP,OC1DI;ED2DJ;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;EACI;EACA;EACA,OCpEA;;ADwEP;AAAA;AAAA;AAAA;AAAA;EACC;;;AE5EF;EACC;EACA,kBDFU;ECGV;;;AAED;EACC;;;AAED;EACC;EACA;;;AAGD;EAEC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA,ODzBa;EC0Bb;;;AAED;EACC;EACA,OD9Ba;EC+Bb;;AAEA;EACC,ODhCM;;;ACmCR;EACC;EACA,SCxCS;;;AD2CV;EACC;EACA;;;AAED;EACC,OD/Ca;ECgDb;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC,MDxDa;ECyDb;EACA;;;AE3DD;EACC,kBHDU;EGEV,OHCO;;;AGCR;EACC;EACA,OHLa;;AGOb;EACC;;;ACTF;EACC;EACA;EACA;;;AAED;EAEC,kBJEc;;;AIAf;EAEC,kBJJS;;;AIMV;EAEC,kBJPO;EIQP,OJbO;;;AIeR;EAEC,kBJVO;;;AKHR;EACC,MLLO;;;AKOR;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA,kBL3CU;EK4CV,OLzCO;EK0CP","file":"main.css"} \ No newline at end of file diff --git a/css/main.scss b/css/main.scss new file mode 100644 index 0000000..8ea04ec --- /dev/null +++ b/css/main.scss @@ -0,0 +1,48 @@ +@import 'colours'; +@import 'variables'; +@import 'form'; +@import 'header'; +@import 'footer'; +@import 'alert'; + +object *{ + fill: $white; +} +*, *:before, *:after{ + -webkit-box-sizing: inherit; + -moz-box-sizing: inherit; + box-sizing: inherit; +} +html{ + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html, body{ + margin: 0; + height: 100%; +} +body{ + display: flex; + flex-direction: column; + font-family: system-ui, sans-serif; +} +main{ + flex: 1 0 auto; +} + +.layout-wrapper{ + width: 100%; + max-width: 1240px; + padding: 0 20px; + margin: 0 auto; +} +.banner{ + margin: 0 auto; + width: 100%; + height: 200px; + background-color: $gunmetal; + color: $white; + margin-bottom: 12px; +} + diff --git a/css/variables.scss b/css/variables.scss new file mode 100644 index 0000000..c0aeab7 --- /dev/null +++ b/css/variables.scss @@ -0,0 +1,6 @@ +$zi-high: 30; +$zi-med: 20; +$zi-low: 10; +$zi-ground: 0; +$zi-below: -1; + diff --git a/elo.php b/elo.php new file mode 100644 index 0000000..b15ab01 --- /dev/null +++ b/elo.php @@ -0,0 +1,59 @@ + $dbTeam['name'], + 'players' => [], + 'playerRating' => 0, + 'expected' => NULL, + 'score' => NULL, + ]; + $teamPlayers = 0; + + $players = getTeamPlayers($conn, $dbTeam['id']); + foreach($players as $player){ + $team['players'][] = [ + 'ign' => $player['ign'], + 'rating' => $player['rating'], + 'kfactor' => 40, + ]; + $team['playerRating'] += $player['rating']; + $teamPlayers++; + } + + $team['playerRating'] = $team['playerRating']/$teamPlayers; + $teams[] = $team; + +} + +//die("Db stuff only"); + +// Expected result of the match +// 1/(1+10^((OpponentRating - Your rating)/400)) +// this is for bo1 +// TODO: +$teams[0]['expected'] = 1 / ( 1 + ( pow( 10 , ( $teams[1]['playerRating'] - $teams[0]['playerRating'] ) / 400 ) ) ); +$teams[1]['expected'] = 1 / ( 1 + ( pow( 10 , ( $teams[0]['playerRating'] - $teams[1]['playerRating'] ) / 400 ) ) ); + +$teams[0]['score'] = 1; +$teams[1]['score'] = 0; + +$t = 1; +$i = 1; + +?> + diff --git a/images/injected.jpg b/images/injected.jpg new file mode 100755 index 0000000000000000000000000000000000000000..e549b23a11420fec2774ba1e0ca1d498da0e2703 GIT binary patch literal 113617 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�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 z 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℘g!ii?R;h(PTAX_Ng=vjTyDK4wey=T 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 literal 0 HcmV?d00001 diff --git a/images/mite.svg b/images/mite.svg new file mode 100755 index 0000000..b628cbf --- /dev/null +++ b/images/mite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/svgrepo b/images/svgrepo new file mode 100644 index 0000000..8cb6f71 --- /dev/null +++ b/images/svgrepo @@ -0,0 +1 @@ +mite is from svgrepo.com diff --git a/include/db_connect.inc.php b/include/db_connect.inc.php new file mode 100644 index 0000000..022cd01 --- /dev/null +++ b/include/db_connect.inc.php @@ -0,0 +1,20 @@ + "localhost", + 'username' => "admin", + 'password' => "password", + 'database' => "tournaments" +]; + +// Create connection +$conn = new mysqli($dbVars['servername'], $dbVars['username'], $dbVars['password'], $dbVars['database']); + +// Check connection +if ($conn->connect_error) { + die("Connection failed: " . $conn->connect_error); +} + +//echo "Connected successfully"; + +?> diff --git a/index.php b/index.php new file mode 100644 index 0000000..bdcffd2 --- /dev/null +++ b/index.php @@ -0,0 +1,51 @@ + 'Tournamite', + 'description' => 'Index description', + 'keywords' => 'tournamite, tournament, tourney' + ]; + require_once('partial/head.php'); +?> + + + +
+ + +
+
+
+ +
+ View all + + Current Tournaments + + + +
+ +
+ + + + + + diff --git a/login.php b/login.php new file mode 100644 index 0000000..9fdfa25 --- /dev/null +++ b/login.php @@ -0,0 +1,60 @@ + + + 'Login', + 'description' => 'Login description', + 'keywords' => '' + ]; + require_once('partial/head.php'); +?> + + + + + + +
+ +

Login

+ + +

+ +

+ + +
+ + + value="" placeholder="Username"> + + + + + +
+ +

Don't have an account?

+

Sign Up

+ +
+ + + + + diff --git a/logout.php b/logout.php new file mode 100644 index 0000000..0430710 --- /dev/null +++ b/logout.php @@ -0,0 +1,5 @@ + diff --git a/match.php b/match.php new file mode 100644 index 0000000..36d3396 --- /dev/null +++ b/match.php @@ -0,0 +1,43 @@ + + + + + +

match x

+

tournament

+ +
team1
+vs +
team2
+ + +

Round x

+ +
+

Admin

+ Team1 won + Team2 won + Draw +
+ + + + +
player1
player2
+ +

Round y

+ + + + +
player1
player2
+ +

Round z

+
starts 15 aug 2022 @15:00
+ + + diff --git a/matchmaking.php b/matchmaking.php new file mode 100644 index 0000000..ffe5745 --- /dev/null +++ b/matchmaking.php @@ -0,0 +1,31 @@ + + diff --git a/mmr.php b/mmr.php new file mode 100644 index 0000000..3206ef4 --- /dev/null +++ b/mmr.php @@ -0,0 +1,31 @@ + + + + + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..32af515 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2973 @@ +{ + "name": "tournamite", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "devDependencies": { + "cssnano": "^5.1.7", + "cssnano-preset-advanced": "^5.3.3", + "postcss": "^8.4.13", + "postcss-cli": "^9.1.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", + "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.20.3", + "caniuse-lite": "^1.0.30001335", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", + "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001332", + "electron-to-chromium": "^1.4.118", + "escalade": "^3.1.1", + "node-releases": "^2.0.3", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001341", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001341.tgz", + "integrity": "sha512-2SodVrFFtvGENGCv0ChVJIDQ0KPaS1cg7/qtfMaICgeMolDdo/Z2OD32F0Aq9yl6F4YFwGPBS5AaPqNYiW4PoA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/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, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/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 + }, + "node_modules/colord": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", + "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", + "dev": true + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz", + "integrity": "sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.7.tgz", + "integrity": "sha512-pVsUV6LcTXif7lvKKW9ZrmX+rGRzxkEdJuVJcp5ftUjWITgwam5LMZOgaTvUrWPkcORBey6he7JKb4XAJvrpKg==", + "dev": true, + "dependencies": { + "cssnano-preset-default": "^5.2.7", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-advanced": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.3.tgz", + "integrity": "sha512-AB9SmTSC2Gd8T7PpKUsXFJ3eNsg7dc4CTZ0+XAJ29MNxyJsrCEk7N1lw31bpHrsQH2PVJr21bbWgGAfA9j0dIA==", + "dev": true, + "dependencies": { + "autoprefixer": "^10.3.7", + "cssnano-preset-default": "^5.2.7", + "postcss-discard-unused": "^5.1.0", + "postcss-merge-idents": "^5.1.1", + "postcss-reduce-idents": "^5.2.0", + "postcss-zindex": "^5.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.7.tgz", + "integrity": "sha512-JiKP38ymZQK+zVKevphPzNSGHSlTI+AOwlasoSRtSVMUU285O7/6uZyd5NbW92ZHp41m0sSHe6JoZosakj63uA==", + "dev": true, + "dependencies": { + "css-declaration-sorter": "^6.2.2", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "postcss-convert-values": "^5.1.0", + "postcss-discard-comments": "^5.1.1", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.4", + "postcss-merge-rules": "^5.1.1", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.2", + "postcss-minify-selectors": "^5.2.0", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.0", + "postcss-normalize-repeat-style": "^5.1.0", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.0", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.1", + "postcss-reduce-initial": "^5.1.0", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.137", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz", + "integrity": "sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/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, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", + "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", + "dev": true, + "dependencies": { + "array-union": "^3.0.1", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.7", + "ignore": "^5.1.9", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/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, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/lilconfig": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", + "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz", + "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "8.4.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.13.tgz", + "integrity": "sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.3", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-cli": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-9.1.0.tgz", + "integrity": "sha512-zvDN2ADbWfza42sAnj+O2uUWyL0eRL1V+6giM2vi4SqTR3gTYy8XzcpfwccayF2szcUif0HMmXiEaDv9iEhcpw==", + "dev": true, + "dependencies": { + "chokidar": "^3.3.0", + "dependency-graph": "^0.11.0", + "fs-extra": "^10.0.0", + "get-stdin": "^9.0.0", + "globby": "^12.0.0", + "picocolors": "^1.0.0", + "postcss-load-config": "^3.0.0", + "postcss-reporter": "^7.0.0", + "pretty-hrtime": "^1.0.3", + "read-cache": "^1.0.0", + "slash": "^4.0.0", + "yargs": "^17.0.0" + }, + "bin": { + "postcss": "index.js" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.0.tgz", + "integrity": "sha512-GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz", + "integrity": "sha512-5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-unused": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz", + "integrity": "sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-merge-idents": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz", + "integrity": "sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==", + "dev": true, + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.4.tgz", + "integrity": "sha512-hbqRRqYfmXoGpzYKeW0/NCZhvNyQIlQeWVSao5iKWdyx7skLvCfQFGIUsP9NUs3dSbPac2IC4Go85/zG+7MlmA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.1.tgz", + "integrity": "sha512-8wv8q2cXjEuCcgpIB1Xx1pIy8/rhMPIQqYKNzEdyx37m6gpq83mQQdCxgIkFgliyEnKvdwJf/C61vN4tQDq4Ww==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dev": true, + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.2.tgz", + "integrity": "sha512-aEP+p71S/urY48HWaRHasyx4WHQJyOYaKpQ6eXl8k0kxg66Wt/30VR6/woh8THgcpRbonJD5IeD+CzNhPi1L8g==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz", + "integrity": "sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz", + "integrity": "sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz", + "integrity": "sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz", + "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dev": true, + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz", + "integrity": "sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw==", + "dev": true, + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-idents": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz", + "integrity": "sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", + "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reporter": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz", + "integrity": "sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==", + "dev": true, + "dependencies": { + "picocolors": "^1.0.0", + "thenby": "^1.3.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/postcss-zindex": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz", + "integrity": "sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylehacks": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz", + "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/thenby": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz", + "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==", + "dev": true + }, + "node_modules/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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true, + "engines": { + "node": ">=12" + } + } + }, + "dependencies": { + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", + "dev": true + }, + "autoprefixer": { + "version": "10.4.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", + "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", + "dev": true, + "requires": { + "browserslist": "^4.20.3", + "caniuse-lite": "^1.0.30001335", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "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" + } + }, + "browserslist": { + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", + "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001332", + "electron-to-chromium": "^1.4.118", + "escalade": "^3.1.1", + "node-releases": "^2.0.3", + "picocolors": "^1.0.0" + } + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001341", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001341.tgz", + "integrity": "sha512-2SodVrFFtvGENGCv0ChVJIDQ0KPaS1cg7/qtfMaICgeMolDdo/Z2OD32F0Aq9yl6F4YFwGPBS5AaPqNYiW4PoA==", + "dev": true + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.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 + }, + "colord": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", + "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", + "dev": true + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + }, + "css-declaration-sorter": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz", + "integrity": "sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg==", + "dev": true, + "requires": {} + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.7.tgz", + "integrity": "sha512-pVsUV6LcTXif7lvKKW9ZrmX+rGRzxkEdJuVJcp5ftUjWITgwam5LMZOgaTvUrWPkcORBey6he7JKb4XAJvrpKg==", + "dev": true, + "requires": { + "cssnano-preset-default": "^5.2.7", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-advanced": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.3.tgz", + "integrity": "sha512-AB9SmTSC2Gd8T7PpKUsXFJ3eNsg7dc4CTZ0+XAJ29MNxyJsrCEk7N1lw31bpHrsQH2PVJr21bbWgGAfA9j0dIA==", + "dev": true, + "requires": { + "autoprefixer": "^10.3.7", + "cssnano-preset-default": "^5.2.7", + "postcss-discard-unused": "^5.1.0", + "postcss-merge-idents": "^5.1.1", + "postcss-reduce-idents": "^5.2.0", + "postcss-zindex": "^5.1.0" + } + }, + "cssnano-preset-default": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.7.tgz", + "integrity": "sha512-JiKP38ymZQK+zVKevphPzNSGHSlTI+AOwlasoSRtSVMUU285O7/6uZyd5NbW92ZHp41m0sSHe6JoZosakj63uA==", + "dev": true, + "requires": { + "css-declaration-sorter": "^6.2.2", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "postcss-convert-values": "^5.1.0", + "postcss-discard-comments": "^5.1.1", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.4", + "postcss-merge-rules": "^5.1.1", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.2", + "postcss-minify-selectors": "^5.2.0", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.0", + "postcss-normalize-repeat-style": "^5.1.0", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.0", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.1", + "postcss-reduce-initial": "^5.1.0", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + } + }, + "cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "dev": true, + "requires": {} + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + } + }, + "dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "electron-to-chromium": { + "version": "1.4.137", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz", + "integrity": "sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "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" + } + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "dev": true + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globby": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz", + "integrity": "sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==", + "dev": true, + "requires": { + "array-union": "^3.0.1", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.7", + "ignore": "^5.1.9", + "merge2": "^1.4.1", + "slash": "^4.0.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "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 + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "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 + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "lilconfig": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", + "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true + }, + "node-releases": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz", + "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true + }, + "nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "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 + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "postcss": { + "version": "8.4.13", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.13.tgz", + "integrity": "sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==", + "dev": true, + "requires": { + "nanoid": "^3.3.3", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-cli": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-9.1.0.tgz", + "integrity": "sha512-zvDN2ADbWfza42sAnj+O2uUWyL0eRL1V+6giM2vi4SqTR3gTYy8XzcpfwccayF2szcUif0HMmXiEaDv9iEhcpw==", + "dev": true, + "requires": { + "chokidar": "^3.3.0", + "dependency-graph": "^0.11.0", + "fs-extra": "^10.0.0", + "get-stdin": "^9.0.0", + "globby": "^12.0.0", + "picocolors": "^1.0.0", + "postcss-load-config": "^3.0.0", + "postcss-reporter": "^7.0.0", + "pretty-hrtime": "^1.0.3", + "read-cache": "^1.0.0", + "slash": "^4.0.0", + "yargs": "^17.0.0" + } + }, + "postcss-colormin": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.0.tgz", + "integrity": "sha512-GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-discard-comments": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz", + "integrity": "sha512-5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ==", + "dev": true, + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "dev": true, + "requires": {} + }, + "postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "dev": true, + "requires": {} + }, + "postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "dev": true, + "requires": {} + }, + "postcss-discard-unused": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz", + "integrity": "sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + } + }, + "postcss-merge-idents": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz", + "integrity": "sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==", + "dev": true, + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-merge-longhand": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.4.tgz", + "integrity": "sha512-hbqRRqYfmXoGpzYKeW0/NCZhvNyQIlQeWVSao5iKWdyx7skLvCfQFGIUsP9NUs3dSbPac2IC4Go85/zG+7MlmA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.0" + } + }, + "postcss-merge-rules": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.1.tgz", + "integrity": "sha512-8wv8q2cXjEuCcgpIB1Xx1pIy8/rhMPIQqYKNzEdyx37m6gpq83mQQdCxgIkFgliyEnKvdwJf/C61vN4tQDq4Ww==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dev": true, + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.2.tgz", + "integrity": "sha512-aEP+p71S/urY48HWaRHasyx4WHQJyOYaKpQ6eXl8k0kxg66Wt/30VR6/woh8THgcpRbonJD5IeD+CzNhPi1L8g==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz", + "integrity": "sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "dev": true, + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz", + "integrity": "sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz", + "integrity": "sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz", + "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dev": true, + "requires": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-ordered-values": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz", + "integrity": "sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw==", + "dev": true, + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-reduce-idents": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz", + "integrity": "sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-reduce-initial": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", + "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-reporter": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz", + "integrity": "sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==", + "dev": true, + "requires": { + "picocolors": "^1.0.0", + "thenby": "^1.3.4" + } + }, + "postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + } + }, + "postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "postcss-zindex": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz", + "integrity": "sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==", + "dev": true, + "requires": {} + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dev": true, + "requires": { + "pify": "^2.3.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "stylehacks": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz", + "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "postcss-selector-parser": "^6.0.4" + } + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + }, + "thenby": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz", + "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==", + "dev": true + }, + "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" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, + "yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + } + }, + "yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..f2f1b18 --- /dev/null +++ b/package.json @@ -0,0 +1,8 @@ +{ + "devDependencies": { + "cssnano": "^5.1.7", + "cssnano-preset-advanced": "^5.3.3", + "postcss": "^8.4.13", + "postcss-cli": "^9.1.0" + } +} diff --git a/partial/footer.php b/partial/footer.php new file mode 100644 index 0000000..4f8ed86 --- /dev/null +++ b/partial/footer.php @@ -0,0 +1,8 @@ +
+
+

Website by Aney

+
+
+ + + diff --git a/partial/head.php b/partial/head.php new file mode 100644 index 0000000..8de7246 --- /dev/null +++ b/partial/head.php @@ -0,0 +1,21 @@ + + + + + + + + + + <?php if(isset($meta) && array_key_exists('title', $meta)){ echo($meta['title']);}else{ echo('Tournamite'); } ?> + + + + + + + + + + + diff --git a/partial/header.php b/partial/header.php new file mode 100644 index 0000000..161ab5c --- /dev/null +++ b/partial/header.php @@ -0,0 +1,32 @@ +
+ +
+ + + + Tournamite + + + +
+ +
+ diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..9fdd5be --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,8 @@ +module.exports = { + plugins: [ + require('cssnano')({ + preset: 'advanced', + }), + ], +}; + diff --git a/profile.php b/profile.php new file mode 100644 index 0000000..833e083 --- /dev/null +++ b/profile.php @@ -0,0 +1,39 @@ + 'Profile', + 'description' => 'Profile page', + 'keywords' => '' + ]; + require_once('partial/head.php'); +?> + + + + +
+ +

Welcome,

+ +

Your Tournaments

+ +

Tournaments

+

x

+
your team
vs
othre team
+ +

Previous Tournaments

+

y

+
3rd place
+ +

Game Accounts

+

Team

+ +
+ + + + + diff --git a/repository/teamRepository.php b/repository/teamRepository.php new file mode 100644 index 0000000..e17c0e4 --- /dev/null +++ b/repository/teamRepository.php @@ -0,0 +1,149 @@ +prepare($sql); + $stmt->bind_param('i', $id); + + $line = []; + + $stmt->execute(); + if ($result = $stmt->get_result()){ + //$user = $result->fetch_assoc(); + while ($obj = $result->fetch_assoc()){ + $line[$obj['id']] = [ + 'id' =>$obj['id'], + 'username' =>$obj['username'], + 'password' =>$obj['password'] + ]; + } + + } + + return $line; + + //$result->close(); + + //var_dump($line); + +} + + +function getMatchTeams($conn, $id){ + + // With prepared statements (security reasons) + $sql = " + SELECT t.id, t.name + FROM team t + INNER JOIN match__team mt ON mt.team = t.id + INNER JOIN `match` m ON m.id = mt.`match` + WHERE m.id = ? + "; + $stmt = $conn->prepare($sql); + $stmt->bind_param('i', $id); + + $line = []; + + $stmt->execute(); + if ($result = $stmt->get_result()){ + //$user = $result->fetch_assoc(); + while ($obj = $result->fetch_assoc()){ + $line[$obj['id']] = [ + 'id' =>$obj['id'], + 'name' =>$obj['name'], + ]; + } + + } + + return $line; + + //$result->close(); + + //var_dump($line); + +} + +function getTeamPlayers($conn, $id){ + + // With prepared statements (security reasons) + $sql = " + SELECT ga.id, ga.ign, ga.rating, t.id AS team_id + FROM game_account ga + INNER JOIN team__player tp ON tp.game_account = ga.id + INNER JOIN team t ON tp.team = t.id + WHERE t.id = ? + "; + $stmt = $conn->prepare($sql); + $stmt->bind_param('i', $id); + + $line = []; + + $stmt->execute(); + if ($result = $stmt->get_result()){ + //$user = $result->fetch_assoc(); + while ($obj = $result->fetch_assoc()){ + $line[$obj['id']] = [ + 'id' =>$obj['id'], + 'ign' =>$obj['ign'], + 'rating' =>$obj['rating'], + 'team_id' =>$obj['team_id'], + ]; + } + + } + + return $line; + + //$result->close(); + + //var_dump($line); +} + +function getTournaments($conn){ + + // With prepared statements (security reasons) + $sql = " + SELECT * + FROM tournament t + WHERE dateTo >= curdate() + "; + $stmt = $conn->prepare($sql); + + $line = []; + + $stmt->execute(); + if ($result = $stmt->get_result()){ + while ($obj = $result->fetch_assoc()){ + $line[$obj['id']] = [ + 'id' =>$obj['id'], + 'name' =>$obj['name'], + 'game' =>$obj['game'], + 'playform' =>$obj['platform'], + 'dateFrom' =>$obj['dateFrom'], + 'dateTo' =>$obj['dateTo'], + ]; + } + + } + + return $line; + + //$result->close(); + + var_dump($line); + +} + +//getMatchTeams($conn, 1); +//getTeamPlayers($conn, 1); +getTournaments($conn); + +//$result = $conn->query("SELECT * FROM user LIMIT 10"); + +//$conn->close(); + +?> diff --git a/repository/tournamentRepository.php b/repository/tournamentRepository.php new file mode 100644 index 0000000..4531621 --- /dev/null +++ b/repository/tournamentRepository.php @@ -0,0 +1,42 @@ +prepare($sql); + + if($game){ + $stmt->bind_param('i', $game); + } + + $tournaments = []; + + $stmt->execute(); + if ($result = $stmt->get_result()){ + while ($obj = $result->fetch_assoc()){ + $tournaments[$obj['id']] = [ + 'id' =>$obj['id'], + 'name' =>$obj['name'], + 'game' =>$obj['game'], + 'platform' =>$obj['platform'], + 'dateFrom' =>$obj['dateFrom'], + 'dateTo' =>$obj['dateTo'], + 'teamLimit' =>$obj['teamLimit'], + ]; + } + + } + + return $tournaments; + +} + +//echo (count(getTournaments($conn, 1))); + +?> diff --git a/repository/userRepository.php b/repository/userRepository.php new file mode 100644 index 0000000..6607718 --- /dev/null +++ b/repository/userRepository.php @@ -0,0 +1,91 @@ +prepare($sql); + $stmt->bind_param('s', $username); + + $stmt->execute(); + + $user = array(); + if ($result = $stmt->get_result()){ + while ($obj = $result->fetch_assoc()){ + $user = [ + 'password' => $obj['password'], + 'unique_id' => $obj['unique_id'], + ]; + } + } + + if ($user and password_verify($password, $user['password'])){ + return $user['unique_id']; + } + + return false; + + } catch(Throwable $t) { + # Could be Error/Exception classes, that are both Throwable + $errorMessage = "Throwable: ".$t->getCode().": ".$t->getMessage()."\n". + "Line number ".$t->getLine()." in file ".$t->getFile()."\n". + "Stack Trace: ". $t->getTrace()."\n". + date('Y-m-d h:i:s A'); + + error_log($errorMessage, 0); + # Email to the admin + return NULL; + } + +} + +function registerUser($conn, $username, $password, $password_repeat){ + + // Both passwords must match + if ($password !== $password_repeat){ + return false; + } + + // First check if the username is taken. + $sql = "SELECT 1 FROM user WHERE username = ?"; + $stmt = $conn->prepare($sql); + $stmt->bind_param('s', $username); + $stmt->execute(); + $stmt->store_result(); + if($stmt->num_rows > 0){ return false; } + + // Hash and Secure password with a salt. + // https://www.php.net/manual/en/function.password-hash.php + $password = password_hash($password, PASSWORD_BCRYPT, ['cost' => 10]); + + // needs a unique id also for cookies, uniqID, with a hash appended + $uniqueId = generateUniqueId(); + + // Now add the user details to the DB + $sql = "INSERT INTO user (username, password, unique_id) VALUES (?, ?, ?)"; + + $stmt = $conn->prepare($sql); + $stmt->bind_param('sss', $username, $password, $uniqueId); + + if ($stmt->execute()){ + return $uniqueId; + } + + return false; + +} + +function generateUniqueId(){ + return uniqid() . '_' . md5(mt_rand()); +} + diff --git a/scripts/sanitise.php b/scripts/sanitise.php new file mode 100644 index 0000000..3c43318 --- /dev/null +++ b/scripts/sanitise.php @@ -0,0 +1,17 @@ +array("regexp"=>"/^[a-zA-Z\-\s]+$/")))){ + return $field; + }else{ + return FALSE; + } + +} + +?> diff --git a/scripts/userLogged.php b/scripts/userLogged.php new file mode 100644 index 0000000..50016e8 --- /dev/null +++ b/scripts/userLogged.php @@ -0,0 +1,66 @@ + "error", + "message" => "Something went wrong! The admin has been informed" + ]; + }elseif ($uniqueId === false){ + $notification = [ + "type" => "alert", + "message" => "Login details incorrect; Try again" + ]; + }else{ + // 1 hour cookie to store userLogged username + setcookie("userLogged", $uniqueId, time()+3600); + // Needed as new cookies aren't checked until page reload + header("Location: ./profile.php"); + die(); + } + + return $notification; + + } + + function userLogged(){ + + if (isset($_COOKIE['userLogged']) and $_COOKIE['userLogged']){ + // User is loged in, redirect to profile + echo('test userLogged'); + $url = "/profile.php"; + header("Location: ".$url); + die(); + } + + } + + # If the user account can access the page. + # username/uniqueId + # permissionRequired + function userPermissed(){ + + } + + function logOut(){ + + if (isset($_COOKIE['userLogged'])) { + unset($_COOKIE['userLogged']); + setcookie('userLogged', null, -1, '/'); + return true; + } else { + return false; + } + + header("Location: /"); + die(); + + } + +?> diff --git a/signup.php b/signup.php new file mode 100644 index 0000000..f58aaea --- /dev/null +++ b/signup.php @@ -0,0 +1,76 @@ + + + 'Register', + 'description' => 'Register for an account', + 'keywords' => '' + ]; + require_once('partial/head.php'); +?> + + + + "success", + "message" => "Account ".$username." registered" + ]; + }else{ + $notification = [ + "type" => "error", + "message" => "Cannot register user account. Maybe your username isn't very original" + ]; + } + } +?> + + +
+ +

Register

+ + +
+ +
+ + +
+ + + + + + + + + + + +
+ +
+ + + + + diff --git a/teamStuff.php b/teamStuff.php new file mode 100644 index 0000000..b6f0798 --- /dev/null +++ b/teamStuff.php @@ -0,0 +1,77 @@ + $team){ +?> +
+ + + + + + + + + + + + + +
Nameratingexpectedresult
+ + + + + + + + + + + + + + + + + + + + + + + + +
Namekfactorprepost
Average
+
+ +
versus
+ + diff --git a/tournament-admin.php b/tournament-admin.php new file mode 100644 index 0000000..ad3e478 --- /dev/null +++ b/tournament-admin.php @@ -0,0 +1,10 @@ +tourney name, desc, images, etc + +tourney teams + +tourney matches +rounds (results can be edited in here) + +tourney admins + + diff --git a/tournament.php b/tournament.php new file mode 100644 index 0000000..5cb42cf --- /dev/null +++ b/tournament.php @@ -0,0 +1,28 @@ + + +

Tourney name

+
from: 12 - to: 124
+ +

Live matches

+ +
current round: 3
+
team a: 1
+
team b: 1
+
+ +

Upcoming matches

+x v y, starts 15th@2 + +

Previous matches

+ +
team a: 2
+
team b: 1
+
+ + + diff --git a/tournaments.php b/tournaments.php new file mode 100644 index 0000000..b9c6c81 --- /dev/null +++ b/tournaments.php @@ -0,0 +1,29 @@ + + + + + + +

Tournaments

+ +
+

tourney

+
starts@224
+
+ +
+

tourney

+
starts@224
+
+ +
+

tourney

+
starts@224
+
+ + +