From fc6a5eef3ed1502c0ba0f280c0d1c3fe93513554 Mon Sep 17 00:00:00 2001 From: kjuulh Date: Mon, 15 Nov 2021 14:12:18 +0100 Subject: [PATCH] Add pwa --- src/client/next.config.js | 23 +- src/client/package.json | 1 + src/client/{src => }/public/favicon.ico | Bin src/client/public/icons/icon-128x128.png | Bin 0 -> 9273 bytes src/client/public/icons/icon-144x144.png | Bin 0 -> 10298 bytes src/client/public/icons/icon-152x152.png | Bin 0 -> 10886 bytes src/client/public/icons/icon-16x16.png | Bin 0 -> 761 bytes src/client/public/icons/icon-192x192.png | Bin 0 -> 13803 bytes src/client/public/icons/icon-32x32.png | Bin 0 -> 1576 bytes src/client/public/icons/icon-384x384.png | Bin 0 -> 29239 bytes src/client/public/icons/icon-512x512.png | Bin 0 -> 23659 bytes src/client/public/icons/icon-72x72.png | Bin 0 -> 5142 bytes src/client/public/icons/icon-96x96.png | Bin 0 -> 6836 bytes src/client/public/manifest.json | 53 + src/client/public/sw.js | 1 + src/client/{src => }/public/vercel.svg | 0 src/client/public/workbox-4a677df8.js | 1 + src/client/src/pages/_app.tsx | 37 +- src/client/yarn.lock | 1746 +++++++++++++++++++++- 19 files changed, 1832 insertions(+), 30 deletions(-) rename src/client/{src => }/public/favicon.ico (100%) create mode 100644 src/client/public/icons/icon-128x128.png create mode 100644 src/client/public/icons/icon-144x144.png create mode 100644 src/client/public/icons/icon-152x152.png create mode 100644 src/client/public/icons/icon-16x16.png create mode 100644 src/client/public/icons/icon-192x192.png create mode 100644 src/client/public/icons/icon-32x32.png create mode 100644 src/client/public/icons/icon-384x384.png create mode 100644 src/client/public/icons/icon-512x512.png create mode 100644 src/client/public/icons/icon-72x72.png create mode 100644 src/client/public/icons/icon-96x96.png create mode 100644 src/client/public/manifest.json create mode 100644 src/client/public/sw.js rename src/client/{src => }/public/vercel.svg (100%) create mode 100644 src/client/public/workbox-4a677df8.js diff --git a/src/client/next.config.js b/src/client/next.config.js index 0d60710..fa3370c 100644 --- a/src/client/next.config.js +++ b/src/client/next.config.js @@ -1,3 +1,20 @@ -module.exports = { - reactStrictMode: true, -} +const withPWA = require("next-pwa"); +const runtimeCaching = require("next-pwa/cache"); + +const { PHASE_DEVELOPMENT_SERVER } = require("next/constants"); + +module.exports = (phase, { defaultConfig }) => { + if (phase === PHASE_DEVELOPMENT_SERVER) { + return { + reactStrictMode: true, + }; + } + + return withPWA({ + reactStrictMode: true, + pwa: { + dest: "public", + runtimeCaching, + }, + }); +}; diff --git a/src/client/package.json b/src/client/package.json index 5af3dc5..2448249 100644 --- a/src/client/package.json +++ b/src/client/package.json @@ -10,6 +10,7 @@ "dependencies": { "@microsoft/signalr": "^6.0.0", "next": "12.0.3", + "next-pwa": "^5.4.0", "react": "17.0.2", "react-dom": "17.0.2", "tailwindcss": "^2.2.19" diff --git a/src/client/src/public/favicon.ico b/src/client/public/favicon.ico similarity index 100% rename from src/client/src/public/favicon.ico rename to src/client/public/favicon.ico diff --git a/src/client/public/icons/icon-128x128.png b/src/client/public/icons/icon-128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..b6f3bdee4ec64b23afef2b29f5e38a9d402a3daa GIT binary patch literal 9273 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 b009601PhU};zf{Q00000NkvXXu0mjf4yn#S literal 0 HcmV?d00001 diff --git a/src/client/public/icons/icon-144x144.png b/src/client/public/icons/icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..35529f74188c00ac048d33f4c3a9d54d6ded0177 GIT binary patch literal 10298 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 M07*qoM6N<$f)y0R=l}o! literal 0 HcmV?d00001 diff --git a/src/client/public/icons/icon-152x152.png b/src/client/public/icons/icon-152x152.png new file mode 100644 index 0000000000000000000000000000000000000000..3543e09af384dc077f387c9f8f06a4fa4babcbb5 GIT binary patch literal 10886 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 literal 0 HcmV?d00001 diff --git a/src/client/public/icons/icon-16x16.png b/src/client/public/icons/icon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..144f30d5572d3a898b6fdf0dc11a430a1e970006 GIT binary patch literal 761 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%0ALu={fHf%pFa5w)6MJK@A`|l4KVBU@X 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 literal 0 HcmV?d00001 diff --git a/src/client/public/icons/icon-32x32.png b/src/client/public/icons/icon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..c29c45be95b74c366ab7dadf3f1924f15d18bb35 GIT binary patch literal 1576 zcmV+@2G{wCP)6vw~!w{JuilJ_G8A<{8>jDTsZp*Bj4j^jA!*bCEGSQIr#OaGu6HOIu7vQcaD z(KJpj+LWXWrDZl|2AYqAgB14ET&0KzYl@ zzXMQsf}=o%P=NLG!``|0Ai##oEfE3^1pv|kgaT*=$jRcQZSR8+>P?|x3Y<3V2oX?G z8vu{$xB?M40kYotS=|mk1%?gJEe7R&03kucH{z0ulXniPHuV3nP0Cw#D*(zXFxsMy z1A3~_>m7!?={A7KJvuNXt9ZutBR(roZrGg;N>7irJOAJDr5@D{4QS1s?$w;5c;%Cn z9Y=izC~MrE#0cr%j|za{m?u7-xlQXcfVydqEKtCjC?MmV1XdPIF9%k}fb$c$#qp+q z$ihNmVd0c9zim(7HFu=Lcr3K?#$De9{L`~Mpuz&N(J|=nm>@#;^l`8x2Y{0>ZYdC2 zImDgpLd@B2_}{+oLqRp5WN({^?$1OCJ8BVDW@pO-gyK@d(Nx}892p8h;CQfI7T68# z00mfo0lH?%(S5lC+Uh1CF&gp5J0b04U3W(oFM~Kt4122`y}I6ed(v}#ES9{~Sz>+= z!c75MRK(P^wU<+n`QoThgsjYP0SqjMu@hb87tm9A)Afl`iq;dx{@(-$UOWL2*f=RM*2{dG#!LP|)PEO8RTbC&xQlsEDffVb7I ztB3gyGr(b?qC;Ko2B6K!+YO)~ICCM!KmYWY02qJlgubYOujAr5Ms=YZK&>+G3?Y~o zwdqZWBSOXmp!ZfEZZ56n%lE9pSTf%oAV;MkAc+%qZUiH_U&TX7diz+gEX6pP0E7@% z3OEY%SSf@8z)$M^4dePKuB2S!L)Iva>L-V$pb2_Zoe z7l6UUA!D-@&n5`)^=4NC^|~sbxylz}lftBa+#Nufrvt&{NxKR_L_)6t9tME3Q(Q@Q zDWFpr)d@otxBy^Q^j0NA!QLmVhXLrj?ZAx;R};ISFsfe|s=z@ItO{Gb6n@iOa30q; zr}SuUvtn�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 literal 0 HcmV?d00001 diff --git a/src/client/public/icons/icon-512x512.png b/src/client/public/icons/icon-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..6b1e99828063f602a0df95e24965ff529b968017 GIT binary patch literal 23659 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 K@};uxg8m1r$a81_ literal 0 HcmV?d00001 diff --git a/src/client/public/icons/icon-72x72.png b/src/client/public/icons/icon-72x72.png new file mode 100644 index 0000000000000000000000000000000000000000..b6bddb48fc248c94a826859e3efa948b0217a2c6 GIT binary patch literal 5142 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 Eg23w)DgXcg literal 0 HcmV?d00001 diff --git a/src/client/public/icons/icon-96x96.png b/src/client/public/icons/icon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..d5bfcf45e011d83a06162063557e91308d9ca7b5 GIT binary patch literal 6836 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

Hs6&+wBY1?_(0H zu~M^uf!Tck?06C+a!Hh6;OXG`g8Z5cG8$U zoOP)kwISh#Ne+X3kR#VbRsx*##1ne+HP^i-Gd9=aj&FlbnwWh9U>@iPby|ZHAXP%J zv75Qa*1(T%r7U6Thcr0UR%&3IWA{gHhI3C*;HmEfT_estH-J?q)iN+fxM_+9Lb}nR zgT8-=0P2u%*#bF^x#m2kDsgEYzQjULu2G>F{$y(>XpK`GjFk|CPu(X&V?)J=dqRxl z5%^1p4h1Es3dtiDL?k)wEaw4=7_>lobW0q}hzU${8h<8{ip~97uIf2A<(X}*5sEmY zLzH#fTigR}rJVsDaxKKt@WLTKS3)Yd+Db()rV5ABFXCO{43YJN84}?;g97iwp=)y0 z&q)Buh`)pQZ)YigibR4GlDqebgA=2rA2{rQPU=K#h-?@HNf~h%h2;O{T-9?D;OIvl zAq~D(VRFWL!07EmG1P%m@5s*&&~c^M)&wfx_-OKQIH5NMUPW12^W5wPdj-LK)3WiqZn$F85>f@$ocWDyIo~`n9TwaqJzqJTM`CV4TzaQ zpddOQjZ=<4*n{PTe45IO04F{C@Bt+7a*eSJWo##s5MD(;0aKnxgAXf+^#m&4?&UpV z55V&dzh!iJk1U5gbB*S0M{*W${qJT|pz_Bo$}D`pv>UAu^#H!n43RA0grU#-R64 z-5KYDZyI=o9-%F;{~1r4<08O`%a*-q+x8Q_v{^uVpQ;p$4uKkLze# z-rFwrekB)sVOxg{j{GOt|MqyA9k(yR2J0@}U6?sBqLK(%q&307U)SS0Tsb5avN&^( z9N)G40EA!f7u-*RhwT0@_0w32^+fWm~z;e?qgs18;TQ_xx%|?ruX- zq#RPB$P+!$%?W6`ugyteU~g8j*} zA9~;!w1}4ZhlwIOz8ZdQBlJK2nph_stV-EIK8YR%9S?Uy*JB+S>B_d6ecq~f8J6b? z?WZV*z6{nKD2m?l4O<(KI6Cm`s}Oz_m9nA?ZBrd2kV3wnLH84V(E7uDBDb7p^PAj; zrvAUsSDFHM6w_Bx1UPotvH@Ho|EtA$pOPl?#W@1}?0Mn^2(KCYBPu0Ho;D87oSDNt8&NAXR3q<2WY*! z1KRF&(q}Sd2>H(?_rUiC1=MNA_ISz7{8Dl+EOAUu zay8spz<@`Ek`aJl!iIG#=FXd6qsj6DCu${~2n@`gei+=a#mTrbZ4$^qe`=p+%w&JU z2b}h|kQGRP&W>AB7YF{{uRinNst3{L{xGz;fma#-eI|6r%agRP8P>j4_MH*A`BhB z>VoLIgBe^;Knj;Q|7(%gsFfe!rQ0DRIa={hHvjSVrfY9hWaWE^e7|8i5p+X@aLyVK z!W9%p!8ylaIR><84WLwogl|bC?>3_-%{qxv6 z@KEesI$rcuC?G9yK2TN%zQ{EyDfcU~d=w>n9U*2&S5VZOn>CjXfh#qYB3~#4|B|w{ zP8TBnK2JESWTvJNkt_ks()rU~1c+A$mS&LrsjbtIrJ zlD;wu%#<^OsVJr=$_=r%`&44bUc7W2mS@X_qq6UyY;J0r;g^)V8Dk3xd6fEcwBLO6 zl0k`L4?7sbBmikx)R~k$ceInb7@QPh=|6)aIf1n4Dd|0+l?x&N4ZR)iiEeh&M^s5+4 z!TIs%vcvnjhq&p=#kGMd>1yP*CR{lmD`o_VCK%faqB|6oA&VU-hl?!~D_zg`f|amD zfSBcO3XYX8m+mOwtk%2jIQ%}|41Y@OYCgad58|bVp+Lu4A@G50;;y>#%G!w)m4B}? z`HP6S1sap9=wOC-5{5p#&3_rqO+xEHG70-55!e?A4-V?at{T6#bAs&eO}rkH>P&wP zK7R}n=Qvf8D+#qWcw)@4OU0tfy&mB@Y(mp=o!-&6I@$Jm8;{aX*3(eNUro&hANVf% z`bCS5)nsh}D(VF|m^o41INAi>&@~wKBS$BDW3kS+yE=ETY1_YfTW|LpVZ)%f?-m%A zm-#$o>f5R=ovFxhrV7gc;}Sm!mFZDoZcNm{"require"!==e&&(e+=".js");let s=Promise.resolve();return n[e]||(s=new Promise((async s=>{if("document"in self){const n=document.createElement("script");n.src=e,document.head.appendChild(n),n.onload=s}else importScripts(e),s()}))),s.then((()=>{if(!n[e])throw new Error(`Module ${e} didn’t register its module`);return n[e]}))},s=(s,n)=>{Promise.all(s.map(e)).then((e=>n(1===e.length?e[0]:e)))},n={require:Promise.resolve(s)};self.define=(s,t,i)=>{n[s]||(n[s]=Promise.resolve().then((()=>{let n={};const a={uri:location.origin+s.slice(1)};return Promise.all(t.map((s=>{switch(s){case"exports":return n;case"module":return a;default:return e(s)}}))).then((e=>{const s=i(...e);return n.default||(n.default=s),n}))})))}}define("./sw.js",["./workbox-4a677df8"],(function(e){"use strict";importScripts(),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"/_next/server/middleware-manifest.json",revision:"4TP9dQyuVPf41nJKlwzux"},{url:"/_next/static/4TP9dQyuVPf41nJKlwzux/_buildManifest.js",revision:"4TP9dQyuVPf41nJKlwzux"},{url:"/_next/static/4TP9dQyuVPf41nJKlwzux/_middlewareManifest.js",revision:"4TP9dQyuVPf41nJKlwzux"},{url:"/_next/static/4TP9dQyuVPf41nJKlwzux/_ssgManifest.js",revision:"4TP9dQyuVPf41nJKlwzux"},{url:"/_next/static/chunks/framework-91d7f78b5b4003c8.js",revision:"4TP9dQyuVPf41nJKlwzux"},{url:"/_next/static/chunks/main-a8edae0d785a1705.js",revision:"4TP9dQyuVPf41nJKlwzux"},{url:"/_next/static/chunks/pages/_app-ef3e3deee1621c8d.js",revision:"4TP9dQyuVPf41nJKlwzux"},{url:"/_next/static/chunks/pages/_error-2280fa386d040b66.js",revision:"4TP9dQyuVPf41nJKlwzux"},{url:"/_next/static/chunks/pages/index-28c504d08cef4fe2.js",revision:"4TP9dQyuVPf41nJKlwzux"},{url:"/_next/static/chunks/polyfills-5cd94c89d3acac5f.js",revision:"4TP9dQyuVPf41nJKlwzux"},{url:"/_next/static/chunks/webpack-49b6f2937c9ce9f4.js",revision:"4TP9dQyuVPf41nJKlwzux"},{url:"/_next/static/css/2ad7e60191df7f15.css",revision:"4TP9dQyuVPf41nJKlwzux"}],{ignoreURLParametersMatching:[]}),e.cleanupOutdatedCaches(),e.registerRoute("/",new e.NetworkFirst({cacheName:"start-url",plugins:[{cacheWillUpdate:async({request:e,response:s,event:n,state:t})=>s&&"opaqueredirect"===s.type?new Response(s.body,{status:200,statusText:"OK",headers:s.headers}):s}]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:gstatic)\.com\/.*/i,new e.CacheFirst({cacheName:"google-fonts-webfonts",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:31536e3})]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:googleapis)\.com\/.*/i,new e.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800})]}),"GET"),e.registerRoute(/\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i,new e.StaleWhileRevalidate({cacheName:"static-font-assets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800})]}),"GET"),e.registerRoute(/\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i,new e.StaleWhileRevalidate({cacheName:"static-image-assets",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\/_next\/image\?url=.+$/i,new e.StaleWhileRevalidate({cacheName:"next-image",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:mp3|wav|ogg)$/i,new e.CacheFirst({cacheName:"static-audio-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:mp4)$/i,new e.CacheFirst({cacheName:"static-video-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:js)$/i,new e.StaleWhileRevalidate({cacheName:"static-js-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:css|less)$/i,new e.StaleWhileRevalidate({cacheName:"static-style-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\/_next\/data\/.+\/.+\.json$/i,new e.StaleWhileRevalidate({cacheName:"next-data",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute(/\.(?:json|xml|csv)$/i,new e.NetworkFirst({cacheName:"static-data-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;const s=e.pathname;return!s.startsWith("/api/auth/")&&!!s.startsWith("/api/")}),new e.NetworkFirst({cacheName:"apis",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:16,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;return!e.pathname.startsWith("/api/")}),new e.NetworkFirst({cacheName:"others",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400})]}),"GET"),e.registerRoute((({url:e})=>!(self.origin===e.origin)),new e.NetworkFirst({cacheName:"cross-origin",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:3600})]}),"GET")})); diff --git a/src/client/src/public/vercel.svg b/src/client/public/vercel.svg similarity index 100% rename from src/client/src/public/vercel.svg rename to src/client/public/vercel.svg diff --git a/src/client/public/workbox-4a677df8.js b/src/client/public/workbox-4a677df8.js new file mode 100644 index 0000000..0e5400a --- /dev/null +++ b/src/client/public/workbox-4a677df8.js @@ -0,0 +1 @@ +define("./workbox-4a677df8.js",["exports"],(function(t){"use strict";try{self["workbox:core:6.2.4"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;return e.length>0&&(s+=` :: ${JSON.stringify(e)}`),s};class s extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}try{self["workbox:routing:6.2.4"]&&_()}catch(t){}const n=t=>t&&"object"==typeof t?t:{handle:t};class r{constructor(t,e,s="GET"){this.handler=n(e),this.match=t,this.method=s}setCatchHandler(t){this.catchHandler=n(t)}}class i extends r{constructor(t,e,s){super((({url:e})=>{const s=t.exec(e.href);if(s&&(e.origin===location.origin||0===s.index))return s.slice(1)}),e,s)}}class a{constructor(){this.t=new Map,this.i=new Map}get routes(){return this.t}addFetchListener(){self.addEventListener("fetch",(t=>{const{request:e}=t,s=this.handleRequest({request:e,event:t});s&&t.respondWith(s)}))}addCacheListener(){self.addEventListener("message",(t=>{if(t.data&&"CACHE_URLS"===t.data.type){const{payload:e}=t.data,s=Promise.all(e.urlsToCache.map((e=>{"string"==typeof e&&(e=[e]);const s=new Request(...e);return this.handleRequest({request:s,event:t})})));t.waitUntil(s),t.ports&&t.ports[0]&&s.then((()=>t.ports[0].postMessage(!0)))}}))}handleRequest({request:t,event:e}){const s=new URL(t.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:r,route:i}=this.findMatchingRoute({event:e,request:t,sameOrigin:n,url:s});let a=i&&i.handler;const o=t.method;if(!a&&this.i.has(o)&&(a=this.i.get(o)),!a)return;let c;try{c=a.handle({url:s,request:t,event:e,params:r})}catch(t){c=Promise.reject(t)}const h=i&&i.catchHandler;return c instanceof Promise&&(this.o||h)&&(c=c.catch((async n=>{if(h)try{return await h.handle({url:s,request:t,event:e,params:r})}catch(t){t instanceof Error&&(n=t)}if(this.o)return this.o.handle({url:s,request:t,event:e});throw n}))),c}findMatchingRoute({url:t,sameOrigin:e,request:s,event:n}){const r=this.t.get(s.method)||[];for(const i of r){let r;const a=i.match({url:t,sameOrigin:e,request:s,event:n});if(a)return r=a,(Array.isArray(r)&&0===r.length||a.constructor===Object&&0===Object.keys(a).length||"boolean"==typeof a)&&(r=void 0),{route:i,params:r}}return{}}setDefaultHandler(t,e="GET"){this.i.set(e,n(t))}setCatchHandler(t){this.o=n(t)}registerRoute(t){this.t.has(t.method)||this.t.set(t.method,[]),this.t.get(t.method).push(t)}unregisterRoute(t){if(!this.t.has(t.method))throw new s("unregister-route-but-not-found-with-method",{method:t.method});const e=this.t.get(t.method).indexOf(t);if(!(e>-1))throw new s("unregister-route-route-not-registered");this.t.get(t.method).splice(e,1)}}let o;const c=()=>(o||(o=new a,o.addFetchListener(),o.addCacheListener()),o);function h(t,e,n){let a;if("string"==typeof t){const s=new URL(t,location.href);a=new r((({url:t})=>t.href===s.href),e,n)}else if(t instanceof RegExp)a=new i(t,e,n);else if("function"==typeof t)a=new r(t,e,n);else{if(!(t instanceof r))throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});a=t}return c().registerRoute(a),a}try{self["workbox:strategies:6.2.4"]&&_()}catch(t){}const u={cacheWillUpdate:async({response:t})=>200===t.status||0===t.status?t:null},l={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},f=t=>[l.prefix,t,l.suffix].filter((t=>t&&t.length>0)).join("-"),w=t=>t||f(l.precache),d=t=>t||f(l.runtime);function p(t,e){const s=new URL(t);for(const t of e)s.searchParams.delete(t);return s.href}class y{constructor(){this.promise=new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}}const g=new Set;function m(t){return"string"==typeof t?new Request(t):t}class R{constructor(t,e){this.h={},Object.assign(this,e),this.event=e.event,this.u=t,this.l=new y,this.p=[],this.g=[...t.plugins],this.m=new Map;for(const t of this.g)this.m.set(t,{});this.event.waitUntil(this.l.promise)}async fetch(t){const{event:e}=this;let n=m(t);if("navigate"===n.mode&&e instanceof FetchEvent&&e.preloadResponse){const t=await e.preloadResponse;if(t)return t}const r=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const t of this.iterateCallbacks("requestWillFetch"))n=await t({request:n.clone(),event:e})}catch(t){if(t instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:t.message})}const i=n.clone();try{let t;t=await fetch(n,"navigate"===n.mode?void 0:this.u.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))t=await s({event:e,request:i,response:t});return t}catch(t){throw r&&await this.runCallbacks("fetchDidFail",{error:t,event:e,originalRequest:r.clone(),request:i.clone()}),t}}async fetchAndCachePut(t){const e=await this.fetch(t),s=e.clone();return this.waitUntil(this.cachePut(t,s)),e}async cacheMatch(t){const e=m(t);let s;const{cacheName:n,matchOptions:r}=this.u,i=await this.getCacheKey(e,"read"),a=Object.assign(Object.assign({},r),{cacheName:n});s=await caches.match(i,a);for(const t of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await t({cacheName:n,matchOptions:r,cachedResponse:s,request:i,event:this.event})||void 0;return s}async cachePut(t,e){const n=m(t);var r;await(r=0,new Promise((t=>setTimeout(t,r))));const i=await this.getCacheKey(n,"write");if(!e)throw new s("cache-put-with-no-response",{url:(a=i.url,new URL(String(a),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var a;const o=await this.R(e);if(!o)return!1;const{cacheName:c,matchOptions:h}=this.u,u=await self.caches.open(c),l=this.hasCallback("cacheDidUpdate"),f=l?await async function(t,e,s,n){const r=p(e.url,s);if(e.url===r)return t.match(e,n);const i=Object.assign(Object.assign({},n),{ignoreSearch:!0}),a=await t.keys(e,i);for(const e of a)if(r===p(e.url,s))return t.match(e,n)}(u,i.clone(),["__WB_REVISION__"],h):null;try{await u.put(i,l?o.clone():o)}catch(t){if(t instanceof Error)throw"QuotaExceededError"===t.name&&await async function(){for(const t of g)await t()}(),t}for(const t of this.iterateCallbacks("cacheDidUpdate"))await t({cacheName:c,oldResponse:f,newResponse:o.clone(),request:i,event:this.event});return!0}async getCacheKey(t,e){if(!this.h[e]){let s=t;for(const t of this.iterateCallbacks("cacheKeyWillBeUsed"))s=m(await t({mode:e,request:s,event:this.event,params:this.params}));this.h[e]=s}return this.h[e]}hasCallback(t){for(const e of this.u.plugins)if(t in e)return!0;return!1}async runCallbacks(t,e){for(const s of this.iterateCallbacks(t))await s(e)}*iterateCallbacks(t){for(const e of this.u.plugins)if("function"==typeof e[t]){const s=this.m.get(e),n=n=>{const r=Object.assign(Object.assign({},n),{state:s});return e[t](r)};yield n}}waitUntil(t){return this.p.push(t),t}async doneWaiting(){let t;for(;t=this.p.shift();)await t}destroy(){this.l.resolve(null)}async R(t){let e=t,s=!1;for(const t of this.iterateCallbacks("cacheWillUpdate"))if(e=await t({request:this.request,response:e,event:this.event})||void 0,s=!0,!e)break;return s||e&&200!==e.status&&(e=void 0),e}}class v{constructor(t={}){this.cacheName=d(t.cacheName),this.plugins=t.plugins||[],this.fetchOptions=t.fetchOptions,this.matchOptions=t.matchOptions}handle(t){const[e]=this.handleAll(t);return e}handleAll(t){t instanceof FetchEvent&&(t={event:t,request:t.request});const e=t.event,s="string"==typeof t.request?new Request(t.request):t.request,n="params"in t?t.params:void 0,r=new R(this,{event:e,request:s,params:n}),i=this.v(r,s,e);return[i,this.q(i,r,s,e)]}async v(t,e,n){let r;await t.runCallbacks("handlerWillStart",{event:n,request:e});try{if(r=await this.D(e,t),!r||"error"===r.type)throw new s("no-response",{url:e.url})}catch(s){if(s instanceof Error)for(const i of t.iterateCallbacks("handlerDidError"))if(r=await i({error:s,event:n,request:e}),r)break;if(!r)throw s}for(const s of t.iterateCallbacks("handlerWillRespond"))r=await s({event:n,request:e,response:r});return r}async q(t,e,s,n){let r,i;try{r=await t}catch(i){}try{await e.runCallbacks("handlerDidRespond",{event:n,request:s,response:r}),await e.doneWaiting()}catch(t){t instanceof Error&&(i=t)}if(await e.runCallbacks("handlerDidComplete",{event:n,request:s,response:r,error:i}),e.destroy(),i)throw i}}function b(t){t.then((()=>{}))}function q(){return q=Object.assign||function(t){for(var e=1;e(t[e]=s,!0),has:(t,e)=>t instanceof IDBTransaction&&("done"===e||"store"===e)||e in t};function k(t){return t!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(U||(U=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(B(this),e),T(x.get(this))}:function(...e){return T(t.apply(B(this),e))}:function(e,...s){const n=t.call(B(this),e,...s);return I.set(n,e.sort?e.sort():[e]),T(n)}}function O(t){return"function"==typeof t?k(t):(t instanceof IDBTransaction&&function(t){if(L.has(t))return;const e=new Promise(((e,s)=>{const n=()=>{t.removeEventListener("complete",r),t.removeEventListener("error",i),t.removeEventListener("abort",i)},r=()=>{e(),n()},i=()=>{s(t.error||new DOMException("AbortError","AbortError")),n()};t.addEventListener("complete",r),t.addEventListener("error",i),t.addEventListener("abort",i)}));L.set(t,e)}(t),e=t,(D||(D=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])).some((t=>e instanceof t))?new Proxy(t,N):t);var e}function T(t){if(t instanceof IDBRequest)return function(t){const e=new Promise(((e,s)=>{const n=()=>{t.removeEventListener("success",r),t.removeEventListener("error",i)},r=()=>{e(T(t.result)),n()},i=()=>{s(t.error),n()};t.addEventListener("success",r),t.addEventListener("error",i)}));return e.then((e=>{e instanceof IDBCursor&&x.set(e,t)})).catch((()=>{})),E.set(e,t),e}(t);if(C.has(t))return C.get(t);const e=O(t);return e!==t&&(C.set(t,e),E.set(e,t)),e}const B=t=>E.get(t);const P=["get","getKey","getAll","getAllKeys","count"],M=["put","add","delete","clear"],W=new Map;function j(t,e){if(!(t instanceof IDBDatabase)||e in t||"string"!=typeof e)return;if(W.get(e))return W.get(e);const s=e.replace(/FromIndex$/,""),n=e!==s,r=M.includes(s);if(!(s in(n?IDBIndex:IDBObjectStore).prototype)||!r&&!P.includes(s))return;const i=async function(t,...e){const i=this.transaction(t,r?"readwrite":"readonly");let a=i.store;return n&&(a=a.index(e.shift())),(await Promise.all([a[s](...e),r&&i.done]))[0]};return W.set(e,i),i}N=(t=>q({},t,{get:(e,s,n)=>j(e,s)||t.get(e,s,n),has:(e,s)=>!!j(e,s)||t.has(e,s)}))(N);try{self["workbox:expiration:6.2.4"]&&_()}catch(t){}const S="cache-entries",K=t=>{const e=new URL(t,location.href);return e.hash="",e.href};class A{constructor(t){this.U=null,this._=t}L(t){const e=t.createObjectStore(S,{keyPath:"id"});e.createIndex("cacheName","cacheName",{unique:!1}),e.createIndex("timestamp","timestamp",{unique:!1})}I(t){this.L(t),this._&&function(t,{blocked:e}={}){const s=indexedDB.deleteDatabase(t);e&&s.addEventListener("blocked",(()=>e())),T(s).then((()=>{}))}(this._)}async setTimestamp(t,e){const s={url:t=K(t),timestamp:e,cacheName:this._,id:this.C(t)},n=(await this.getDb()).transaction(S,"readwrite",{durability:"relaxed"});await n.store.put(s),await n.done}async getTimestamp(t){const e=await this.getDb(),s=await e.get(S,this.C(t));return null==s?void 0:s.timestamp}async expireEntries(t,e){const s=await this.getDb();let n=await s.transaction(S).store.index("timestamp").openCursor(null,"prev");const r=[];let i=0;for(;n;){const s=n.value;s.cacheName===this._&&(t&&s.timestamp=e?r.push(n.value):i++),n=await n.continue()}const a=[];for(const t of r)await s.delete(S,t.id),a.push(t.url);return a}C(t){return this._+"|"+K(t)}async getDb(){return this.U||(this.U=await function(t,e,{blocked:s,upgrade:n,blocking:r,terminated:i}={}){const a=indexedDB.open(t,e),o=T(a);return n&&a.addEventListener("upgradeneeded",(t=>{n(T(a.result),t.oldVersion,t.newVersion,T(a.transaction))})),s&&a.addEventListener("blocked",(()=>s())),o.then((t=>{i&&t.addEventListener("close",(()=>i())),r&&t.addEventListener("versionchange",(()=>r()))})).catch((()=>{})),o}("workbox-expiration",1,{upgrade:this.I.bind(this)})),this.U}}class F{constructor(t,e={}){this.N=!1,this.k=!1,this.O=e.maxEntries,this.T=e.maxAgeSeconds,this.B=e.matchOptions,this._=t,this.P=new A(t)}async expireEntries(){if(this.N)return void(this.k=!0);this.N=!0;const t=this.T?Date.now()-1e3*this.T:0,e=await this.P.expireEntries(t,this.O),s=await self.caches.open(this._);for(const t of e)await s.delete(t,this.B);this.N=!1,this.k&&(this.k=!1,b(this.expireEntries()))}async updateTimestamp(t){await this.P.setTimestamp(t,Date.now())}async isURLExpired(t){if(this.T){const e=await this.P.getTimestamp(t),s=Date.now()-1e3*this.T;return void 0===e||er||e&&e<0)throw new s("range-not-satisfiable",{size:r,end:n,start:e});let i,a;return void 0!==e&&void 0!==n?(i=e,a=n+1):void 0!==e&&void 0===n?(i=e,a=r):void 0!==n&&void 0===e&&(i=r-n,a=r),{start:i,end:a}}(i,r.start,r.end),o=i.slice(a.start,a.end),c=o.size,h=new Response(o,{status:206,statusText:"Partial Content",headers:e.headers});return h.headers.set("Content-Length",String(c)),h.headers.set("Content-Range",`bytes ${a.start}-${a.end-1}/${i.size}`),h}catch(t){return new Response("",{status:416,statusText:"Range Not Satisfiable"})}}function $(t,e){const s=e();return t.waitUntil(s),s}try{self["workbox:precaching:6.2.4"]&&_()}catch(t){}function z(t){if(!t)throw new s("add-to-cache-list-unexpected-type",{entry:t});if("string"==typeof t){const e=new URL(t,location.href);return{cacheKey:e.href,url:e.href}}const{revision:e,url:n}=t;if(!n)throw new s("add-to-cache-list-unexpected-type",{entry:t});if(!e){const t=new URL(n,location.href);return{cacheKey:t.href,url:t.href}}const r=new URL(n,location.href),i=new URL(n,location.href);return r.searchParams.set("__WB_REVISION__",e),{cacheKey:r.href,url:i.href}}class G{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:t,state:e})=>{e&&(e.originalRequest=t)},this.cachedResponseWillBeUsed=async({event:t,state:e,cachedResponse:s})=>{if("install"===t.type&&e&&e.originalRequest&&e.originalRequest instanceof Request){const t=e.originalRequest.url;s?this.notUpdatedURLs.push(t):this.updatedURLs.push(t)}return s}}}class V{constructor({precacheController:t}){this.cacheKeyWillBeUsed=async({request:t,params:e})=>{const s=(null==e?void 0:e.cacheKey)||this.M.getCacheKeyForURL(t.url);return s?new Request(s,{headers:t.headers}):t},this.M=t}}let J,Q;async function X(t,e){let n=null;if(t.url){n=new URL(t.url).origin}if(n!==self.location.origin)throw new s("cross-origin-copy-response",{origin:n});const r=t.clone(),i={headers:new Headers(r.headers),status:r.status,statusText:r.statusText},a=e?e(i):i,o=function(){if(void 0===J){const t=new Response("");if("body"in t)try{new Response(t.body),J=!0}catch(t){J=!1}J=!1}return J}()?r.body:await r.blob();return new Response(o,a)}class Y extends v{constructor(t={}){t.cacheName=w(t.cacheName),super(t),this.W=!1!==t.fallbackToNetwork,this.plugins.push(Y.copyRedirectedCacheableResponsesPlugin)}async D(t,e){const s=await e.cacheMatch(t);return s||(e.event&&"install"===e.event.type?await this.j(t,e):await this.S(t,e))}async S(t,e){let n;const r=e.params||{};if(!this.W)throw new s("missing-precache-entry",{cacheName:this.cacheName,url:t.url});{const s=r.integrity,i=t.integrity,a=!i||i===s;n=await e.fetch(new Request(t,{integrity:i||s})),s&&a&&(this.K(),await e.cachePut(t,n.clone()))}return n}async j(t,e){this.K();const n=await e.fetch(t);if(!await e.cachePut(t,n.clone()))throw new s("bad-precaching-response",{url:t.url,status:n.status});return n}K(){let t=null,e=0;for(const[s,n]of this.plugins.entries())n!==Y.copyRedirectedCacheableResponsesPlugin&&(n===Y.defaultPrecacheCacheabilityPlugin&&(t=s),n.cacheWillUpdate&&e++);0===e?this.plugins.push(Y.defaultPrecacheCacheabilityPlugin):e>1&&null!==t&&this.plugins.splice(t,1)}}Y.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:t})=>!t||t.status>=400?null:t},Y.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:t})=>t.redirected?await X(t):t};class Z{constructor({cacheName:t,plugins:e=[],fallbackToNetwork:s=!0}={}){this.A=new Map,this.F=new Map,this.H=new Map,this.u=new Y({cacheName:w(t),plugins:[...e,new V({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this.u}precache(t){this.addToCacheList(t),this.$||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this.$=!0)}addToCacheList(t){const e=[];for(const n of t){"string"==typeof n?e.push(n):n&&void 0===n.revision&&e.push(n.url);const{cacheKey:t,url:r}=z(n),i="string"!=typeof n&&n.revision?"reload":"default";if(this.A.has(r)&&this.A.get(r)!==t)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this.A.get(r),secondEntry:t});if("string"!=typeof n&&n.integrity){if(this.H.has(t)&&this.H.get(t)!==n.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:r});this.H.set(t,n.integrity)}if(this.A.set(r,t),this.F.set(r,i),e.length>0){const t=`Workbox is precaching URLs without revision info: ${e.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(t)}}}install(t){return $(t,(async()=>{const e=new G;this.strategy.plugins.push(e);for(const[e,s]of this.A){const n=this.H.get(s),r=this.F.get(e),i=new Request(e,{integrity:n,cache:r,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:i,event:t}))}const{updatedURLs:s,notUpdatedURLs:n}=e;return{updatedURLs:s,notUpdatedURLs:n}}))}activate(t){return $(t,(async()=>{const t=await self.caches.open(this.strategy.cacheName),e=await t.keys(),s=new Set(this.A.values()),n=[];for(const r of e)s.has(r.url)||(await t.delete(r),n.push(r.url));return{deletedURLs:n}}))}getURLsToCacheKeys(){return this.A}getCachedURLs(){return[...this.A.keys()]}getCacheKeyForURL(t){const e=new URL(t,location.href);return this.A.get(e.href)}getIntegrityForCacheKey(t){return this.H.get(t)}async matchPrecache(t){const e=t instanceof Request?t.url:t,s=this.getCacheKeyForURL(e);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(t){const e=this.getCacheKeyForURL(t);if(!e)throw new s("non-precached-url",{url:t});return s=>(s.request=new Request(t),s.params=Object.assign({cacheKey:e},s.params),this.strategy.handle(s))}}const tt=()=>(Q||(Q=new Z),Q);class et extends r{constructor(t,e){super((({request:s})=>{const n=t.getURLsToCacheKeys();for(const r of function*(t,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:r}={}){const i=new URL(t,location.href);i.hash="",yield i.href;const a=function(t,e=[]){for(const s of[...t.searchParams.keys()])e.some((t=>t.test(s)))&&t.searchParams.delete(s);return t}(i,e);if(yield a.href,s&&a.pathname.endsWith("/")){const t=new URL(a.href);t.pathname+=s,yield t.href}if(n){const t=new URL(a.href);t.pathname+=".html",yield t.href}if(r){const t=r({url:i});for(const e of t)yield e.href}}(s.url,e)){const e=n.get(r);if(e){return{cacheKey:e,integrity:t.getIntegrityForCacheKey(e)}}}}),t.strategy)}}t.CacheFirst=class extends v{async D(t,e){let n,r=await e.cacheMatch(t);if(!r)try{r=await e.fetchAndCachePut(t)}catch(t){t instanceof Error&&(n=t)}if(!r)throw new s("no-response",{url:t.url,error:n});return r}},t.ExpirationPlugin=class{constructor(t={}){this.cachedResponseWillBeUsed=async({event:t,request:e,cacheName:s,cachedResponse:n})=>{if(!n)return null;const r=this.G(n),i=this.V(s);b(i.expireEntries());const a=i.updateTimestamp(e.url);if(t)try{t.waitUntil(a)}catch(t){}return r?n:null},this.cacheDidUpdate=async({cacheName:t,request:e})=>{const s=this.V(t);await s.updateTimestamp(e.url),await s.expireEntries()},this.J=t,this.T=t.maxAgeSeconds,this.X=new Map,t.purgeOnQuotaError&&function(t){g.add(t)}((()=>this.deleteCacheAndMetadata()))}V(t){if(t===d())throw new s("expire-custom-caches-only");let e=this.X.get(t);return e||(e=new F(t,this.J),this.X.set(t,e)),e}G(t){if(!this.T)return!0;const e=this.Y(t);if(null===e)return!0;return e>=Date.now()-1e3*this.T}Y(t){if(!t.headers.has("date"))return null;const e=t.headers.get("date"),s=new Date(e).getTime();return isNaN(s)?null:s}async deleteCacheAndMetadata(){for(const[t,e]of this.X)await self.caches.delete(t),await e.delete();this.X=new Map}},t.NetworkFirst=class extends v{constructor(t={}){super(t),this.plugins.some((t=>"cacheWillUpdate"in t))||this.plugins.unshift(u),this.Z=t.networkTimeoutSeconds||0}async D(t,e){const n=[],r=[];let i;if(this.Z){const{id:s,promise:a}=this.tt({request:t,logs:n,handler:e});i=s,r.push(a)}const a=this.et({timeoutId:i,request:t,logs:n,handler:e});r.push(a);const o=await e.waitUntil((async()=>await e.waitUntil(Promise.race(r))||await a)());if(!o)throw new s("no-response",{url:t.url});return o}tt({request:t,logs:e,handler:s}){let n;return{promise:new Promise((e=>{n=setTimeout((async()=>{e(await s.cacheMatch(t))}),1e3*this.Z)})),id:n}}async et({timeoutId:t,request:e,logs:s,handler:n}){let r,i;try{i=await n.fetchAndCachePut(e)}catch(t){t instanceof Error&&(r=t)}return t&&clearTimeout(t),!r&&i||(i=await n.cacheMatch(e)),i}},t.RangeRequestsPlugin=class{constructor(){this.cachedResponseWillBeUsed=async({request:t,cachedResponse:e})=>e&&t.headers.has("range")?await H(t,e):e}},t.StaleWhileRevalidate=class extends v{constructor(t={}){super(t),this.plugins.some((t=>"cacheWillUpdate"in t))||this.plugins.unshift(u)}async D(t,e){const n=e.fetchAndCachePut(t).catch((()=>{}));let r,i=await e.cacheMatch(t);if(i);else try{i=await n}catch(t){t instanceof Error&&(r=t)}if(!i)throw new s("no-response",{url:t.url,error:r});return i}},t.cleanupOutdatedCaches=function(){self.addEventListener("activate",(t=>{const e=w();t.waitUntil((async(t,e="-precache-")=>{const s=(await self.caches.keys()).filter((s=>s.includes(e)&&s.includes(self.registration.scope)&&s!==t));return await Promise.all(s.map((t=>self.caches.delete(t)))),s})(e).then((t=>{})))}))},t.clientsClaim=function(){self.addEventListener("activate",(()=>self.clients.claim()))},t.precacheAndRoute=function(t,e){!function(t){tt().precache(t)}(t),function(t){const e=tt();h(new et(e,t))}(e)},t.registerRoute=h})); diff --git a/src/client/src/pages/_app.tsx b/src/client/src/pages/_app.tsx index 9bf6318..9250469 100644 --- a/src/client/src/pages/_app.tsx +++ b/src/client/src/pages/_app.tsx @@ -1,11 +1,42 @@ import { AppProps } from "next/app"; +import Head from "next/head"; import "@src/styles/tailwind.css"; import SocketProvider from "@src/presentation/contexts/SocketContext"; const MyApp = ({ Component, pageProps }: AppProps) => ( - - - + <> + + + + + + + Todo + + + + + + + + + + + + ); export default MyApp; diff --git a/src/client/yarn.lock b/src/client/yarn.lock index 246e668..5a2396f 100644 --- a/src/client/yarn.lock +++ b/src/client/yarn.lock @@ -2,6 +2,15 @@ # yarn lockfile v1 +"@apideck/better-ajv-errors@^0.2.4": + version "0.2.7" + resolved "https://registry.yarnpkg.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.2.7.tgz#cc71652ecb111708c01bdc10206ca85886c118ea" + integrity sha512-J2dW+EHYudbwI7MGovcHWLBrxasl21uuroc2zT8bH2RxYuv2g5GqsO5jcKUZz4LaMST45xhKjVuyRYkhcWyMhA== + dependencies: + json-schema "^0.3.0" + jsonpointer "^5.0.0" + leven "^3.1.0" + "@babel/code-frame@7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" @@ -9,23 +18,246 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== dependencies: "@babel/highlight" "^7.16.0" -"@babel/helper-plugin-utils@^7.14.5": +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.0.tgz#ea269d7f78deb3a7826c39a4048eecda541ebdaa" + integrity sha512-DGjt2QZse5SGd9nfOSqO4WLJ8NN/oHkijbXbPrxuoJO3oIPJL3TciZs9FX+cOHNiY9E9l0opL8g7BmLe3T+9ew== + +"@babel/core@^7.11.1": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" + integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-compilation-targets" "^7.16.0" + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helpers" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + source-map "^0.5.0" + +"@babel/generator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" + integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== + dependencies: + "@babel/types" "^7.16.0" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz#9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d" + integrity sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz#f1a686b92da794020c26582eb852e9accd0d7882" + integrity sha512-9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0" + integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== + dependencies: + "@babel/compat-data" "^7.16.0" + "@babel/helper-validator-option" "^7.14.5" + browserslist "^4.17.5" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz#090d4d166b342a03a9fec37ef4fd5aeb9c7c6a4b" + integrity sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-member-expression-to-functions" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + +"@babel/helper-create-regexp-features-plugin@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz#06b2348ce37fccc4f5e18dcd8d75053f2a7c44ff" + integrity sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + regexpu-core "^4.7.1" + +"@babel/helper-define-polyfill-provider@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.4.tgz#8867aed79d3ea6cade40f801efb7ac5c66916b10" + integrity sha512-OrpPZ97s+aPi6h2n1OXzdhVis1SGSsMU2aMHgLcOKfsp4/v1NWpx3CWT3lBj5eeBq9cDkPkh+YCfdF7O12uNDQ== + dependencies: + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/traverse" "^7.13.0" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-explode-assignable-expression@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz#753017337a15f46f9c09f674cff10cee9b9d7778" + integrity sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-function-name@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481" + integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog== + dependencies: + "@babel/helper-get-function-arity" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-get-function-arity@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa" + integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-hoist-variables@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a" + integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-member-expression-to-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4" + integrity sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" + integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-module-transforms@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" + integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== + dependencies: + "@babel/helper-module-imports" "^7.16.0" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-simple-access" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/helper-validator-identifier" "^7.15.7" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-optimise-call-expression@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338" + integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== +"@babel/helper-remap-async-to-generator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.0.tgz#d5aa3b086e13a5fe05238ff40c3a5a0c2dab3ead" + integrity sha512-MLM1IOMe9aQBqMWxcRw8dcb9jlM86NIw7KA0Wri91Xkfied+dE0QuBFSBjMNvqzmS0OSIDsMNC24dBEkPUi7ew== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-wrap-function" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-replace-supers@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz#73055e8d3cf9bcba8ddb55cad93fedc860f68f17" + integrity sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-simple-access@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517" + integrity sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" + integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-split-export-declaration@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438" + integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw== + dependencies: + "@babel/types" "^7.16.0" + "@babel/helper-validator-identifier@^7.14.9", "@babel/helper-validator-identifier@^7.15.7": version "7.15.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== +"@babel/helper-validator-option@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" + integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== + +"@babel/helper-wrap-function@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz#b3cf318afce774dfe75b86767cd6d68f3482e57c" + integrity sha512-VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g== + dependencies: + "@babel/helper-function-name" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helpers@^7.16.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c" + integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== + dependencies: + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.3" + "@babel/types" "^7.16.0" + "@babel/highlight@^7.10.4", "@babel/highlight@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a" @@ -35,6 +267,197 @@ chalk "^2.0.0" js-tokens "^4.0.0" +"@babel/parser@^7.16.0", "@babel/parser@^7.16.3": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.3.tgz#271bafcb811080905a119222edbc17909c82261d" + integrity sha512-dcNwU1O4sx57ClvLBVFbEgx0UZWfd0JQX5X6fxFRCLHelFBGXFfSz6Y0FAq2PEwUqlqLkdVjVr4VASEOuUnLJw== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.0": + version "7.16.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz#2977fca9b212db153c195674e57cfab807733183" + integrity sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz#358972eaab006f5eb0826183b0c93cbcaf13e1e2" + integrity sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.0" + +"@babel/plugin-proposal-async-generator-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.0.tgz#11425d47a60364352f668ad5fbc1d6596b2c5caf" + integrity sha512-nyYmIo7ZqKsY6P4lnVmBlxp9B3a96CscbLotlsNuktMHahkDwoPYEjXrZHU0Tj844Z9f1IthVxQln57mhkcExw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.16.0" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz#c029618267ddebc7280fa286e0f8ca2a278a2d1a" + integrity sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-proposal-class-static-block@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz#5296942c564d8144c83eea347d0aa8a0b89170e7" + integrity sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-proposal-dynamic-import@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz#783eca61d50526202f9b296095453977e88659f1" + integrity sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz#9c01dee40b9d6b847b656aaf4a3976a71740f222" + integrity sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz#cae35a95ed1d2a7fa29c4dc41540b84a72e9ab25" + integrity sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz#a711b8ceb3ffddd3ef88d3a49e86dbd3cc7db3fd" + integrity sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz#44e1cce08fe2427482cf446a91bb451528ed0596" + integrity sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz#5d418e4fbbf8b9b7d03125d3a52730433a373734" + integrity sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz#5fb32f6d924d6e6712810362a60e12a2609872e6" + integrity sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg== + dependencies: + "@babel/compat-data" "^7.16.0" + "@babel/helper-compilation-targets" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.16.0" + +"@babel/plugin-proposal-optional-catch-binding@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz#5910085811ab4c28b00d6ebffa4ab0274d1e5f16" + integrity sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz#56dbc3970825683608e9efb55ea82c2a2d6c8dc0" + integrity sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz#b4dafb9c717e4301c5776b30d080d6383c89aff6" + integrity sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-proposal-private-property-in-object@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz#69e935b2c5c79d2488112d886f0c4e2790fee76f" + integrity sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-create-class-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-proposal-unicode-property-regex@^7.16.0", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz#890482dfc5ea378e42e19a71e709728cabf18612" + integrity sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + "@babel/plugin-syntax-jsx@7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz#000e2e25d8673cce49300517a3eda44c263e4201" @@ -42,6 +465,401 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-arrow-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz#951706f8b449c834ed07bd474c0924c944b95a8e" + integrity sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-async-to-generator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz#df12637f9630ddfa0ef9d7a11bc414d629d38604" + integrity sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw== + dependencies: + "@babel/helper-module-imports" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.16.0" + +"@babel/plugin-transform-block-scoped-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz#c618763233ad02847805abcac4c345ce9de7145d" + integrity sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-block-scoping@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz#bcf433fb482fe8c3d3b4e8a66b1c4a8e77d37c16" + integrity sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-classes@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz#54cf5ff0b2242c6573d753cd4bfc7077a8b282f5" + integrity sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz#e0c385507d21e1b0b076d66bed6d5231b85110b7" + integrity sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-destructuring@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz#ad3d7e74584ad5ea4eadb1e6642146c590dee33c" + integrity sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-dotall-regex@^7.16.0", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz#50bab00c1084b6162d0a58a818031cf57798e06f" + integrity sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-duplicate-keys@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz#8bc2e21813e3e89e5e5bf3b60aa5fc458575a176" + integrity sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-exponentiation-operator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz#a180cd2881e3533cef9d3901e48dad0fbeff4be4" + integrity sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-for-of@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz#f7abaced155260e2461359bbc7c7248aca5e6bd2" + integrity sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-function-name@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz#02e3699c284c6262236599f751065c5d5f1f400e" + integrity sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg== + dependencies: + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz#79711e670ffceb31bd298229d50f3621f7980cac" + integrity sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-member-expression-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz#5251b4cce01eaf8314403d21aedb269d79f5e64b" + integrity sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-modules-amd@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz#09abd41e18dcf4fd479c598c1cef7bd39eb1337e" + integrity sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw== + dependencies: + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz#add58e638c8ddc4875bd9a9ecb5c594613f6c922" + integrity sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ== + dependencies: + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-simple-access" "^7.16.0" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz#a92cf240afeb605f4ca16670453024425e421ea4" + integrity sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg== + dependencies: + "@babel/helper-hoist-variables" "^7.16.0" + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-identifier" "^7.15.7" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz#195f26c2ad6d6a391b70880effce18ce625e06a7" + integrity sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg== + dependencies: + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz#d3db61cc5d5b97986559967cd5ea83e5c32096ca" + integrity sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.0" + +"@babel/plugin-transform-new-target@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz#af823ab576f752215a49937779a41ca65825ab35" + integrity sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-object-super@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz#fb20d5806dc6491a06296ac14ea8e8d6fedda72b" + integrity sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.16.0" + +"@babel/plugin-transform-parameters@^7.16.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz#fa9e4c874ee5223f891ee6fa8d737f4766d31d15" + integrity sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz#a95c552189a96a00059f6776dc4e00e3690c78d1" + integrity sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-regenerator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz#eaee422c84b0232d03aea7db99c97deeaf6125a4" + integrity sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg== + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz#fff4b9dcb19e12619394bda172d14f2d04c0379c" + integrity sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-shorthand-properties@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz#090372e3141f7cc324ed70b3daf5379df2fa384d" + integrity sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-spread@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz#d21ca099bbd53ab307a8621e019a7bd0f40cdcfb" + integrity sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + +"@babel/plugin-transform-sticky-regex@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz#c35ea31a02d86be485f6aa510184b677a91738fd" + integrity sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-template-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz#a8eced3a8e7b8e2d40ec4ec4548a45912630d302" + integrity sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-typeof-symbol@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz#8b19a244c6f8c9d668dca6a6f754ad6ead1128f2" + integrity sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-unicode-escapes@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz#1a354064b4c45663a32334f46fa0cf6100b5b1f3" + integrity sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-unicode-regex@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz#293b80950177c8c85aede87cef280259fb995402" + integrity sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/preset-env@^7.11.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.0.tgz#97228393d217560d6a1c6c56f0adb9d12bca67f5" + integrity sha512-cdTu/W0IrviamtnZiTfixPfIncr2M1VqRrkjzZWlr1B4TVYimCFK5jkyOdP4qw2MrlKHi+b3ORj6x8GoCew8Dg== + dependencies: + "@babel/compat-data" "^7.16.0" + "@babel/helper-compilation-targets" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-option" "^7.14.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.0" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.0" + "@babel/plugin-proposal-async-generator-functions" "^7.16.0" + "@babel/plugin-proposal-class-properties" "^7.16.0" + "@babel/plugin-proposal-class-static-block" "^7.16.0" + "@babel/plugin-proposal-dynamic-import" "^7.16.0" + "@babel/plugin-proposal-export-namespace-from" "^7.16.0" + "@babel/plugin-proposal-json-strings" "^7.16.0" + "@babel/plugin-proposal-logical-assignment-operators" "^7.16.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" + "@babel/plugin-proposal-numeric-separator" "^7.16.0" + "@babel/plugin-proposal-object-rest-spread" "^7.16.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.0" + "@babel/plugin-proposal-private-methods" "^7.16.0" + "@babel/plugin-proposal-private-property-in-object" "^7.16.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.16.0" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-transform-arrow-functions" "^7.16.0" + "@babel/plugin-transform-async-to-generator" "^7.16.0" + "@babel/plugin-transform-block-scoped-functions" "^7.16.0" + "@babel/plugin-transform-block-scoping" "^7.16.0" + "@babel/plugin-transform-classes" "^7.16.0" + "@babel/plugin-transform-computed-properties" "^7.16.0" + "@babel/plugin-transform-destructuring" "^7.16.0" + "@babel/plugin-transform-dotall-regex" "^7.16.0" + "@babel/plugin-transform-duplicate-keys" "^7.16.0" + "@babel/plugin-transform-exponentiation-operator" "^7.16.0" + "@babel/plugin-transform-for-of" "^7.16.0" + "@babel/plugin-transform-function-name" "^7.16.0" + "@babel/plugin-transform-literals" "^7.16.0" + "@babel/plugin-transform-member-expression-literals" "^7.16.0" + "@babel/plugin-transform-modules-amd" "^7.16.0" + "@babel/plugin-transform-modules-commonjs" "^7.16.0" + "@babel/plugin-transform-modules-systemjs" "^7.16.0" + "@babel/plugin-transform-modules-umd" "^7.16.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.0" + "@babel/plugin-transform-new-target" "^7.16.0" + "@babel/plugin-transform-object-super" "^7.16.0" + "@babel/plugin-transform-parameters" "^7.16.0" + "@babel/plugin-transform-property-literals" "^7.16.0" + "@babel/plugin-transform-regenerator" "^7.16.0" + "@babel/plugin-transform-reserved-words" "^7.16.0" + "@babel/plugin-transform-shorthand-properties" "^7.16.0" + "@babel/plugin-transform-spread" "^7.16.0" + "@babel/plugin-transform-sticky-regex" "^7.16.0" + "@babel/plugin-transform-template-literals" "^7.16.0" + "@babel/plugin-transform-typeof-symbol" "^7.16.0" + "@babel/plugin-transform-unicode-escapes" "^7.16.0" + "@babel/plugin-transform-unicode-regex" "^7.16.0" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.16.0" + babel-plugin-polyfill-corejs2 "^0.2.3" + babel-plugin-polyfill-corejs3 "^0.3.0" + babel-plugin-polyfill-regenerator "^0.2.3" + core-js-compat "^3.19.0" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" + integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + "@babel/runtime-corejs3@^7.10.2": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.16.3.tgz#1e25de4fa994c57c18e5fdda6cc810dac70f5590" @@ -57,13 +875,37 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.10.2", "@babel/runtime@^7.16.3": +"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.16.3", "@babel/runtime@^7.8.4": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== dependencies: regenerator-runtime "^0.13.4" +"@babel/template@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" + integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" + integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-hoist-variables" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/parser" "^7.16.3" + "@babel/types" "^7.16.0" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@7.15.0": version "7.15.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd" @@ -72,6 +914,14 @@ "@babel/helper-validator-identifier" "^7.14.9" to-fast-properties "^2.0.0" +"@babel/types@^7.16.0", "@babel/types@^7.4.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" + integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== + dependencies: + "@babel/helper-validator-identifier" "^7.15.7" + to-fast-properties "^2.0.0" + "@eslint/eslintrc@^0.4.3": version "0.4.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" @@ -252,21 +1102,89 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@rollup/plugin-babel@^5.2.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz#9cb1c5146ddd6a4968ad96f209c50c62f92f9879" + integrity sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw== + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@rollup/pluginutils" "^3.1.0" + +"@rollup/plugin-node-resolve@^11.2.1": + version "11.2.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz#82aa59397a29cd4e13248b106e6a4a1880362a60" + integrity sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg== + dependencies: + "@rollup/pluginutils" "^3.1.0" + "@types/resolve" "1.17.1" + builtin-modules "^3.1.0" + deepmerge "^4.2.2" + is-module "^1.0.0" + resolve "^1.19.0" + +"@rollup/plugin-replace@^2.4.1": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a" + integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== + dependencies: + "@rollup/pluginutils" "^3.1.0" + magic-string "^0.25.7" + +"@rollup/pluginutils@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + picomatch "^2.2.2" + "@rushstack/eslint-patch@^1.0.6": version "1.1.0" resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.1.0.tgz#7f698254aadf921e48dda8c0a6b304026b8a9323" integrity sha512-JLo+Y592QzIE+q7Dl2pMUtt4q8SKYI5jDrZxrozEQxnGVOyYE+GWK9eLkwTaeN9DDctlaRAQ3TBmzZ1qdLE30A== +"@surma/rollup-plugin-off-main-thread@^1.4.1": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.2.tgz#e6786b6af5799f82f7ab3a82e53f6182d2b91a58" + integrity sha512-yBMPqmd1yEJo/280PAMkychuaALyQ9Lkb5q1ck3mjJrFuEobIfhnQ4J3mbvBoISmR3SWMWV+cGB/I0lCQee79A== + dependencies: + ejs "^2.6.1" + magic-string "^0.25.0" + "@trysound/sax@0.2.0": version "0.2.0" resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + +"@types/glob@^7.1.1": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8": + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + "@types/json5@^0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= +"@types/minimatch@*": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== + "@types/node@*": version "16.11.7" resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.7.tgz#36820945061326978c42a01e56b61cd223dfdc42" @@ -291,11 +1209,23 @@ "@types/scheduler" "*" csstype "^3.0.2" +"@types/resolve@1.17.1": + version "1.17.1" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" + integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== + dependencies: + "@types/node" "*" + "@types/scheduler@*": version "0.16.2" resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== +"@types/trusted-types@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756" + integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg== + "@typescript-eslint/parser@^4.20.0": version "4.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" @@ -376,7 +1306,12 @@ acorn@^7.0.0, acorn@^7.4.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -ajv@^6.10.0, ajv@^6.12.4: +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -396,6 +1331,16 @@ ajv@^8.0.1: require-from-string "^2.0.2" uri-js "^4.2.2" +ajv@^8.6.0: + version "8.8.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.8.0.tgz#c501f10df72914bb77a458919e79fc73e4a2f9ef" + integrity sha512-L+cJ/+pkdICMueKR6wIx3VP2fjIx3yAhuvadUv/osv9yFD7OVZy442xFF+Oeu3ZvmhBGQzoF6mTSt+LUWBmGQg== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + alphanum-sort@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" @@ -469,11 +1414,23 @@ array-includes@^3.1.3, array-includes@^3.1.4: get-intrinsic "^1.1.1" is-string "^1.0.7" +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + array.prototype.flat@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" @@ -522,6 +1479,11 @@ astral-regex@^2.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + autoprefixer@^10.4.0: version "10.4.0" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.0.tgz#c3577eb32a1079a440ec253e404eaf1eb21388c8" @@ -549,6 +1511,47 @@ axobject-query@^2.2.0: resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== +babel-loader@^8.2.2: + version "8.2.3" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.3.tgz#8986b40f1a64cacfcb4b8429320085ef68b1342d" + integrity sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^1.4.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-polyfill-corejs2@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.3.tgz#6ed8e30981b062f8fe6aca8873a37ebcc8cc1c0f" + integrity sha512-NDZ0auNRzmAfE1oDDPW2JhzIMXUk+FFe2ICejmt5T4ocKgiQx3e0VCRx9NCAidcMtL2RUZaWtXnmjTCkx0tcbA== + dependencies: + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.2.4" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.3.0.tgz#fa7ca3d1ee9ddc6193600ffb632c9785d54918af" + integrity sha512-JLwi9vloVdXLjzACL80j24bG6/T1gYxwowG44dg6HN/7aTPdyPbJJidf6ajoA3RPHHtW0j9KMrSOLpIZpAnPpg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.4" + core-js-compat "^3.18.0" + +babel-plugin-polyfill-regenerator@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.3.tgz#2e9808f5027c4336c994992b48a4262580cb8d6d" + integrity sha512-JVE78oRZPKFIeUqFGrSORNzQnrDwZR16oiWeGM8ZyjBn2XAT5OjP+wXx5ESuo33nUsFUEJYjtklnsKbxW5L+7g== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.4" + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -687,6 +1690,22 @@ browserslist@^4.0.0, browserslist@^4.16.0, browserslist@^4.16.6, browserslist@^4 node-releases "^2.0.1" picocolors "^1.0.0" +browserslist@^4.17.6: + version "4.18.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.0.tgz#849944d9bbbbe5ff6f418a8b558e3effca433cae" + integrity sha512-ER2M0g5iAR84fS/zjBDqEgU6iO5fS9JI2EkHr5zxDxYEFk3LjhU9Vpp/INb6RMQphxko7PDV1FH38H/qVP5yCA== + dependencies: + caniuse-lite "^1.0.30001280" + electron-to-chromium "^1.3.896" + escalade "^3.1.1" + node-releases "^2.0.1" + picocolors "^1.0.0" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + buffer-xor@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" @@ -700,6 +1719,11 @@ buffer@5.6.0: base64-js "^1.0.2" ieee754 "^1.1.4" +builtin-modules@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" + integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== + builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" @@ -738,7 +1762,7 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228, caniuse-lite@^1.0.30001272, caniuse-lite@^1.0.30001274: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228, caniuse-lite@^1.0.30001272, caniuse-lite@^1.0.30001274, caniuse-lite@^1.0.30001280: version "1.0.30001280" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001280.tgz#066a506046ba4be34cde5f74a08db7a396718fb7" integrity sha512-kFXwYvHe5rix25uwueBxC569o53J6TpnGu0BEEn+6Lhl2vsnAumRFWEBhDft1fwyo6m1r4i+RqA4+163FpeFcA== @@ -811,6 +1835,13 @@ classnames@2.2.6: resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== +clean-webpack-plugin@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz#72947d4403d452f38ed61a9ff0ada8122aacd729" + integrity sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w== + dependencies: + del "^4.1.1" + color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -861,6 +1892,11 @@ colorette@^1.2.2: resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + commander@^6.0.0: version "6.2.1" resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" @@ -871,6 +1907,11 @@ commander@^7.2.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== +common-tags@^1.8.0: + version "1.8.1" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.1.tgz#ebf4973edf7d476a9c19646f5f04a45f95796029" + integrity sha512-uOZd85rJqrdEIE/JjhW5YAeatX8iqjjvVzIyfx7JL7G5r9Tep6YpYT9gEJWhWpVyDQEyzukWd6p2qULpJ8tmBw== + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -893,6 +1934,21 @@ convert-source-map@1.7.0: dependencies: safe-buffer "~5.1.1" +convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + +core-js-compat@^3.18.0, core-js-compat@^3.19.0: + version "3.19.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.19.1.tgz#fe598f1a9bf37310d77c3813968e9f7c7bb99476" + integrity sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g== + dependencies: + browserslist "^4.17.6" + semver "7.0.0" + core-js-pure@^3.19.0: version "3.19.1" resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.19.1.tgz#edffc1fc7634000a55ba05e95b3f0fe9587a5aa4" @@ -966,6 +2022,11 @@ crypto-browserify@3.12.0: randombytes "^2.0.0" randomfill "^1.0.3" +crypto-random-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" + integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== + css-color-names@^0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" @@ -1122,7 +2183,7 @@ debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.0.1, debug@^4.1.1, debug@^4.3.1: +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: version "4.3.2" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== @@ -1134,6 +2195,11 @@ deep-is@^0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" @@ -1146,6 +2212,19 @@ defined@^1.0.0: resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= +del@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" + integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== + dependencies: + "@types/glob" "^7.1.1" + globby "^6.1.0" + is-path-cwd "^2.0.0" + is-path-in-cwd "^2.0.0" + p-map "^2.0.0" + pify "^4.0.1" + rimraf "^2.6.3" + depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" @@ -1243,7 +2322,12 @@ domutils@^2.6.0: domelementtype "^2.2.0" domhandler "^4.2.0" -electron-to-chromium@^1.3.723, electron-to-chromium@^1.3.886: +ejs@^2.6.1: + version "2.7.4" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" + integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== + +electron-to-chromium@^1.3.723, electron-to-chromium@^1.3.886, electron-to-chromium@^1.3.896: version "1.3.896" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.896.tgz#4a94efe4870b1687eafd5c378198a49da06e8a1b" integrity sha512-NcGkBVXePiuUrPLV8IxP43n1EOtdg+dudVjrfVEUd/bOqpQUFZ2diL5PPYzbgEhZFEltdXV3AcyKwGnEQ5lhMA== @@ -1276,6 +2360,11 @@ emojis-list@^2.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + encoding@0.1.13: version "0.1.13" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" @@ -1571,6 +2660,11 @@ estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -1622,7 +2716,7 @@ fast-glob@^3.1.1, fast-glob@^3.2.7: merge2 "^1.3.0" micromatch "^4.0.4" -fast-json-stable-stringify@^2.0.0: +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== @@ -1669,6 +2763,15 @@ find-cache-dir@3.3.1: make-dir "^3.0.2" pkg-dir "^4.1.0" +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" @@ -1716,6 +2819,16 @@ fs-extra@^10.0.0: jsonfile "^6.0.1" universalify "^2.0.0" +fs-extra@^9.0.1: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -1736,6 +2849,11 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" @@ -1752,6 +2870,11 @@ get-orientation@1.1.2: dependencies: stream-parser "^0.3.1" +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + get-symbol-description@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" @@ -1791,7 +2914,7 @@ glob@7.1.7: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.1.3, glob@^7.1.7: +glob@^7.0.0, glob@^7.0.3, glob@^7.1.3, glob@^7.1.6, glob@^7.1.7: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -1803,6 +2926,11 @@ glob@^7.0.0, glob@^7.1.3, glob@^7.1.7: once "^1.3.0" path-is-absolute "^1.0.0" +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + globals@^13.6.0, globals@^13.9.0: version "13.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.0.tgz#4d733760304230a0082ed96e21e5c565f898089e" @@ -1810,7 +2938,7 @@ globals@^13.6.0, globals@^13.9.0: dependencies: type-fest "^0.20.2" -globby@^11.0.3: +globby@^11.0.3, globby@^11.0.4: version "11.0.4" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== @@ -1822,6 +2950,17 @@ globby@^11.0.3: merge2 "^1.3.0" slash "^3.0.0" +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: version "4.2.8" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" @@ -1942,6 +3081,11 @@ iconv-lite@^0.6.2: dependencies: safer-buffer ">= 2.1.2 < 3.0.0" +idb@^6.0.0: + version "6.1.5" + resolved "https://registry.yarnpkg.com/idb/-/idb-6.1.5.tgz#dbc53e7adf1ac7c59f9b2bf56e00b4ea4fce8c7b" + integrity sha512-IJtugpKkiVXQn5Y+LteyBCNk1N8xpGV3wWZk9EVtZWH8DYkjBn0bX1XnGP9RkyZF0sAcywa6unHqSWKe7q4LGw== + ieee754@^1.1.4: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" @@ -2113,6 +3257,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= + is-nan@^1.2.1: version "1.3.2" resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" @@ -2138,6 +3287,30 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-path-cwd@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-in-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" + integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== + dependencies: + is-path-inside "^2.1.0" + +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" + integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== + dependencies: + path-is-inside "^1.0.2" + is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" @@ -2146,6 +3319,11 @@ is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + is-resolvable@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" @@ -2156,6 +3334,11 @@ is-shared-array-buffer@^1.0.1: resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" @@ -2202,6 +3385,24 @@ jest-worker@27.0.0-next.5: merge-stream "^2.0.0" supports-color "^8.0.0" +jest-worker@^26.2.1: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest-worker@^27.0.6: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.3.1.tgz#0def7feae5b8042be38479799aeb7b5facac24b2" + integrity sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -2215,6 +3416,16 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + json-parse-even-better-errors@^2.3.0: version "2.3.1" resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" @@ -2230,6 +3441,11 @@ json-schema-traverse@^1.0.0: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== +json-schema@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.3.0.tgz#90a9c5054bd065422c00241851ce8d59475b701b" + integrity sha512-TYfxx36xfl52Rf1LU9HyWSLGPdYLL+SQ8/E/0yVyKG8wCCDaSrhPap0vEdlsZWRaS6tnKKLPGiEJGiREVC8kxQ== + json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" @@ -2242,6 +3458,13 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" +json5@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + jsonfile@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" @@ -2251,6 +3474,11 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" +jsonpointer@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.0.tgz#f802669a524ec4805fa7389eadbc9921d5dc8072" + integrity sha512-PNYZIdMjVIvVgDSYKTT63Y+KZ6IZvGRNNWcxwD+GNnUz1MKPfv30J8ueCjdwcN0nDx2SlshgyB7Oy0epAzVRRg== + "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" @@ -2271,6 +3499,11 @@ language-tags@^1.0.5: dependencies: language-subtag-registry "~0.3.2" +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -2298,6 +3531,15 @@ loader-utils@1.2.3: emojis-list "^2.0.0" json5 "^1.0.1" +loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -2313,6 +3555,11 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -2343,7 +3590,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.17.21: +lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -2362,7 +3609,14 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -make-dir@^3.0.2: +magic-string@^0.25.0, magic-string@^0.25.7: + version "0.25.7" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" + integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== + dependencies: + sourcemap-codec "^1.4.4" + +make-dir@^3.0.2, make-dir@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== @@ -2426,7 +3680,7 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -minimist@^1.1.1, minimist@^1.2.0: +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== @@ -2461,6 +3715,18 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= +next-pwa@^5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/next-pwa/-/next-pwa-5.4.0.tgz#61587d0d5fc3c5304f23dd4f187888c1c717ec5e" + integrity sha512-0tTgZsGGFAd2L151Y8Tv8gB8Q6NdWA0aHZRGRm4mHPnq06ZeVXAucVNpHcAcqALKcdp54J2puV+BQAY72tShSA== + dependencies: + babel-loader "^8.2.2" + clean-webpack-plugin "^4.0.0" + globby "^11.0.4" + terser-webpack-plugin "^5.2.4" + workbox-webpack-plugin "^6.3.0" + workbox-window "^6.3.0" + next@12.0.3: version "12.0.3" resolved "https://registry.yarnpkg.com/next/-/next-12.0.3.tgz#325732ceb4193306a9a31912815fc570d1a66641" @@ -2586,7 +3852,7 @@ nth-check@^2.0.0: dependencies: boolbase "^1.0.0" -object-assign@^4.1.1: +object-assign@^4.0.1, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -2614,7 +3880,7 @@ object-keys@^1.0.12, object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.2: +object.assign@^4.1.0, object.assign@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== @@ -2725,6 +3991,11 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== + p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" @@ -2788,6 +4059,11 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= +path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" @@ -2819,16 +4095,33 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: version "2.3.0" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== -pify@^2.3.0: +pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + pkg-dir@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" @@ -3135,6 +4428,11 @@ prettier@^2.4.1: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.1.tgz#671e11c89c14a4cfc876ce564106c4a6726c9f5c" integrity sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA== +pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: + version "5.6.0" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" + integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== + pretty-hrtime@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" @@ -3218,7 +4516,7 @@ quick-lru@^5.1.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== @@ -3313,6 +4611,18 @@ reduce-css-calc@^2.1.8: css-unit-converter "^1.1.1" postcss-value-parser "^3.3.0" +regenerate-unicode-properties@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" + integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + regenerator-runtime@0.13.4: version "0.13.4" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.4.tgz#e96bf612a3362d12bb69f7e8f74ffeab25c7ac91" @@ -3323,6 +4633,13 @@ regenerator-runtime@^0.13.4: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== + dependencies: + "@babel/runtime" "^7.8.4" + regexp.prototype.flags@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" @@ -3336,6 +4653,30 @@ regexpp@^3.1.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== +regexpu-core@^4.7.1: + version "4.8.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" + integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^9.0.0" + regjsgen "^0.5.2" + regjsparser "^0.7.0" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.0.0" + +regjsgen@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== + +regjsparser@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" + integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ== + dependencies: + jsesc "~0.5.0" + require-from-string@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" @@ -3356,7 +4697,7 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve@^1.1.7, resolve@^1.20.0: +resolve@^1.1.7, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -3387,6 +4728,13 @@ rgba-regex@^1.0.0: resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= +rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -3402,6 +4750,23 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" +rollup-plugin-terser@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" + integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== + dependencies: + "@babel/code-frame" "^7.10.4" + jest-worker "^26.2.1" + serialize-javascript "^4.0.0" + terser "^5.0.0" + +rollup@^2.43.1: + version "2.60.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.60.0.tgz#4ee60ab7bdd0356763f87d7099f413e5460fc193" + integrity sha512-cHdv9GWd58v58rdseC8e8XIaPUo8a9cgZpnCMMDGZFDZKEODOiPPEQFXLriWr/TjXzhPPmG5bkAztPsOARIcGQ== + optionalDependencies: + fsevents "~2.3.2" + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -3432,7 +4797,30 @@ scheduler@^0.20.2: loose-envify "^1.1.0" object-assign "^4.1.1" -semver@^6.0.0, semver@^6.3.0: +schema-utils@^2.6.5: + version "2.7.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +schema-utils@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== @@ -3444,6 +4832,20 @@ semver@^7.2.1, semver@^7.3.5: dependencies: lru-cache "^6.0.0" +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" + +serialize-javascript@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + dependencies: + randombytes "^2.1.0" + setimmediate@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" @@ -3509,28 +4911,56 @@ slice-ansi@^4.0.0: astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + source-map-js@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== -source-map@0.7.3: +source-map-support@~0.5.20: + version "0.5.20" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" + integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@0.7.3, source-map@~0.7.2: version "0.7.3" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== -source-map@0.8.0-beta.0: +source-map@0.8.0-beta.0, source-map@^0.8.0-beta.0: version "0.8.0-beta.0" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== dependencies: whatwg-url "^7.0.0" -source-map@^0.6.1: +source-map@^0.5.0: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +sourcemap-codec@^1.4.4: + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -3629,6 +5059,15 @@ string_decoder@1.3.0, string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + strip-ansi@6.0.1, strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" @@ -3641,6 +5080,11 @@ strip-bom@^3.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= +strip-comments@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-2.0.1.tgz#4ad11c3fbcac177a67a40ac224ca339ca1c1ba9b" + integrity sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw== + strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" @@ -3685,7 +5129,7 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -supports-color@^7.1.0: +supports-color@^7.0.0, supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== @@ -3761,6 +5205,41 @@ tailwindcss@^2.2.19: resolve "^1.20.0" tmp "^0.2.1" +temp-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" + integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== + +tempy@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.6.0.tgz#65e2c35abc06f1124a97f387b08303442bde59f3" + integrity sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw== + dependencies: + is-stream "^2.0.0" + temp-dir "^2.0.0" + type-fest "^0.16.0" + unique-string "^2.0.0" + +terser-webpack-plugin@^5.2.4: + version "5.2.5" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.2.5.tgz#ce65b9880a0c36872555c4874f45bbdb02ee32c9" + integrity sha512-3luOVHku5l0QBeYS8r4CdHYWEGMmIj3H1U64jgkdZzECcSOJAyJ9TjuqcQZvw1Y+4AOBN9SeYJPJmFn2cM4/2g== + dependencies: + jest-worker "^27.0.6" + schema-utils "^3.1.1" + serialize-javascript "^6.0.0" + source-map "^0.6.1" + terser "^5.7.2" + +terser@^5.0.0, terser@^5.7.2: + version "5.9.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.9.0.tgz#47d6e629a522963240f2b55fcaa3c99083d2c351" + integrity sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ== + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.20" + text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -3857,6 +5336,11 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" +type-fest@^0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" + integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== + type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" @@ -3882,11 +5366,41 @@ unbox-primitive@^1.0.1: has-symbols "^1.0.2" which-boxed-primitive "^1.0.2" +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" + integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" + integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== + uniqs@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= +unique-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" + integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== + dependencies: + crypto-random-string "^2.0.0" + universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -3902,6 +5416,11 @@ unpipe@1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= +upath@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -3974,6 +5493,14 @@ webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== +webpack-sources@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" @@ -4026,6 +5553,177 @@ word-wrap@^1.2.3: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== +workbox-background-sync@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-6.3.0.tgz#d661296b4662e40a7589f0308affc2c9096da001" + integrity sha512-79Wznt6oO8xMmLiErRS4zENUEldFHj1/5IiuHsY3NgGRN5rJdvGW6hz+RERhWzoB7rd/vXyAQdKYahGdsiYG1A== + dependencies: + idb "^6.0.0" + workbox-core "6.3.0" + +workbox-broadcast-update@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-6.3.0.tgz#9dd87bb0642c892f8f88dcc9b32d48804fdc198f" + integrity sha512-hp7Du6GJzK99wak5cQFhcSBxvcS+2fkFcxiMmz/RsQ5GQNxVcbiovq74w5aNCzuv3muQvICyC1XELZhZ4GYRTQ== + dependencies: + workbox-core "6.3.0" + +workbox-build@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-6.3.0.tgz#124f456f1952942bcfd984f168d1fb0bc68d7105" + integrity sha512-Th93AaC+88ZvJje0acTjCCCvU3tGenxJht5xUALXHW+Mzk3I5SMzTFwKn5F3e1iZ+M7U2jjfpMXe/sJ4UMx46A== + dependencies: + "@apideck/better-ajv-errors" "^0.2.4" + "@babel/core" "^7.11.1" + "@babel/preset-env" "^7.11.0" + "@babel/runtime" "^7.11.2" + "@rollup/plugin-babel" "^5.2.0" + "@rollup/plugin-node-resolve" "^11.2.1" + "@rollup/plugin-replace" "^2.4.1" + "@surma/rollup-plugin-off-main-thread" "^1.4.1" + ajv "^8.6.0" + common-tags "^1.8.0" + fast-json-stable-stringify "^2.1.0" + fs-extra "^9.0.1" + glob "^7.1.6" + lodash "^4.17.20" + pretty-bytes "^5.3.0" + rollup "^2.43.1" + rollup-plugin-terser "^7.0.0" + source-map "^0.8.0-beta.0" + source-map-url "^0.4.0" + stringify-object "^3.3.0" + strip-comments "^2.0.1" + tempy "^0.6.0" + upath "^1.2.0" + workbox-background-sync "6.3.0" + workbox-broadcast-update "6.3.0" + workbox-cacheable-response "6.3.0" + workbox-core "6.3.0" + workbox-expiration "6.3.0" + workbox-google-analytics "6.3.0" + workbox-navigation-preload "6.3.0" + workbox-precaching "6.3.0" + workbox-range-requests "6.3.0" + workbox-recipes "6.3.0" + workbox-routing "6.3.0" + workbox-strategies "6.3.0" + workbox-streams "6.3.0" + workbox-sw "6.3.0" + workbox-window "6.3.0" + +workbox-cacheable-response@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-6.3.0.tgz#9900980035ab8f70f2582711299d3c0ce09d9419" + integrity sha512-oYCRGF6PFEmJJkktdxYw/tcrU8N5u/2ihxVSHd+9sNqjNMDiXLqsewcEG544f1yx7gq5/u6VcvUA5N62KzN1GQ== + dependencies: + workbox-core "6.3.0" + +workbox-core@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-6.3.0.tgz#a7d82bae6f623f342e04028a0a2cef39af71af55" + integrity sha512-SufToEV3SOLwwz3j+P4pgkfpzLRUlR17sX3p/LrMHP/brYKvJQqjTwtSvaCkkAX0RPHX2TFHmN8xhPP1bpmomg== + +workbox-expiration@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-6.3.0.tgz#1d36c456f9282c39cda6b59a32b99732da7c3535" + integrity sha512-teYuYfM3HFbwAD/nlZDw/dCMOrCKjsAiMRhz0uOy9IkfBb7vBynO3xf118lY62X6BfqjZdeahiHh10N0/aYICg== + dependencies: + idb "^6.0.0" + workbox-core "6.3.0" + +workbox-google-analytics@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-6.3.0.tgz#76eb44010d9059915b49fdded927429757907c29" + integrity sha512-6u0y21rtimnrCKpvayTkwh9y4Y5Xdn6X87x895WzwcOcWA2j/Nl7nmCpB0wjjhqU9pMj7B2lChqfypP+xUs5IA== + dependencies: + workbox-background-sync "6.3.0" + workbox-core "6.3.0" + workbox-routing "6.3.0" + workbox-strategies "6.3.0" + +workbox-navigation-preload@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-6.3.0.tgz#a2ae618a53e4941ec09146b94bb9947ac0bca2ff" + integrity sha512-D7bomh9SCn1u6n32FqAWfyHe2dkK6mWbwcTsoeBnFSD0p8Gr9Zq1Mpt/DitEfGIQHck90Zd024xcTFLkjczS/Q== + dependencies: + workbox-core "6.3.0" + +workbox-precaching@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-6.3.0.tgz#5dc34161ef03ef3cc23af6d78f0b1583f3d180d0" + integrity sha512-bND3rUxiuzFmDfeKywdvOqK0LQ5LLbOPk0eX22PlMQNOOduHRxzglMpgHo/MR6h+8cPJ3GpxT8hZ895/7bHMqQ== + dependencies: + workbox-core "6.3.0" + workbox-routing "6.3.0" + workbox-strategies "6.3.0" + +workbox-range-requests@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-6.3.0.tgz#3202e8af6c8832db7788d482ab1d8db3d5b62fe7" + integrity sha512-AHnGtfSvc/fBt+8NCVT6jVcshv7oFkiuS94YsedQu2sIN1jKHkxLaj7qMBl818FoY6x7r0jw1WLmG/QDmI1/oA== + dependencies: + workbox-core "6.3.0" + +workbox-recipes@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/workbox-recipes/-/workbox-recipes-6.3.0.tgz#16926f0ff3bc07ddef30bc19a68bacc339d023a3" + integrity sha512-f0AZyxd48E4t+PV+ifgIf8WodfJqRj8/E0t+PwppDIdTPyD59cIh0HZBtgPKFdIMVnltodpMz4zioxym1H3GjQ== + dependencies: + workbox-cacheable-response "6.3.0" + workbox-core "6.3.0" + workbox-expiration "6.3.0" + workbox-precaching "6.3.0" + workbox-routing "6.3.0" + workbox-strategies "6.3.0" + +workbox-routing@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-6.3.0.tgz#d21d39883baf66594fd8365af5c72aff44fc98b5" + integrity sha512-asajX5UPkaoU4PB9pEpxKWKkcpA+KJQUEeYU6NlK0rXTCpdWQ6iieMRDoBTZBjTzUdL3j3s1Zo2qCOSvtXSYGg== + dependencies: + workbox-core "6.3.0" + +workbox-strategies@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-6.3.0.tgz#1d004f42b309cbfa48812c6cc7a8da6458b928c6" + integrity sha512-SYZt40y+Iu5nA+UEPQOrAuAMMNTxtUBPLCIaMMb4lcADpBYrNP1CD+/s2QsrxzS651a8hfi06REKt+uTp1tqfw== + dependencies: + workbox-core "6.3.0" + +workbox-streams@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-6.3.0.tgz#8a9db8016c2933edc8b6559207896da31b13a8dc" + integrity sha512-CiRsuoXJOytA7IQriRu6kVCa0L4OdNi0DdniiSageu/EZuxTswNXpgVzkGE4IDArU/5jlzgRtwqrqIWCJX+OMA== + dependencies: + workbox-core "6.3.0" + workbox-routing "6.3.0" + +workbox-sw@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-6.3.0.tgz#8b805a3ac5339e8df0e6ba36c491d9cd01aa9f3f" + integrity sha512-xwrXRBzw5jwJ7VdAQkTSNTbNZ4S6VhXtbZZ0vY6XKNQARO5nuGphNdif+hJFIejHUgtV6ESpQnixPj5hYB2jKQ== + +workbox-webpack-plugin@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-6.3.0.tgz#86c6c6fcb5fc151e6b4ccd8d7041d3da6a4a4271" + integrity sha512-3l5H8h7O2eUgTAISQoglDe4VJDDYTZaDnkRY0FY2+eFOXA+fZoWuDSmLiMnA0uYqPC4NWVTZwP549E0dWgiWjw== + dependencies: + fast-json-stable-stringify "^2.1.0" + pretty-bytes "^5.4.1" + source-map-url "^0.4.0" + upath "^1.2.0" + webpack-sources "^1.4.3" + workbox-build "6.3.0" + +workbox-window@6.3.0, workbox-window@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-6.3.0.tgz#f669a0715363c35e519d1b6d919e04da7ce369ea" + integrity sha512-CFP84assX9srH/TOx4OD8z4EBPO/Cq4WKdV2YLcJIFJmVTS/cB63XKeidKl2KJk8qOOLVIKnaO7BLmb0MxGFtA== + dependencies: + "@types/trusted-types" "^2.0.2" + workbox-core "6.3.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"