From ac0e6c097b8a7ba40794503905c87075503ac47c Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Sat, 27 Jul 2019 07:59:49 -0500 Subject: [PATCH] replace v1 UI w/v2 --- .dockerignore | 3 +- docker-compose.yml | 2 +- src/{web => FilterLists.Web}/.gitignore | 0 src/FilterLists.Web/ClientApp/Boot.tsx | 26 - src/FilterLists.Web/ClientApp/Layout.tsx | 62 - .../ClientApp/modules/home/Home.tsx | 107 - .../ClientApp/modules/home/HomeContainer.tsx | 94 - .../modules/home/components/TagGroup.tsx | 67 - .../detailsExpander/DetailsExpander.tsx | 27 - .../detailsExpander/IListDetails.ts | 26 - .../home/components/detailsExpander/index.ts | 7 - .../detailsExpander/infoCard/InfoCard.tsx | 57 - .../detailsExpander/infoCard/Languages.tsx | 20 - .../detailsExpander/infoCard/License.tsx | 17 - .../infoCard/PublishedDate.tsx | 13 - .../detailsExpander/infoCard/Syntax.tsx | 17 - .../detailsExpander/infoCard/UpdatedDate.tsx | 15 - .../MaintainerInfoCard.tsx | 23 - .../MaintainersInfoCard.tsx | 14 - .../linkButtons/SubscribeButton.tsx | 62 - .../home/components/listsTable/ListsTable.tsx | 104 - .../listsTable/columns/Languages.tsx | 71 - .../components/listsTable/columns/License.tsx | 68 - .../listsTable/columns/Maintainers.tsx | 68 - .../listsTable/columns/RuleCount.tsx | 28 - .../listsTable/columns/Software.tsx | 74 - .../listsTable/columns/SubscribeButton.tsx | 24 - .../components/listsTable/columns/Syntax.tsx | 46 - .../components/listsTable/columns/Tags.tsx | 63 - .../listsTable/columns/UpdatedDate.tsx | 33 - .../modules/home/interfaces/index.ts | 19 - src/FilterLists.Web/ClientApp/site.css | 3 - .../Controllers/HomeController.cs | 16 - .../Extensions/ConfigureServicesCollection.cs | 26 - src/FilterLists.Web/Dockerfile | 32 +- src/FilterLists.Web/FilterLists.Web.csproj | 73 - src/FilterLists.Web/Program.cs | 13 - .../Properties/launchSettings.json | 38 - src/{web => FilterLists.Web}/README.md | 0 src/FilterLists.Web/Startup.cs | 44 - src/FilterLists.Web/Views/Home/Index.cshtml | 8 - src/FilterLists.Web/Views/Shared/Error.cshtml | 21 - .../Views/Shared/_Layout.cshtml | 24 - src/FilterLists.Web/Views/_ViewImports.cshtml | 3 - src/FilterLists.Web/Views/_ViewStart.cshtml | 3 - src/FilterLists.Web/npm-shrinkwrap.json | 6015 ----------------- .../package-lock.json | Bin src/FilterLists.Web/package.json | 64 +- .../{wwwroot => public}/icon_filterlists.png | Bin .../public/index.html | 0 .../{wwwroot => public}/logo_filterlists.png | Bin .../public/manifest.json | 0 src/{web => FilterLists.Web}/src/App.css | 0 src/{web => FilterLists.Web}/src/App.test.tsx | 0 src/{web => FilterLists.Web}/src/App.tsx | 0 src/{web => FilterLists.Web}/src/Layout.tsx | 0 .../{ClientApp => src}/Routes.tsx | 0 src/{web => FilterLists.Web}/src/index.css | 0 src/{web => FilterLists.Web}/src/index.tsx | 0 src/{web => FilterLists.Web}/src/logo.svg | 0 .../src/modules/home/Home.tsx | 0 .../src/modules/home/HomeContainer.tsx | 0 .../modules/home/components/IListDetails.ts | 0 .../modules/home/components/Oneliner.tsx | 0 .../src/modules/home/components/TagGroup.tsx | 0 .../detailsExpander/DetailsExpander.tsx | 0 .../detailsExpander/LinkButtonGroup.tsx | 0 .../home/components/detailsExpander/index.ts | 0 .../detailsExpander/infoCard/Description.tsx | 0 .../detailsExpander/infoCard/InfoCard.tsx | 0 .../detailsExpander/infoCard/Languages.tsx | 0 .../detailsExpander/infoCard/License.tsx | 0 .../infoCard/PublishedDate.tsx | 0 .../detailsExpander/infoCard/RuleCount.tsx | 0 .../detailsExpander/infoCard/Syntax.tsx | 0 .../detailsExpander/infoCard/UpdatedDate.tsx | 0 .../detailsExpander/infoCard/description.css | 0 .../detailsExpander/infoCard/index.ts | 0 .../MaintainerAdditionalLists.tsx | 0 .../MaintainerInfoCard.tsx | 0 .../MaintainerLinkButtonGroup.tsx | 0 .../MaintainersInfoCard.tsx | 0 .../maintainersInfoCard/index.ts | 0 .../modules/home/components/index.ts | 0 .../components/linkButtons/ChatButton.tsx | 0 .../components/linkButtons/DonateButton.tsx | 0 .../components/linkButtons/EmailButton.tsx | 0 .../components/linkButtons/ForumButton.tsx | 0 .../components/linkButtons/HomeButton.tsx | 0 .../components/linkButtons/IssuesButton.tsx | 0 .../components/linkButtons/LinkButton.tsx | 0 .../components/linkButtons/PolicyButton.tsx | 0 .../components/linkButtons/SubmitButton.tsx | 0 .../linkButtons/SubscribeButton.tsx | 0 .../linkButtons/SubscribeButtonGroup.tsx | 0 .../components/linkButtons/TwitterButton.tsx | 0 .../components/linkButtons/ViewButton.tsx | 0 .../linkButtons/ViewButtonGroup.tsx | 0 .../home/components/linkButtons/button.css | 0 .../home/components/linkButtons/index.ts | 0 .../home/components/listsTable/ListsTable.tsx | 0 .../listsTable/columns/DetailsButton.tsx | 0 .../listsTable/columns/Languages.tsx | 0 .../components/listsTable/columns/License.tsx | 0 .../listsTable/columns/Maintainers.tsx | 0 .../components/listsTable/columns/Name.tsx | 0 .../listsTable/columns/RuleCount.tsx | 0 .../listsTable/columns/Software.tsx | 0 .../listsTable/columns/SubscribeButton.tsx | 0 .../components/listsTable/columns/Syntax.tsx | 0 .../components/listsTable/columns/Tags.tsx | 0 .../listsTable/columns/UpdatedDate.tsx | 0 .../components/listsTable/columns/index.ts | 0 .../home/components/listsTable/index.ts | 0 .../home/components/listsTable/listsTable.css | 0 .../components/softwareIcon/SoftwareIcon.tsx | 0 .../softwareIcon/imgs/01-uBlock-Origin.svg | 0 .../softwareIcon/imgs/02-Adblock-Plus.svg | 0 .../softwareIcon/imgs/03-AdGuard.png | Bin .../softwareIcon/imgs/03-AdGuard.svg | 0 .../components/softwareIcon/imgs/04-DNS66.png | Bin .../softwareIcon/imgs/05-Nano-Adblocker.png | Bin .../softwareIcon/imgs/06-AdBlock.png | Bin .../softwareIcon/imgs/07-AdAway.png | Bin .../imgs/08-Personal-Blocklist.png | Bin .../softwareIcon/imgs/10-Redirector.png | Bin .../imgs/11-Hosts-File-Editor.png | Bin .../softwareIcon/imgs/12-Gas-Mask.png | Bin .../softwareIcon/imgs/13-MinerBlock.svg | 0 .../softwareIcon/imgs/14-Pi-hole.png | Bin .../softwareIcon/imgs/14-Pi-hole.svg | 0 .../softwareIcon/imgs/15-uBlock.svg | 0 .../imgs/16-Internet-Explorer-TPL.png | Bin .../imgs/16-Internet-Explorer-TPL.svg | 0 .../imgs/17-Google-Hit-Hider-by-Domain.png | Bin .../softwareIcon/imgs/18-FireHOL.png | Bin .../softwareIcon/imgs/19-Samsung-Knox.png | Bin .../softwareIcon/imgs/20-Little-Snitch.png | Bin .../softwareIcon/imgs/21-Privoxy.png | Bin .../softwareIcon/imgs/22-Diversion.png | Bin .../softwareIcon/imgs/23-dnsmasq.png | Bin .../softwareIcon/imgs/24-Slimjet.png | Bin .../softwareIcon/imgs/25-uMatrix.png | Bin .../softwareIcon/imgs/26-Blokada.png | Bin .../softwareIcon/imgs/27-hostsmgr.png | Bin .../imgs/28-personalDNSfilter.png | Bin .../imgs/28-personalDNSfilter.svg | 0 .../softwareIcon/imgs/29-Unbound.png | Bin .../components/softwareIcon/imgs/30-BIND.png | Bin .../softwareIcon/imgs/31-AdGuard-Home.png | Bin .../softwareIcon/imgs/32-AdNauseam.png | Bin .../imgs/33-Legacy-Unix-Derivatives.png | Bin .../imgs/34-Windows-command-line.png | Bin .../components/softwareIcon/imgs/imgs.d.ts | 0 .../components/softwareIcon/imgs/index.ts | 0 .../home/components/softwareIcon/index.ts | 0 .../{ClientApp => src}/modules/home/index.ts | 0 .../home/interfaces/IColumnVisibility.ts | 0 .../modules/home/interfaces/ILanguage.ts | 0 .../modules/home/interfaces/ILicense.ts | 0 .../modules/home/interfaces/IList.ts | 0 .../modules/home/interfaces/IMaintainer.ts | 0 .../modules/home/interfaces/ISoftware.ts | 0 .../modules/home/interfaces/ISyntax.ts | 0 .../modules/home/interfaces/ITag.ts | 0 .../{ClientApp => src}/modules/index.ts | 0 .../src/react-app-env.d.ts | 0 .../src/serviceWorker.ts | 0 .../{ClientApp => src}/utils/GetContrast.ts | 0 .../{ClientApp => src}/utils/index.ts | 0 .../{ClientApp => src}/utils/loader.css | 0 src/FilterLists.Web/tsconfig.json | 30 +- src/FilterLists.Web/webpack.config.js | 56 - src/FilterLists.Web/webpack.config.vendor.js | 57 - src/web/Dockerfile | 15 - src/web/package.json | 45 - src/web/public/icon_filterlists.png | Bin 2262 -> 0 bytes src/web/public/logo_filterlists.png | Bin 3953 -> 0 bytes src/web/src/Routes.tsx | 13 - .../src/modules/home/components/Oneliner.tsx | 17 - .../detailsExpander/LinkButtonGroup.tsx | 41 - .../detailsExpander/infoCard/Description.tsx | 16 - .../detailsExpander/infoCard/RuleCount.tsx | 12 - .../detailsExpander/infoCard/description.css | 1 - .../detailsExpander/infoCard/index.ts | 5 - .../MaintainerAdditionalLists.tsx | 20 - .../MaintainerLinkButtonGroup.tsx | 16 - .../maintainersInfoCard/index.ts | 5 - src/web/src/modules/home/components/index.ts | 9 - .../components/linkButtons/ChatButton.tsx | 14 - .../components/linkButtons/DonateButton.tsx | 14 - .../components/linkButtons/EmailButton.tsx | 14 - .../components/linkButtons/ForumButton.tsx | 14 - .../components/linkButtons/HomeButton.tsx | 14 - .../components/linkButtons/IssuesButton.tsx | 14 - .../components/linkButtons/LinkButton.tsx | 18 - .../components/linkButtons/PolicyButton.tsx | 14 - .../components/linkButtons/SubmitButton.tsx | 14 - .../linkButtons/SubscribeButtonGroup.tsx | 52 - .../components/linkButtons/TwitterButton.tsx | 14 - .../components/linkButtons/ViewButton.tsx | 24 - .../linkButtons/ViewButtonGroup.tsx | 51 - .../home/components/linkButtons/button.css | 11 - .../home/components/linkButtons/index.ts | 25 - .../listsTable/columns/DetailsButton.tsx | 26 - .../components/listsTable/columns/Name.tsx | 22 - .../components/listsTable/columns/index.ts | 25 - .../home/components/listsTable/index.ts | 5 - .../home/components/listsTable/listsTable.css | 13 - .../components/softwareIcon/SoftwareIcon.tsx | 89 - .../softwareIcon/imgs/01-uBlock-Origin.svg | 1 - .../softwareIcon/imgs/02-Adblock-Plus.svg | 15 - .../softwareIcon/imgs/03-AdGuard.png | Bin 893 -> 0 bytes .../softwareIcon/imgs/03-AdGuard.svg | 5 - .../components/softwareIcon/imgs/04-DNS66.png | Bin 851 -> 0 bytes .../softwareIcon/imgs/05-Nano-Adblocker.png | Bin 698 -> 0 bytes .../softwareIcon/imgs/06-AdBlock.png | Bin 1268 -> 0 bytes .../softwareIcon/imgs/07-AdAway.png | Bin 658 -> 0 bytes .../imgs/08-Personal-Blocklist.png | Bin 1295 -> 0 bytes .../softwareIcon/imgs/10-Redirector.png | Bin 547 -> 0 bytes .../imgs/11-Hosts-File-Editor.png | Bin 1113 -> 0 bytes .../softwareIcon/imgs/12-Gas-Mask.png | Bin 424 -> 0 bytes .../softwareIcon/imgs/13-MinerBlock.svg | 34 - .../softwareIcon/imgs/14-Pi-hole.png | Bin 700 -> 0 bytes .../softwareIcon/imgs/14-Pi-hole.svg | 1 - .../softwareIcon/imgs/15-uBlock.svg | 18 - .../imgs/16-Internet-Explorer-TPL.png | Bin 1056 -> 0 bytes .../imgs/16-Internet-Explorer-TPL.svg | 1 - .../imgs/17-Google-Hit-Hider-by-Domain.png | Bin 636 -> 0 bytes .../softwareIcon/imgs/18-FireHOL.png | Bin 617 -> 0 bytes .../softwareIcon/imgs/19-Samsung-Knox.png | Bin 476 -> 0 bytes .../softwareIcon/imgs/20-Little-Snitch.png | Bin 1168 -> 0 bytes .../softwareIcon/imgs/21-Privoxy.png | Bin 1286 -> 0 bytes .../softwareIcon/imgs/22-Diversion.png | Bin 403 -> 0 bytes .../softwareIcon/imgs/23-dnsmasq.png | Bin 789 -> 0 bytes .../softwareIcon/imgs/24-Slimjet.png | Bin 1419 -> 0 bytes .../softwareIcon/imgs/25-uMatrix.png | Bin 917 -> 0 bytes .../softwareIcon/imgs/26-Blokada.png | Bin 998 -> 0 bytes .../softwareIcon/imgs/27-hostsmgr.png | Bin 750 -> 0 bytes .../imgs/28-personalDNSfilter.png | Bin 831 -> 0 bytes .../imgs/28-personalDNSfilter.svg | 20 - .../softwareIcon/imgs/29-Unbound.png | Bin 565 -> 0 bytes .../components/softwareIcon/imgs/30-BIND.png | Bin 520 -> 0 bytes .../softwareIcon/imgs/31-AdGuard-Home.png | Bin 878 -> 0 bytes .../softwareIcon/imgs/32-AdNauseam.png | Bin 713 -> 0 bytes .../imgs/33-Legacy-Unix-Derivatives.png | Bin 867 -> 0 bytes .../imgs/34-Windows-command-line.png | Bin 470 -> 0 bytes .../components/softwareIcon/imgs/imgs.d.ts | 9 - .../components/softwareIcon/imgs/index.ts | 69 - .../home/components/softwareIcon/index.ts | 5 - src/web/src/modules/home/index.ts | 5 - .../home/interfaces/IColumnVisibility.ts | 4 - .../src/modules/home/interfaces/ILanguage.ts | 6 - .../src/modules/home/interfaces/ILicense.ts | 6 - src/web/src/modules/home/interfaces/IList.ts | 24 - .../modules/home/interfaces/IMaintainer.ts | 8 - .../src/modules/home/interfaces/ISoftware.ts | 7 - .../src/modules/home/interfaces/ISyntax.ts | 7 - src/web/src/modules/home/interfaces/ITag.ts | 6 - src/web/src/modules/index.ts | 5 - src/web/src/utils/GetContrast.ts | 8 - src/web/src/utils/index.ts | 5 - src/web/src/utils/loader.css | 68 - src/web/tsconfig.json | 25 - 264 files changed, 66 insertions(+), 8781 deletions(-) rename src/{web => FilterLists.Web}/.gitignore (100%) delete mode 100644 src/FilterLists.Web/ClientApp/Boot.tsx delete mode 100644 src/FilterLists.Web/ClientApp/Layout.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/Home.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/HomeContainer.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/TagGroup.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/DetailsExpander.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/IListDetails.ts delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/index.ts delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/InfoCard.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/Languages.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/License.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/PublishedDate.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/Syntax.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/UpdatedDate.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerInfoCard.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/maintainersInfoCard/MaintainersInfoCard.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/SubscribeButton.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/listsTable/ListsTable.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Languages.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/License.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Maintainers.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/RuleCount.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Software.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/SubscribeButton.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Syntax.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Tags.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/UpdatedDate.tsx delete mode 100644 src/FilterLists.Web/ClientApp/modules/home/interfaces/index.ts delete mode 100644 src/FilterLists.Web/ClientApp/site.css delete mode 100644 src/FilterLists.Web/Controllers/HomeController.cs delete mode 100644 src/FilterLists.Web/DependencyInjection/Extensions/ConfigureServicesCollection.cs delete mode 100644 src/FilterLists.Web/FilterLists.Web.csproj delete mode 100644 src/FilterLists.Web/Program.cs delete mode 100644 src/FilterLists.Web/Properties/launchSettings.json rename src/{web => FilterLists.Web}/README.md (100%) delete mode 100644 src/FilterLists.Web/Startup.cs delete mode 100644 src/FilterLists.Web/Views/Home/Index.cshtml delete mode 100644 src/FilterLists.Web/Views/Shared/Error.cshtml delete mode 100644 src/FilterLists.Web/Views/Shared/_Layout.cshtml delete mode 100644 src/FilterLists.Web/Views/_ViewImports.cshtml delete mode 100644 src/FilterLists.Web/Views/_ViewStart.cshtml delete mode 100644 src/FilterLists.Web/npm-shrinkwrap.json rename src/{web => FilterLists.Web}/package-lock.json (100%) rename src/FilterLists.Web/{wwwroot => public}/icon_filterlists.png (100%) rename src/{web => FilterLists.Web}/public/index.html (100%) rename src/FilterLists.Web/{wwwroot => public}/logo_filterlists.png (100%) rename src/{web => FilterLists.Web}/public/manifest.json (100%) rename src/{web => FilterLists.Web}/src/App.css (100%) rename src/{web => FilterLists.Web}/src/App.test.tsx (100%) rename src/{web => FilterLists.Web}/src/App.tsx (100%) rename src/{web => FilterLists.Web}/src/Layout.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/Routes.tsx (100%) rename src/{web => FilterLists.Web}/src/index.css (100%) rename src/{web => FilterLists.Web}/src/index.tsx (100%) rename src/{web => FilterLists.Web}/src/logo.svg (100%) rename src/{web => FilterLists.Web}/src/modules/home/Home.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/HomeContainer.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/IListDetails.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/Oneliner.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/TagGroup.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/detailsExpander/DetailsExpander.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/detailsExpander/LinkButtonGroup.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/detailsExpander/index.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/detailsExpander/infoCard/Description.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/detailsExpander/infoCard/InfoCard.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/detailsExpander/infoCard/Languages.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/detailsExpander/infoCard/License.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/detailsExpander/infoCard/PublishedDate.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/detailsExpander/infoCard/RuleCount.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/detailsExpander/infoCard/Syntax.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/detailsExpander/infoCard/UpdatedDate.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/detailsExpander/infoCard/description.css (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/detailsExpander/infoCard/index.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerAdditionalLists.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerInfoCard.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerLinkButtonGroup.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainersInfoCard.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/detailsExpander/maintainersInfoCard/index.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/index.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/linkButtons/ChatButton.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/linkButtons/DonateButton.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/linkButtons/EmailButton.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/linkButtons/ForumButton.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/linkButtons/HomeButton.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/linkButtons/IssuesButton.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/linkButtons/LinkButton.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/linkButtons/PolicyButton.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/linkButtons/SubmitButton.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/linkButtons/SubscribeButton.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/linkButtons/SubscribeButtonGroup.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/linkButtons/TwitterButton.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/linkButtons/ViewButton.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/linkButtons/ViewButtonGroup.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/linkButtons/button.css (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/linkButtons/index.ts (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/listsTable/ListsTable.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/listsTable/columns/DetailsButton.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/listsTable/columns/Languages.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/listsTable/columns/License.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/listsTable/columns/Maintainers.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/listsTable/columns/Name.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/listsTable/columns/RuleCount.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/listsTable/columns/Software.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/listsTable/columns/SubscribeButton.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/listsTable/columns/Syntax.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/listsTable/columns/Tags.tsx (100%) rename src/{web => FilterLists.Web}/src/modules/home/components/listsTable/columns/UpdatedDate.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/listsTable/columns/index.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/listsTable/index.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/listsTable/listsTable.css (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/SoftwareIcon.tsx (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/01-uBlock-Origin.svg (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/02-Adblock-Plus.svg (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/03-AdGuard.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/03-AdGuard.svg (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/04-DNS66.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/05-Nano-Adblocker.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/06-AdBlock.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/07-AdAway.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/08-Personal-Blocklist.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/10-Redirector.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/11-Hosts-File-Editor.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/12-Gas-Mask.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/13-MinerBlock.svg (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/14-Pi-hole.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/14-Pi-hole.svg (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/15-uBlock.svg (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/16-Internet-Explorer-TPL.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/16-Internet-Explorer-TPL.svg (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/17-Google-Hit-Hider-by-Domain.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/18-FireHOL.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/19-Samsung-Knox.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/20-Little-Snitch.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/21-Privoxy.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/22-Diversion.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/23-dnsmasq.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/24-Slimjet.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/25-uMatrix.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/26-Blokada.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/27-hostsmgr.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/28-personalDNSfilter.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/28-personalDNSfilter.svg (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/29-Unbound.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/30-BIND.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/31-AdGuard-Home.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/32-AdNauseam.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/33-Legacy-Unix-Derivatives.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/34-Windows-command-line.png (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/imgs.d.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/imgs/index.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/components/softwareIcon/index.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/index.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/interfaces/IColumnVisibility.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/interfaces/ILanguage.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/interfaces/ILicense.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/interfaces/IList.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/interfaces/IMaintainer.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/interfaces/ISoftware.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/interfaces/ISyntax.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/home/interfaces/ITag.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/modules/index.ts (100%) rename src/{web => FilterLists.Web}/src/react-app-env.d.ts (100%) rename src/{web => FilterLists.Web}/src/serviceWorker.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/utils/GetContrast.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/utils/index.ts (100%) rename src/FilterLists.Web/{ClientApp => src}/utils/loader.css (100%) delete mode 100644 src/FilterLists.Web/webpack.config.js delete mode 100644 src/FilterLists.Web/webpack.config.vendor.js delete mode 100644 src/web/Dockerfile delete mode 100644 src/web/package.json delete mode 100644 src/web/public/icon_filterlists.png delete mode 100644 src/web/public/logo_filterlists.png delete mode 100644 src/web/src/Routes.tsx delete mode 100644 src/web/src/modules/home/components/Oneliner.tsx delete mode 100644 src/web/src/modules/home/components/detailsExpander/LinkButtonGroup.tsx delete mode 100644 src/web/src/modules/home/components/detailsExpander/infoCard/Description.tsx delete mode 100644 src/web/src/modules/home/components/detailsExpander/infoCard/RuleCount.tsx delete mode 100644 src/web/src/modules/home/components/detailsExpander/infoCard/description.css delete mode 100644 src/web/src/modules/home/components/detailsExpander/infoCard/index.ts delete mode 100644 src/web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerAdditionalLists.tsx delete mode 100644 src/web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerLinkButtonGroup.tsx delete mode 100644 src/web/src/modules/home/components/detailsExpander/maintainersInfoCard/index.ts delete mode 100644 src/web/src/modules/home/components/index.ts delete mode 100644 src/web/src/modules/home/components/linkButtons/ChatButton.tsx delete mode 100644 src/web/src/modules/home/components/linkButtons/DonateButton.tsx delete mode 100644 src/web/src/modules/home/components/linkButtons/EmailButton.tsx delete mode 100644 src/web/src/modules/home/components/linkButtons/ForumButton.tsx delete mode 100644 src/web/src/modules/home/components/linkButtons/HomeButton.tsx delete mode 100644 src/web/src/modules/home/components/linkButtons/IssuesButton.tsx delete mode 100644 src/web/src/modules/home/components/linkButtons/LinkButton.tsx delete mode 100644 src/web/src/modules/home/components/linkButtons/PolicyButton.tsx delete mode 100644 src/web/src/modules/home/components/linkButtons/SubmitButton.tsx delete mode 100644 src/web/src/modules/home/components/linkButtons/SubscribeButtonGroup.tsx delete mode 100644 src/web/src/modules/home/components/linkButtons/TwitterButton.tsx delete mode 100644 src/web/src/modules/home/components/linkButtons/ViewButton.tsx delete mode 100644 src/web/src/modules/home/components/linkButtons/ViewButtonGroup.tsx delete mode 100644 src/web/src/modules/home/components/linkButtons/button.css delete mode 100644 src/web/src/modules/home/components/linkButtons/index.ts delete mode 100644 src/web/src/modules/home/components/listsTable/columns/DetailsButton.tsx delete mode 100644 src/web/src/modules/home/components/listsTable/columns/Name.tsx delete mode 100644 src/web/src/modules/home/components/listsTable/columns/index.ts delete mode 100644 src/web/src/modules/home/components/listsTable/index.ts delete mode 100644 src/web/src/modules/home/components/listsTable/listsTable.css delete mode 100644 src/web/src/modules/home/components/softwareIcon/SoftwareIcon.tsx delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/01-uBlock-Origin.svg delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/02-Adblock-Plus.svg delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/03-AdGuard.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/03-AdGuard.svg delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/04-DNS66.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/05-Nano-Adblocker.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/06-AdBlock.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/07-AdAway.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/08-Personal-Blocklist.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/10-Redirector.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/11-Hosts-File-Editor.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/12-Gas-Mask.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/13-MinerBlock.svg delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/14-Pi-hole.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/14-Pi-hole.svg delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/15-uBlock.svg delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/16-Internet-Explorer-TPL.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/16-Internet-Explorer-TPL.svg delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/17-Google-Hit-Hider-by-Domain.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/18-FireHOL.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/19-Samsung-Knox.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/20-Little-Snitch.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/21-Privoxy.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/22-Diversion.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/23-dnsmasq.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/24-Slimjet.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/25-uMatrix.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/26-Blokada.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/27-hostsmgr.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/28-personalDNSfilter.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/28-personalDNSfilter.svg delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/29-Unbound.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/30-BIND.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/31-AdGuard-Home.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/32-AdNauseam.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/33-Legacy-Unix-Derivatives.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/34-Windows-command-line.png delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/imgs.d.ts delete mode 100644 src/web/src/modules/home/components/softwareIcon/imgs/index.ts delete mode 100644 src/web/src/modules/home/components/softwareIcon/index.ts delete mode 100644 src/web/src/modules/home/index.ts delete mode 100644 src/web/src/modules/home/interfaces/IColumnVisibility.ts delete mode 100644 src/web/src/modules/home/interfaces/ILanguage.ts delete mode 100644 src/web/src/modules/home/interfaces/ILicense.ts delete mode 100644 src/web/src/modules/home/interfaces/IList.ts delete mode 100644 src/web/src/modules/home/interfaces/IMaintainer.ts delete mode 100644 src/web/src/modules/home/interfaces/ISoftware.ts delete mode 100644 src/web/src/modules/home/interfaces/ISyntax.ts delete mode 100644 src/web/src/modules/home/interfaces/ITag.ts delete mode 100644 src/web/src/modules/index.ts delete mode 100644 src/web/src/utils/GetContrast.ts delete mode 100644 src/web/src/utils/index.ts delete mode 100644 src/web/src/utils/loader.css delete mode 100644 src/web/tsconfig.json diff --git a/.dockerignore b/.dockerignore index bde0e509e..2e64b7111 100644 --- a/.dockerignore +++ b/.dockerignore @@ -23,6 +23,7 @@ # Other common **/.gitattributes **/.github +**/.sln **/docker-compose.dcproj **/*.DotSettings* **/appsettings*.json @@ -31,8 +32,6 @@ LICENSE # FilterLists custom -FilterLists.sln -FilterLists.Api.sln imgs ops data/TPLSubscriptionAssistant.html \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 833ac8051..37d8826e7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,7 +17,7 @@ services: restart: always build: context: . - dockerfile: src/web/Dockerfile + dockerfile: src/FilterLists.Web/Dockerfile target: final networks: - reverse-proxy diff --git a/src/web/.gitignore b/src/FilterLists.Web/.gitignore similarity index 100% rename from src/web/.gitignore rename to src/FilterLists.Web/.gitignore diff --git a/src/FilterLists.Web/ClientApp/Boot.tsx b/src/FilterLists.Web/ClientApp/Boot.tsx deleted file mode 100644 index b6f2077ca..000000000 --- a/src/FilterLists.Web/ClientApp/Boot.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import * as React from "react"; -import * as ReactDOM from "react-dom"; -import { AppContainer } from "react-hot-loader"; -import { BrowserRouter } from "react-router-dom"; -import * as RoutesModule from "./Routes"; -let routes = RoutesModule.Routes; - -const renderApp = () => { - const baseUrl = document.getElementsByTagName("base")[0].getAttribute("href")!; - ReactDOM.render( - - - , - document.getElementById("react-app") - ); -}; - -renderApp(); - -if (module.hot) { - module.hot.accept("./Routes", - () => { - routes = require("./Routes").Routes; - renderApp(); - }); -} \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/Layout.tsx b/src/FilterLists.Web/ClientApp/Layout.tsx deleted file mode 100644 index 8024be1a7..000000000 --- a/src/FilterLists.Web/ClientApp/Layout.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import * as React from "react"; -import "bootstrap"; -import "./site.css"; - -interface IProps { - children?: React.ReactNode; -}; - -export const Layout = (props: IProps) => -
-
-
-
- { props.children } -
-
-
-
; - -const Header = () => -
-

- - FilterLists - -

-
; - -const Footer = () => -
-

- | | | | By -

-
; - -const HubLink = () => - - Hub - ; - -const GitHubLink = () => - - GitHub - ; - -const ApiLink = () => - - API - ; - -const DonateLink = () => - - Donate - ; - -const OwnerLink = () => - - Collin M. Barrett - ; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/Home.tsx b/src/FilterLists.Web/ClientApp/modules/home/Home.tsx deleted file mode 100644 index 06daee6a3..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/Home.tsx +++ /dev/null @@ -1,107 +0,0 @@ -import * as React from "react"; -import { IColumnVisibility, ILanguage, ILicense, IList, IMaintainer, ISoftware, ISyntax, ITag } from "./interfaces"; -import { ListsTable, Oneliner } from "./components"; - -const columnVisibilityDefaults: IColumnVisibility[] = [ - { column: "Software", visible: true }, - { column: "Languages", visible: true }, - { column: "Tags", visible: true }, - //{ column: "Updated", visible: false }, - //{ column: "Rules", visible: false }, - { column: "License", visible: false }, - { column: "Maintainers", visible: false }, - { column: "Subscribe", visible: false } -]; - -interface IProps { - languages: ILanguage[]; - licenses: ILicense[]; - lists: IList[]; - maintainers: IMaintainer[]; - //ruleCount: number; - software: ISoftware[]; - syntaxes: ISyntax[]; - tags: ITag[]; -}; - -interface IState { - columnVisibility: IColumnVisibility[]; - pageSize: number; -}; - -export class Home extends React.Component { - constructor(props: IProps) { - super(props); - this.state = { - columnVisibility: columnVisibilityDefaults, - pageSize: 20 - }; - this.updatePageSize = this.updatePageSize.bind(this); - } - - componentDidMount() { - this.setMobileColumnVisibility(); - this.updatePageSize(); - }; - - setMobileColumnVisibility() { - if (window.innerWidth < 768) { - this.state.columnVisibility.forEach((c: IColumnVisibility) => { - c.visible = false; - }); - } - }; - - updatePageSize() { - this.setState({ - pageSize: Math.max(Math.floor((window.innerHeight - 400) / 52), 5) - }); - }; - - render() { - return
- - - {this.renderColumnVisibilityCheckboxes()} -
; - }; - - renderColumnVisibilityCheckboxes() { - return this.props.lists.length > 0 - ?
- Visible:  {this.state.columnVisibility.map( - (c: IColumnVisibility, i: number) => this.renderColumnVisibilityCheckbox(c, i))} -
- : null; - }; - - renderColumnVisibilityCheckbox(props: IColumnVisibility, key: number) { - return
- this.checkColumn(props)}/> - -
; - }; - - checkColumn(props: IColumnVisibility) { - const columnVisibility = this.state.columnVisibility; - const index = this.findWithAttr(columnVisibility, "column", props.column); - columnVisibility[index].visible = !columnVisibility[index].visible; - this.forceUpdate(); - }; - - findWithAttr(array: any, attr: string, value: string) { - for (let i = 0; i < array.length; i += 1) { - if (array[i][attr] === value) { - return i; - } - } - return -1; - }; -}; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/HomeContainer.tsx b/src/FilterLists.Web/ClientApp/modules/home/HomeContainer.tsx deleted file mode 100644 index b5a34ba0e..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/HomeContainer.tsx +++ /dev/null @@ -1,94 +0,0 @@ -import * as React from "react"; -import "isomorphic-fetch"; -import { ILanguage, ILicense, IList, IMaintainer, ISoftware, ISyntax, ITag } from "./interfaces"; -import { Home } from "./Home"; - -interface IState { - languages: ILanguage[]; - licenses: ILicense[]; - lists: IList[]; - maintainers: IMaintainer[]; - ruleCount: number; - software: ISoftware[]; - syntaxes: ISyntax[]; - tags: ITag[]; -}; - -export class HomeContainer extends React.Component<{}, IState> { - constructor(props: any) { - super(props); - this.state = { - languages: [], - licenses: [], - lists: [], - maintainers: [], - ruleCount: 0, - software: [], - syntaxes: [], - tags: [] - }; - } - - componentDidMount() { - this.fetchLanguages(); - this.fetchLicenses(); - this.fetchLists(); - this.fetchMaintainers(); - this.fetchSoftware(); - this.fetchSyntaxes(); - this.fetchTags(); - // this.fetchRuleCount(); - }; - - fetchLanguages() { - fetch("/api/v1/languages") - .then(r => r.json() as Promise) - .then(p => { this.setState({ languages: p }); }); - }; - - fetchLicenses() { - fetch("/api/v1/licenses") - .then(r => r.json() as Promise) - .then(p => { this.setState({ licenses: p }); }); - }; - - fetchLists() { - fetch("/api/v1/lists") - .then(r => r.json() as Promise) - .then(p => { this.setState({ lists: p }); }); - }; - - fetchMaintainers() { - fetch("/api/v1/maintainers") - .then(r => r.json() as Promise) - .then(p => { this.setState({ maintainers: p }); }); - }; - - fetchSoftware() { - fetch("/api/v1/software") - .then(r => r.json() as Promise) - .then(p => { this.setState({ software: p }); }); - }; - - fetchSyntaxes() { - fetch("/api/v1/syntaxes") - .then(r => r.json() as Promise) - .then(p => { this.setState({ syntaxes: p }); }); - }; - - fetchTags() { - fetch("/api/v1/tags") - .then(r => r.json() as Promise) - .then(p => { this.setState({ tags: p }); }); - }; - - fetchRuleCount() { - fetch("/api/v1/rules") - .then(r => r.json() as Promise) - .then(p => { this.setState({ ruleCount: p }); }); - }; - - render() { - return ; - }; -}; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/TagGroup.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/TagGroup.tsx deleted file mode 100644 index 5f7a609da..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/TagGroup.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import * as React from "react"; -import { ITag } from "../interfaces"; -import { getContrast } from "../../../utils"; - -interface IProps { - tags: ITag[]; -}; - -export const TagGroup = (props: IProps) => - props.tags && props.tags.length > 0 - ?
- {props.tags.map((t: ITag, i: number) => )} -
- : null; - -interface ITagProps { - tag: ITag; -}; - -const Tag = (props: ITagProps) => { - if (props.tag) { - const hexColor = kelly_colors_hex[props.tag.id % kelly_colors_hex.length]; - return - {props.tag.name} - ; - } else { - return null; - } -}; - -//https://stackoverflow.com/a/4382138/2343739 -const kelly_colors_hex = [ - "FFB300", // Vivid Yellow - "803E75", // Strong Purple - "FF6800", // Vivid Orange - "A6BDD7", // Very Light Blue - "C10020", // Vivid Red - "CEA262", // Grayish Yellow - "817066", // Medium Gray - "007D34", // Vivid Green - "F6768E", // Strong Purplish Pink - "00538A", // Strong Blue - "FF7A5C", // Strong Yellowish Pink - "53377A", // Strong Violet - "FF8E00", // Vivid Orange Yellow - "B32851", // Strong Purplish Red - "F4C800", // Vivid Greenish Yellow - "7F180D", // Strong Reddish Brown - "93AA00", // Vivid Yellowish Green - "593315", // Deep Yellowish Brown - "F13A13", // Vivid Reddish Orange - "232C16", // Dark Olive Green - "000000", // Black - "FFFFFF", // White - "C2F4BE", // Light Green - "1EDBB9", // Medium Greenish Blue - "890000", // Dark Red - "474747", // Dark Grey - "BFA125", // Matte Gold - "A7823C", // Dark Beige - "035A5C" // Dark Greenish Blue -]; diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/DetailsExpander.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/DetailsExpander.tsx deleted file mode 100644 index 852dbea32..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/DetailsExpander.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import * as React from "react"; -import { IColumnVisibility, ISoftware } from "../../interfaces"; -import { IListDetails } from "./IListDetails"; -import { InfoCard } from "./infoCard"; -import { LinkButtonGroup } from "./LinkButtonGroup"; -import { MaintainersInfoCard } from "./maintainersInfoCard"; - -interface IProps { - columnVisibility: IColumnVisibility[]; - list: IListDetails; - software: ISoftware[]; -}; - -export const DetailsExpander = (props: IProps) => -
-
-
-
- - -
-
- -
-
-
-
; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/IListDetails.ts b/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/IListDetails.ts deleted file mode 100644 index 5b87aa51f..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/IListDetails.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { ILanguage, ILicense, IMaintainer, ISyntax, ITag } from "../../interfaces"; - -export interface IListDetails { - id: number; - chatUrl: string; - description: string; - descriptionSourceUrl: string; - donateUrl: string; - emailAddress: string; - forumUrl: string; - homeUrl: string; - issuesUrl: string; - languages: ILanguage[]; - license: ILicense; - maintainers: IMaintainer[]; - name: string; - policyUrl: string; - publishedDate: string; - //ruleCount: number; - submissionUrl: string; - syntax: ISyntax; - tags: ITag[]; - //updatedDate: string; - viewUrl: string; - viewUrlMirrors: string[]; -}; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/index.ts b/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/index.ts deleted file mode 100644 index 6b887a094..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { DetailsExpander } from "./DetailsExpander"; -import { IListDetails } from "./IListDetails"; - -export { - DetailsExpander, - IListDetails - }; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/InfoCard.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/InfoCard.tsx deleted file mode 100644 index 9e8ba3ae2..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/InfoCard.tsx +++ /dev/null @@ -1,57 +0,0 @@ -import * as React from "react"; -import { IColumnVisibility } from "../../../interfaces"; -import { ILanguage, ILicense, ISoftware, ISyntax, ITag } from "../../../interfaces"; -import { Description } from "./Description"; -import { Languages } from "./Languages"; -import { License } from "./License"; -import { PublishedDate } from "./PublishedDate"; -import { RuleCount } from "./RuleCount"; -import { SoftwareIcon } from "../../softwareIcon"; -import { Syntax } from "./Syntax"; -import { TagGroup } from "../../TagGroup" -import { UpdatedDate } from "./UpdatedDate"; - -interface IProps { - columnVisibility: IColumnVisibility[]; - description: string; - descriptionSourceUrl: string; - languages: ILanguage[]; - license: ILicense; - name: string; - publishedDate: string; - //ruleCount: number; - software: ISoftware[]; - syntax: ISyntax; - tags: ITag[]; - //updatedDate: string; -}; - -export const InfoCard = (props: IProps) => -
- {props.columnVisibility.filter((c: IColumnVisibility) => c.column === "Tags")[0].visible - ? null - : } -
- {props.columnVisibility.filter((c: IColumnVisibility) => c.column === "Software")[0].visible - ? null - : props.syntax - ? props.software.filter((s: ISoftware) => s.syntaxIds.indexOf(props.syntax.id) > -1) - .map((s: ISoftware, i: number) => ) - : null} -
- -
    - - {/*{props.columnVisibility.filter((c: IColumnVisibility) => c.column === "Rules")[0].visible - ? null - : } - {props.columnVisibility.filter((c: IColumnVisibility) => c.column === "Updated")[0].visible - ? null - : }*/} - - - {props.columnVisibility.filter((c: IColumnVisibility) => c.column === "License")[0].visible - ? null - : } -
-
; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/Languages.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/Languages.tsx deleted file mode 100644 index c3390c299..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/Languages.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import * as React from "react"; -import { ILanguage } from "../../../interfaces"; - -interface IProps { - languages: ILanguage[]; -}; - -export const Languages = (props: IProps) => - props.languages && props.languages.length > 0 - ? props.languages.length > 1 - ?
  • -

    Languages:

    -
      - {props.languages.map((language: ILanguage, i: number) =>
    • {language.name}
    • )} -
    -
  • - :
  • -

    Language: {props.languages[0].name}

    -
  • - : null; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/License.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/License.tsx deleted file mode 100644 index a6222c8a9..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/License.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import * as React from "react"; -import { ILicense } from "../../../interfaces"; - -interface IProps { - license: ILicense; -}; - -export const License = (props: IProps) => - props.license.name - ? (props.license.descriptionUrl - ?
  • -

    License: {props.license.name}

    -
  • - :
  • -

    License: {props.license.name}

    -
  • ) - : null; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/PublishedDate.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/PublishedDate.tsx deleted file mode 100644 index 530a08950..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/PublishedDate.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import * as React from "react"; -import * as moment from "moment"; - -interface IProps { - date: string; -}; - -export const PublishedDate = (props: IProps) => - props.date - ?
  • -

    Published: {moment(props.date).format("l")}

    -
  • - : null; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/Syntax.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/Syntax.tsx deleted file mode 100644 index 3a3356b85..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/Syntax.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import * as React from "react"; -import { ISyntax } from "../../../interfaces"; - -interface IProps { - syntax: ISyntax; -}; - -export const Syntax = (props: IProps) => - props.syntax - ? (props.syntax.definitionUrl - ?
  • -

    Syntax: {props.syntax.name}

    -
  • - :
  • -

    Syntax: {props.syntax.name}

    -
  • ) - : null; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/UpdatedDate.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/UpdatedDate.tsx deleted file mode 100644 index 7e72853f0..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/UpdatedDate.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import * as React from "react"; -import * as moment from "moment"; - -interface IProps { - updatedDate: string; -}; - -export const UpdatedDate = (props: IProps) => - props.updatedDate - ?
  • -

    Updated: {moment(props.updatedDate).isValid() - ? moment(props.updatedDate).format("l") - : "N/A"}

    -
  • - : null; diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerInfoCard.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerInfoCard.tsx deleted file mode 100644 index c2315b1a6..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerInfoCard.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import * as React from "react"; -import { IMaintainer } from "../../../interfaces"; -import { MaintainerAdditionalLists } from "./MaintainerAdditionalLists"; -import { MaintainerLinkButtonGroup } from "./MaintainerLinkButtonGroup"; - -interface IProps { - maintainer: IMaintainer; -}; - -export const MaintainerInfoCard = (props: IProps) => - props.maintainer.name - ?
    -
    -

    Maintained by {props.maintainer.name}

    -
    -
    - - -
    -
    -
    -
    - : null; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/maintainersInfoCard/MaintainersInfoCard.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/maintainersInfoCard/MaintainersInfoCard.tsx deleted file mode 100644 index cb95cbcf9..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/maintainersInfoCard/MaintainersInfoCard.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import * as React from "react"; -import { IMaintainer } from "../../../interfaces"; -import { MaintainerInfoCard } from "./MaintainerInfoCard"; - -interface IProps { - maintainers: IMaintainer[]; -}; - -export const MaintainersInfoCard = (props: IProps) => - props.maintainers && props.maintainers.length > 0 - ?
    - {props.maintainers.map((m: IMaintainer, i: number) => )} -
    - : null; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/SubscribeButton.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/SubscribeButton.tsx deleted file mode 100644 index f7f3d4c1b..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/SubscribeButton.tsx +++ /dev/null @@ -1,62 +0,0 @@ -import * as React from "react"; -import { LinkButton } from "./LinkButton"; - -interface IProps { - name: string; - url: string; - text?: string; -}; - -export const SubscribeButton = (props: IProps) => { - let buttonClass: string | undefined; - let titlePrefix: string; - - if (props.url.indexOf(".onion/") > 0) { - buttonClass = "btn-success"; - titlePrefix = "Tor address - "; - } else if (props.url.indexOf("http://") === 0) { - buttonClass = "btn-danger"; - titlePrefix = "Not Secure - "; - } else { - buttonClass = undefined; - titlePrefix = ""; - } - - const hrefTitle = `${encodeURIComponent(props.name)}`; - let href; -if (props.url.indexOf(".tpl") > 0) -{ - href = `javascript:window.external.msAddTrackingProtectionList('${encodeURIComponent(props.url)}', '${hrefTitle}')`; -} else if (props.url.indexOf(".lsrules") > 0) -{ - href = `x-littlesnitch:subscribe-rules?url=${encodeURIComponent(props.url)}`; -} else if (props.url.indexOf("?hostformat=littlesnitch") > 0) -{ - href = `x-littlesnitch:subscribe-rules?url=${encodeURIComponent(props.url)}`; -} else { - href = `abp:subscribe?location=${encodeURIComponent(props.url)}&title=${hrefTitle}`; -}; - - - - let title; -if (props.url.indexOf(".tpl") > 0) -{ - title = `${titlePrefix}Subscribe to ${props.name} with Internet Explorer's Tracking Protection List feature.`; -} else if (props.url.indexOf(".lsrules") > 0) -{ - title = `${titlePrefix}Subscribe to ${props.name} with Little Snitch's rule group subscription feature.`; -} else if (props.url.indexOf("?hostformat=littlesnitch") > 0) -{ - title = `${titlePrefix}Subscribe to ${props.name} with Little Snitch's rule group subscription feature.`; -} else { - title = `${titlePrefix}Subscribe to ${props.name} with a browser extension supporting the \"abp:\" protocol (e.g. uBlock Origin, Adblock Plus).`; -}; - - return props.url - ? - : null; -}; diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/ListsTable.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/ListsTable.tsx deleted file mode 100644 index 859673237..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/ListsTable.tsx +++ /dev/null @@ -1,104 +0,0 @@ -import * as React from "react"; -import { IColumnVisibility, ILanguage, ILicense, IList, IMaintainer, ISoftware, ISyntax, ITag } from "../../interfaces"; -import "../../../../utils/loader.css"; -import ReactTable from "react-table"; -import "react-table/react-table.css"; -import "./listsTable.css"; -import { - DetailsButton, - Languages, - License, - Maintainers, - Name, - //RuleCount, - Software, - SubscribeButton, - Tags, - //UpdatedDate -} from "./columns"; -import { IListDetails } from "../../components/detailsExpander"; -import { DetailsExpander } from "../../components"; - -interface IProps { - languages: ILanguage[]; - licenses: ILicense[]; - lists: IList[]; - maintainers: IMaintainer[]; - software: ISoftware[]; - syntaxes: ISyntax[]; - tags: ITag[]; - columnVisibility: IColumnVisibility[]; - pageSize: number; -}; - -export const ListsTable = (props: IProps) => - props.languages.length > 0 && props.lists.length > 0 && props.software.length > 0 && props.tags.length > 0 - ? - } - className="-striped -highlight"/> - :
    Loading...
    ; - -interface ICreateListDtoProps { - list: IList; - languages: ILanguage[]; - licenses: ILicense[]; - maintainers: IMaintainer[]; - syntaxes: ISyntax[]; - tags: ITag[]; -}; - -const mapListDetails = (props: ICreateListDtoProps): IListDetails => -({ - id: props.list.id, - chatUrl: props.list.chatUrl, - description: props.list.description, - descriptionSourceUrl: props.list.descriptionSourceUrl, - donateUrl: props.list.donateUrl, - emailAddress: props.list.emailAddress, - forumUrl: props.list.forumUrl, - homeUrl: props.list.homeUrl, - issuesUrl: props.list.issuesUrl, - languages: props.list.languageIds - ? props.languages.filter((l: ILanguage) => props.list.languageIds.indexOf(l.id) > -1) - : undefined, - license: props.licenses.filter((l: ILicense) => props.list.licenseId === l.id)[0], - maintainers: props.list.maintainerIds - ? props.maintainers.filter((m: IMaintainer) => props.list.maintainerIds.indexOf(m.id) > -1) - : undefined, - name: props.list.name, - policyUrl: props.list.policyUrl, - publishedDate: props.list.publishedDate, - //ruleCount: props.list.ruleCount, - submissionUrl: props.list.submissionUrl, - syntax: props.syntaxes.filter((s: ISyntax) => props.list.syntaxId === s.id)[0], - tags: props.list.tagIds ? props.tags.filter((t: ITag) => props.list.tagIds.indexOf(t.id) > -1) : undefined, - //updatedDate: props.list.updatedDate, - viewUrl: props.list.viewUrl, - viewUrlMirrors: props.list.viewUrlMirrors -} as IListDetails); \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Languages.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Languages.tsx deleted file mode 100644 index 828b2fd54..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Languages.tsx +++ /dev/null @@ -1,71 +0,0 @@ -import * as React from "react"; -import { Column, Filter } from "react-table"; -import { IColumnVisibility, ILanguage } from "../../../interfaces"; - -export const Languages = (columnVisibility: IColumnVisibility[], languages: ILanguage[]) => { - const languagesSorted = languages.sort((a, b) => a.name.localeCompare(b.name)); - return ({ - Header: Languages, - accessor: "languageIds", - filterable: true, - filterMethod: (f: Filter, r: any[]) => filterMethod(f, r), - Filter: ({ onChange, filter }: any) => Filter({ onChange, filter }, languagesSorted), - sortMethod: (a: number[], b: number[]) => sortMethod(a, b, languagesSorted), - Cell: (c: any) => Cell(c.value, languagesSorted), - style: { whiteSpace: "inherit" }, - width: 95, - show: columnVisibility.filter((c: IColumnVisibility) => c.column === "Languages")[0].visible - } as Column); -}; - -const filterMethod = (f: Filter, r: any[]): boolean => { - const listLanguageIds = r[f.id as any]; - return f.value === "any" || - (listLanguageIds - ? listLanguageIds.join(",").split(",").includes(f.value) - : f.value === "none"); -}; - -const Filter = (props: any, languages: ILanguage[]) => - ; - -const sortMethod = (a: number[], b: number[], languages: ILanguage[]) => { - if (a && a.length > 0) { - if (b && b.length > 0) { - const aLanguageNames = - languages.filter((l: ILanguage) => a.indexOf(l.id) > -1).map((l: ILanguage) => l.name).join(); - const bLanguageNames = - languages.filter((l: ILanguage) => b.indexOf(l.id) > -1).map((l: ILanguage) => l.name).join(); - return aLanguageNames.toLowerCase() > bLanguageNames.toLowerCase() ? 1 : -1; - } else { - return -1; - } - } else { - return 1; - } -}; - -const Cell = (languageIds: number[], languages: ILanguage[]) => - languageIds - ?
    - {languageIds.map((id: number, i: number) => { - const language = languages.filter((l: ILanguage) => l.id === id)[0]; - return - {language.iso6391} - ; - })} -
    - : null; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/License.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/License.tsx deleted file mode 100644 index 359e1e777..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/License.tsx +++ /dev/null @@ -1,68 +0,0 @@ -import * as React from "react"; -import { Column, Filter } from "react-table"; -import { IColumnVisibility, ILicense } from "../../../interfaces"; - -export const License = (columnVisibility: IColumnVisibility[], licenses: ILicense[]) => -({ - Header: License, - accessor: "licenseId", - filterable: true, - filterMethod: (f: Filter, r: any[]) => filterMethod(f, r, licenses), - Filter: ({ filter, onChange }: any) => Filter({ onChange, filter }, licenses), - sortMethod: (a: number, b: number) => sortMethod(a, b, licenses), - Cell: (c: any) => Cell(c.value, licenses), - width: 75, - show: columnVisibility.filter((c: IColumnVisibility) => c.column === "License")[0].visible -} as Column); - -const filterMethod = (f: Filter, r: any[], licenses: ILicense[]): boolean => { - const listLicenseId: number = r[f.id as any]; - if (f.value === "any") { - return true; - } else if (listLicenseId) { - const licenseFiltered = licenses.filter((l: ILicense) => l.id === parseInt(f.value))[0]; - return listLicenseId === licenseFiltered.id; - } else { - return false; - } -}; - -const Filter = (props: any, licenses: ILicense[]) => - ; - -const sortMethod = (a: number, b: number, licenses: ILicense[]) => { - if (a) { - if (b) { - const aLicenseName = licenses.filter((l: ILicense) => l.id === a)[0].name.replace(/['"]+/g, ""); - const bLicenseName = licenses.filter((l: ILicense) => l.id === b)[0].name.replace(/['"]+/g, ""); - return aLicenseName.toLowerCase() > bLicenseName.toLowerCase() ? 1 : -1; - } else { - return -1; - } - } else { - return 1; - } -}; - -const Cell = (licenseId: number, licenses: ILicense[]) => { - const license = licenses.filter((l: ILicense) => licenseId === l.id)[0]; - return license - ?
    - - {license.descriptionUrl ? {license.name} : license.name} - -
    - : null; -}; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Maintainers.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Maintainers.tsx deleted file mode 100644 index 2476f84e2..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Maintainers.tsx +++ /dev/null @@ -1,68 +0,0 @@ -import * as React from "react"; -import { Column, Filter } from "react-table"; -import { IColumnVisibility, IMaintainer } from "../../../interfaces"; - -export const Maintainers = (columnVisibility: IColumnVisibility[], maintainers: IMaintainer[]) => -({ - Header: Maintainers, - accessor: "maintainerIds", - filterable: true, - filterMethod: (f: Filter, r: any[]) => filterMethod(f, r, maintainers), - Filter: ({ filter, onChange }: any) => Filter({ onChange, filter }, maintainers), - sortMethod: (a: number[], b: number[]) => sortMethod(a, b, maintainers), - Cell: (c: any) => Cell(c.value, maintainers), - width: 140, - show: columnVisibility.filter((c: IColumnVisibility) => c.column === "Maintainers")[0].visible -} as Column); - -const filterMethod = (f: Filter, r: any[], maintainers: IMaintainer[]): boolean => { - const listMaintainerIds: number[] = r[f.id as any]; - return f.value === "any" || - (listMaintainerIds - ? f.value === "none" - ? false - : listMaintainerIds.indexOf(maintainers.filter((m: IMaintainer) => m.id === parseInt(f.value))[0].id) > -1 - : f.value === "none"); -}; - -const Filter = (props: any, maintainers: IMaintainer[]) => - ; - -const sortMethod = (a: number[], b: number[], maintainers: IMaintainer[]) => { - if (a && a.length > 0) { - if (b && b.length > 0) { - const aFirstMaintainerName = maintainers.filter((m: IMaintainer) => m.id === a[0])[0].name; - const bFirstMaintainerName = maintainers.filter((m: IMaintainer) => m.id === b[0])[0].name; - return aFirstMaintainerName.toLowerCase() > bFirstMaintainerName.toLowerCase() ? 1 : -1; - } else { - return -1; - } - } else { - return 1; - } -}; - -const Cell = (maintainerIds: number[], maintainers: IMaintainer[]) => - maintainerIds - ?
    - {maintainers.filter((m: IMaintainer) => maintainerIds.indexOf(m.id) > -1) - .map((m: IMaintainer, i: number) => { - return m.homeUrl - ? {m.name} - : {m.name}; - }).reduce(((prev: JSX.Element, curr: JSX.Element): any => [prev, ", ", curr]) as any)} -
    - : null; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/RuleCount.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/RuleCount.tsx deleted file mode 100644 index 33689baa9..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/RuleCount.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import * as React from "react"; -import { Column } from "react-table"; -import { IColumnVisibility } from "../../../interfaces"; - -export const RuleCount = (columnVisibility: IColumnVisibility[]) => -({ - Header: Rules, - accessor: "ruleCount", - sortMethod: (a: string, b: string) => sortMethod(a, b), - Cell: (c: any) => Cell(c.value), - style: { whiteSpace: "inherit" }, - width: 85, - show: columnVisibility.filter((c: IColumnVisibility) => c.column === "Rules")[0].visible -} as Column); - -const sortMethod = (a: string, b: string) => - a - ? b - ? a > b - ? -1 - : 1 - : -1 - : 1; - -const Cell = (ruleCount: number) => - ruleCount - ? { ruleCount.toLocaleString() } - : null; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Software.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Software.tsx deleted file mode 100644 index 485af2731..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Software.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import * as React from "react"; -import { Column, Filter } from "react-table"; -import { IColumnVisibility, ISoftware } from "../../../interfaces"; -import { SoftwareIcon } from "../../softwareIcon"; - -export const Software = (columnVisibility: IColumnVisibility[], software: ISoftware[]) => { - const softwareSorted = software.sort((a, b) => a.name.localeCompare(b.name)); - return ({ - Header: - Software, - accessor: "syntaxId", - filterable: true, - filterMethod: (f: Filter, r: any[]) => filterMethod(f, r, softwareSorted), - Filter: ({ filter, onChange }: any) => Filter({ onChange, filter }, softwareSorted), - sortMethod: (a: number, b: number) => sortMethod(a, b, softwareSorted), - Cell: (c: any) => Cell(c.value, software), - width: 155, - show: columnVisibility.filter((c: IColumnVisibility) => c.column === "Software")[0].visible - } as Column); -}; - -const filterMethod = (f: Filter, r: any[], software: ISoftware[]): boolean => { - const isAny = f.value === "any"; - const softwareFiltered = isAny ? software : software.filter((s: ISoftware) => s.id === parseInt(f.value)); - const listSyntaxId: number = r[f.id as any]; - const isMatch = softwareFiltered[0].syntaxIds ? softwareFiltered[0].syntaxIds.indexOf(listSyntaxId) > -1 : false; - return isAny || (listSyntaxId ? isMatch : false); -}; - -const Filter = (props: any, software: ISoftware[]) => - ; - -const sortMethod = (a: number, b: number, software: ISoftware[]) => { - if (a) { - if (b) { - const aSoftwareNames = - software.filter((s: ISoftware) => s.syntaxIds.indexOf(a) > -1).map((s: ISoftware) => s.name); - const bSoftwareNames = - software.filter((s: ISoftware) => s.syntaxIds.indexOf(b) > -1).map((s: ISoftware) => s.name); - if (aSoftwareNames.length === bSoftwareNames.length) { - return aSoftwareNames.join().toLowerCase() > bSoftwareNames.join().toLowerCase() ? 1 : -1; - } else if (aSoftwareNames.length > bSoftwareNames.length) { - return -1; - } else { - return 1; - } - } else { - return -1; - } - } else { - return 1; - } -}; - -const Cell = (listSyntaxId: number, software: ISoftware[]) => - listSyntaxId - ?
    - {software.filter((s: ISoftware) => s.syntaxIds.indexOf(listSyntaxId) > -1) - .map((s: ISoftware, i: number) => - s.homeUrl - ? - - - : )} -
    - : null; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/SubscribeButton.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/SubscribeButton.tsx deleted file mode 100644 index 2df9408e2..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/SubscribeButton.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import * as React from "react"; -import { Column, Filter } from "react-table"; -import { IColumnVisibility } from "../../../interfaces"; -import { SubscribeButtonGroup } from "../../linkButtons"; - -export const SubscribeButton = (columnVisibility: IColumnVisibility[]) => ({ - Header: - Subscribe - , - accessor: "viewUrl", - filterable: true, - filterMethod: (f: Filter, r: any[]) => filterMethod(f, r), - sortMethod: (a: string, b: string) => sortMethod(a, b), - Cell: (c: any) => , - style: { textAlign: "center" }, - width: 110, - show: columnVisibility.filter((c: IColumnVisibility) => c.column === "Subscribe")[0].visible -} as Column); - -const filterMethod = (f: Filter, r: any[]): boolean => - r[f.id as any].toUpperCase().includes(f.value.toUpperCase()); - -const sortMethod = (a: string, b: string) => - a.toLowerCase() > b.toLowerCase() ? 1 : -1; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Syntax.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Syntax.tsx deleted file mode 100644 index 25f9ff832..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Syntax.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import * as React from "react"; -import { Column, Filter } from "react-table"; -import { IColumnVisibility, ISyntax } from "../../../interfaces"; - -//TODO: https://github.com/collinbarrett/FilterLists/issues/488 -export const Syntax = (columnVisibility: IColumnVisibility[], syntaxes: ISyntax[]) => ({ - Header: Syntax, - accessor: "syntaxId", - filterable: true, - filterMethod: (f: Filter, r: any[]) => filterMethod(f, r, syntaxes), - Filter: ({ filter, onChange }: any) => Filter({ onChange, filter }, syntaxes), - Cell: (c: any) => Cell(c.value, syntaxes), - width: 155, - show: columnVisibility.filter((c: IColumnVisibility) => c.column === "Syntax")[0].visible -} as Column); - -const filterMethod = (f: Filter, r: any[], syntaxes: ISyntax[]): boolean => { - const listSyntaxId: number = r[f.id as any]; - if (f.value === "any") { - return true; - } else if (listSyntaxId) { - const syntaxFiltered = syntaxes.filter((s: ISyntax) => s.id === parseInt(f.value)); - return syntaxFiltered[0].id - ? syntaxFiltered[0].id === listSyntaxId - : false; - } else { - return false; - } -}; - -const Filter = (props: any, syntaxes: ISyntax[]) => - ; - -const Cell = (listSyntaxId: number, syntaxes: ISyntax[]) => - listSyntaxId - ? syntaxes.filter((s: ISyntax) => s.id === listSyntaxId)[0].name - : null; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Tags.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Tags.tsx deleted file mode 100644 index 2031860dc..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Tags.tsx +++ /dev/null @@ -1,63 +0,0 @@ -import * as React from "react"; -import { Column, Filter } from "react-table"; -import { TagGroup } from "../../TagGroup"; -import { IColumnVisibility, ITag } from "../../../interfaces"; - -export const Tags = (columnVisibility: IColumnVisibility[], tags: ITag[]) => { - const tagsSorted = tags.sort((a: ITag, b: ITag) => a.name.localeCompare(b.name)); - return ({ - Header: - Tags, - accessor: "tagIds", - filterable: true, - filterMethod: (f: Filter, r: any[]) => filterMethod(f, r), - Filter: ({ onChange, filter }: any) => Filter({ onChange, filter }, tagsSorted), - sortMethod: (a: number[], b: number[]) => sortMethod(a, b, tagsSorted), - Cell: (c: any) => Cell(c.value, tagsSorted), - width: 260, - show: columnVisibility.filter((c: IColumnVisibility) => c.column === "Tags")[0].visible - } as Column); -}; - -const filterMethod = (f: Filter, r: any[]): boolean => { - const listTagIds = r[f.id as any]; - return f.value === "any" || - (listTagIds - ? listTagIds.join(",").split(",").includes(f.value) - : f.value === "none"); -}; - -const Filter = (props: any, tags: ITag[]) => - ; - -const sortMethod = (a: number[], b: number[], tags: ITag[]): any => { - return a - ? b - ? a.length === b.length - ? tags.filter((t: ITag) => a.indexOf(t.id) > -1).map((t: ITag) => t.name).join() - .toLowerCase() > - tags.filter((t: ITag) => b.indexOf(t.id) > -1).map((t: ITag) => t.name).join().toLowerCase() - ? 1 - : -1 - : a.length > b.length - ? -1 - : 1 - : -1 - : 1; -}; - -const Cell = (tagIds: number[], tags: ITag[]) => - tagIds - ? tagIds.indexOf(t.id) > -1)}/> - : null; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/UpdatedDate.tsx b/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/UpdatedDate.tsx deleted file mode 100644 index 0542a50cf..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/UpdatedDate.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import * as React from "react"; -import { Column } from "react-table"; -import * as moment from "moment"; -import { IColumnVisibility } from "../../../interfaces"; - -export const UpdatedDate = (columnVisibility: IColumnVisibility[]) => -({ - Header: Updated, - accessor: "updatedDate", - sortMethod: (a: string, b: string) => sortMethod(a, b), - Cell: (c: any) => Cell(c.value), - style: { whiteSpace: "inherit" }, - width: 100, - show: columnVisibility.filter((c: IColumnVisibility) => c.column === "Updated")[0].visible -} as Column); - -const sortMethod = (a: string, b: string) => - a && moment(a).isValid() - ? (b && moment(b).isValid() - ? (moment(a).isBefore(b) - ? 1 - : -1) - : -1) - : 1; - -const Cell = (updatedDate: string) => - updatedDate - ?
    - {moment(updatedDate).isValid() - ? moment(updatedDate).format("l") - : null} -
    - : null; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/modules/home/interfaces/index.ts b/src/FilterLists.Web/ClientApp/modules/home/interfaces/index.ts deleted file mode 100644 index 6a72c288c..000000000 --- a/src/FilterLists.Web/ClientApp/modules/home/interfaces/index.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { IColumnVisibility } from "./IColumnVisibility"; -import { ILanguage } from "./ILanguage"; -import { ILicense } from "./ILicense"; -import { IList } from "./IList"; -import { IMaintainer } from "./IMaintainer"; -import { ISoftware } from "./ISoftware"; -import { ISyntax } from "./ISyntax"; -import { ITag } from "./ITag"; - -export { - IColumnVisibility, - ILanguage, - ILicense, - IList, - IMaintainer, - ISoftware, - ISyntax, - ITag - }; \ No newline at end of file diff --git a/src/FilterLists.Web/ClientApp/site.css b/src/FilterLists.Web/ClientApp/site.css deleted file mode 100644 index 92db0e3e2..000000000 --- a/src/FilterLists.Web/ClientApp/site.css +++ /dev/null @@ -1,3 +0,0 @@ -body, h2, h3, h4, h5, blockquote { font-size: 16px; } -.container{ max-width:98vw!important;padding-left:7px!important } -.w-100{ padding-left:7px!important } diff --git a/src/FilterLists.Web/Controllers/HomeController.cs b/src/FilterLists.Web/Controllers/HomeController.cs deleted file mode 100644 index b328f2031..000000000 --- a/src/FilterLists.Web/Controllers/HomeController.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.Diagnostics; -using Microsoft.AspNetCore.Mvc; - -namespace FilterLists.Web.Controllers -{ - public class HomeController : Controller - { - public IActionResult Index() => View(); - - public IActionResult Error() - { - ViewData["RequestId"] = Activity.Current?.Id ?? HttpContext.TraceIdentifier; - return View(); - } - } -} \ No newline at end of file diff --git a/src/FilterLists.Web/DependencyInjection/Extensions/ConfigureServicesCollection.cs b/src/FilterLists.Web/DependencyInjection/Extensions/ConfigureServicesCollection.cs deleted file mode 100644 index 1918a1926..000000000 --- a/src/FilterLists.Web/DependencyInjection/Extensions/ConfigureServicesCollection.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.DependencyInjection; - -namespace FilterLists.Web.DependencyInjection.Extensions -{ - public static class ConfigureServicesCollection - { - public static void AddFilterListsWeb(this IServiceCollection services) - { - services.ConfigureCookiePolicy(); - services.AddMvcCustom(); - } - - private static void ConfigureCookiePolicy(this IServiceCollection services) => - services.Configure(options => - { - options.CheckConsentNeeded = context => true; - options.MinimumSameSitePolicy = SameSiteMode.None; - }); - - private static void AddMvcCustom(this IServiceCollection services) => - services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); - } -} \ No newline at end of file diff --git a/src/FilterLists.Web/Dockerfile b/src/FilterLists.Web/Dockerfile index f2278d5a7..6e15a90bb 100644 --- a/src/FilterLists.Web/Dockerfile +++ b/src/FilterLists.Web/Dockerfile @@ -2,28 +2,14 @@ # Command: docker build -f src/FilterLists.Web/Dockerfile . # init base -FROM mcr.microsoft.com/dotnet/core/runtime-deps:2.2-alpine as base -EXPOSE 80 -ENTRYPOINT ["./FilterLists.Web"] -WORKDIR /app +FROM node:alpine as final +CMD ["npm", "start"] +EXPOSE 3000 +WORKDIR /usr/app/ -# init build -FROM mcr.microsoft.com/dotnet/core/sdk:2.2-alpine AS build -WORKDIR /app -RUN apk add --update nodejs nodejs-npm +# install +COPY src/web/package*.json ./ +RUN npm install --only=prod -# restore -COPY FilterLists.Web.sln ./ -WORKDIR /app/src/FilterLists.Web/ -COPY src/FilterLists.Web/FilterLists.Web.csproj ./ -WORKDIR /app -RUN dotnet restore - -# publish -WORKDIR /app/src/FilterLists.Web/ -COPY src/FilterLists.Web/. ./ -RUN dotnet publish -c Release -r linux-musl-x64 -o out --no-restore - -# run -FROM base as final -COPY --from=build /app/src/FilterLists.Web/out ./ +# final +COPY src/web/. ./ \ No newline at end of file diff --git a/src/FilterLists.Web/FilterLists.Web.csproj b/src/FilterLists.Web/FilterLists.Web.csproj deleted file mode 100644 index 153530d79..000000000 --- a/src/FilterLists.Web/FilterLists.Web.csproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - latest - netcoreapp2.2 - true - linux-musl-x64 - ..\..\docker-compose.dcproj - Latest - true - - - - Collin M. Barrett - Collin M. Barrett - FilterLists - The independent, comprehensive directory of filter and host lists for advertisements, trackers, malware, and annoyances. - Copyright (c) 2019 Collin M. Barrett - https://github.com/collinbarrett/FilterLists - git - - - - - - - - - - - - - - - - - - - - - Always - - - Always - - - - - - - - - - - - - - - - - - - - - - %(DistFiles.Identity) - PreserveNewest - - - - - \ No newline at end of file diff --git a/src/FilterLists.Web/Program.cs b/src/FilterLists.Web/Program.cs deleted file mode 100644 index 82e198464..000000000 --- a/src/FilterLists.Web/Program.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Microsoft.AspNetCore; -using Microsoft.AspNetCore.Hosting; - -namespace FilterLists.Web -{ - public static class Program - { - public static void Main(string[] args) => CreateWebHostBuilder(args).Build().Run(); - - private static IWebHostBuilder CreateWebHostBuilder(string[] args) => - WebHost.CreateDefaultBuilder(args).UseStartup(); - } -} \ No newline at end of file diff --git a/src/FilterLists.Web/Properties/launchSettings.json b/src/FilterLists.Web/Properties/launchSettings.json deleted file mode 100644 index fc6f1d69e..000000000 --- a/src/FilterLists.Web/Properties/launchSettings.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/launchsettings.json", - "iisSettings": { - "windowsAuthentication": false, - "anonymousAuthentication": true, - "iisExpress": { - "applicationUrl": "http://localhost:5001", - "sslPort": 0 - } - }, - "profiles": { - "Docker": { - "commandName": "Docker", - "launchBrowser": true, - "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - }, - "FilterLists.Api": { - "commandName": "Project", - "launchBrowser": true, - "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}", - "applicationUrl": "http://localhost:5001", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - }, - "IIS Express": { - "commandName": "IISExpress", - "launchBrowser": true, - "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}", - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - } - } -} \ No newline at end of file diff --git a/src/web/README.md b/src/FilterLists.Web/README.md similarity index 100% rename from src/web/README.md rename to src/FilterLists.Web/README.md diff --git a/src/FilterLists.Web/Startup.cs b/src/FilterLists.Web/Startup.cs deleted file mode 100644 index ef69d3297..000000000 --- a/src/FilterLists.Web/Startup.cs +++ /dev/null @@ -1,44 +0,0 @@ -using FilterLists.Web.DependencyInjection.Extensions; -using JetBrains.Annotations; -using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.SpaServices.Webpack; -using Microsoft.Extensions.DependencyInjection; - -namespace FilterLists.Web -{ - [UsedImplicitly] - public class Startup - { - [UsedImplicitly] - public void ConfigureServices(IServiceCollection services) => services.AddFilterListsWeb(); - - [UsedImplicitly] - public void Configure(IApplicationBuilder app, IHostingEnvironment env) - { - if (env.IsDevelopment()) - { - app.UseDeveloperExceptionPage(); - app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions - { - HotModuleReplacement = true, - ReactHotModuleReplacement = true - }); - } - else - { - app.UseExceptionHandler("/Home/Error"); - app.UseHsts(); - } - - app.UseHttpsRedirection(); - app.UseStaticFiles(); - app.UseCookiePolicy(); - app.UseMvc(routes => - { - routes.MapRoute("default", "{controller=Home}/{action=Index}/{id?}"); - routes.MapSpaFallbackRoute("spa-fallback", new {controller = "Home", action = "Index"}); - }); - } - } -} \ No newline at end of file diff --git a/src/FilterLists.Web/Views/Home/Index.cshtml b/src/FilterLists.Web/Views/Home/Index.cshtml deleted file mode 100644 index d9855738e..000000000 --- a/src/FilterLists.Web/Views/Home/Index.cshtml +++ /dev/null @@ -1,8 +0,0 @@ -@{ - ViewData["Title"] = "Subscriptions for uBlock Origin, Adblock Plus, AdGuard, ..."; -} -
    Loading...
    - -@section scripts { - -} \ No newline at end of file diff --git a/src/FilterLists.Web/Views/Shared/Error.cshtml b/src/FilterLists.Web/Views/Shared/Error.cshtml deleted file mode 100644 index 6c38a0b5a..000000000 --- a/src/FilterLists.Web/Views/Shared/Error.cshtml +++ /dev/null @@ -1,21 +0,0 @@ -@{ - ViewData["Title"] = "Error"; -} - -

    Error.

    -

    An error occurred while processing your request.

    - -@if (!string.IsNullOrEmpty((string) ViewData["RequestId"])) -{ -

    - Request ID: @ViewData["RequestId"] -

    -} - -

    Development Mode

    -

    - Swapping to Development environment will display more detailed information about the error that occurred. -

    -

    - Development environment should not be enabled in deployed applications, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the ASPNETCORE_ENVIRONMENT environment variable to Development, and restarting the application. -

    \ No newline at end of file diff --git a/src/FilterLists.Web/Views/Shared/_Layout.cshtml b/src/FilterLists.Web/Views/Shared/_Layout.cshtml deleted file mode 100644 index 62f998905..000000000 --- a/src/FilterLists.Web/Views/Shared/_Layout.cshtml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - FilterLists | @ViewData["Title"] - - - - - - - - - - -@RenderBody() - -@RenderSection("scripts", false) - - - diff --git a/src/FilterLists.Web/Views/_ViewImports.cshtml b/src/FilterLists.Web/Views/_ViewImports.cshtml deleted file mode 100644 index 2933db932..000000000 --- a/src/FilterLists.Web/Views/_ViewImports.cshtml +++ /dev/null @@ -1,3 +0,0 @@ -@using FilterLists.Web -@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers -@addTagHelper *, Microsoft.AspNetCore.SpaServices \ No newline at end of file diff --git a/src/FilterLists.Web/Views/_ViewStart.cshtml b/src/FilterLists.Web/Views/_ViewStart.cshtml deleted file mode 100644 index d641c67f3..000000000 --- a/src/FilterLists.Web/Views/_ViewStart.cshtml +++ /dev/null @@ -1,3 +0,0 @@ -@{ - Layout = "_Layout"; -} \ No newline at end of file diff --git a/src/FilterLists.Web/npm-shrinkwrap.json b/src/FilterLists.Web/npm-shrinkwrap.json deleted file mode 100644 index 5c062baa9..000000000 --- a/src/FilterLists.Web/npm-shrinkwrap.json +++ /dev/null @@ -1,6015 +0,0 @@ -{ - "name": "filterlists", - "version": "0.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/runtime": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.5.5.tgz", - "integrity": "sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.2" - } - }, - "@types/history": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.2.tgz", - "integrity": "sha512-ui3WwXmjTaY73fOQ3/m3nnajU/Orhi6cEu5rzX+BrAAJxa3eITXZ5ch9suPqtM03OWhAHhPSyBGCN4UKoxO20Q==", - "dev": true - }, - "@types/node": { - "version": "10.7.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.7.1.tgz", - "integrity": "sha512-EGoI4ylB/lPOaqXqtzAyL8HcgOuCtH2hkEaLmkueOYufsTFWBn4VCvlCDC2HW8Q+9iF+QVC3sxjDKQYjHQeZ9w==", - "dev": true - }, - "@types/prop-types": { - "version": "15.5.7", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.5.7.tgz", - "integrity": "sha512-a6WH0fXkgPNiGIuLjjdpf0n/GnmgWZ4vLuVIJJnDwhmRDPEaiRBcy5ofQPh+EJFua0S1QWmk1745+JqZQGnJ8Q==" - }, - "@types/react": { - "version": "16.7.13", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.7.13.tgz", - "integrity": "sha512-WhqrQLAE9z65hfcvWqZfR6qUtIazFRyb8LXqHo8440R53dAQqNkt2OlVJ3FXwqOwAXXg4nfYxt0qgBvE18o5XA==", - "requires": { - "@types/prop-types": "*", - "csstype": "^2.2.0" - } - }, - "@types/react-dom": { - "version": "16.0.11", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.0.11.tgz", - "integrity": "sha512-x6zUx9/42B5Kl2Vl9HlopV8JF64wLpX3c+Pst9kc1HgzrsH+mkehe/zmHMQTplIrR48H2gpU7ZqurQolYu8XBA==", - "dev": true, - "requires": { - "@types/react": "*" - } - }, - "@types/react-hot-loader": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@types/react-hot-loader/-/react-hot-loader-4.1.0.tgz", - "integrity": "sha512-N/+Ua6kSrehJ5vpu4b2tAG4NjMcXQPlStnkUzjNlPokae97sUDtj096WlgN3ApefCvggPjJPP5iutyZ5dKBNPQ==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/react": "*" - } - }, - "@types/react-router": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.0.3.tgz", - "integrity": "sha512-j2Gge5cvxca+5lK9wxovmGPgpVJMwjyu5lTA/Cd6fLGoPq7FXcUE1jFkEdxeyqGGz8VfHYSHCn5Lcn24BzaNKA==", - "dev": true, - "requires": { - "@types/history": "*", - "@types/react": "*" - } - }, - "@types/react-router-dom": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-4.3.4.tgz", - "integrity": "sha512-xrwaWHpnxKk/TTRe7pmoGy3E4SyF/ojFqNfFJacw7OLdfLXRvGfk4r/XePVaZNVfeJzL8fcnNilPN7xOdJ/vGw==", - "dev": true, - "requires": { - "@types/history": "*", - "@types/react": "*", - "@types/react-router": "*" - } - }, - "@types/react-table": { - "version": "6.7.18", - "resolved": "https://registry.npmjs.org/@types/react-table/-/react-table-6.7.18.tgz", - "integrity": "sha512-I4vzqZr7KsaFY2pG6ueDIrvUV8YmxfoTFk2TM+1txspTmOunpxFH2eJRXxnGcI/US0wttEnX86NTyxNV6XKHiA==", - "requires": { - "@types/react": "*" - } - }, - "@types/webpack-env": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.14.0.tgz", - "integrity": "sha512-Fv+0gYJzE/czLoRKq+gnXWr4yBpPM3tO3C8pDLFwqVKlMICQUq5OsxwwFZYDaVr7+L6mgNDp16iOcJHEz3J5RQ==", - "dev": true - }, - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", - "dev": true - }, - "acorn-dynamic-import": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", - "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", - "dev": true, - "requires": { - "acorn": "^4.0.3" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true - } - } - }, - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "ajv-errors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.0.tgz", - "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk=", - "dev": true - }, - "ajv-keywords": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", - "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", - "dev": true - }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, - "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "aspnet-webpack": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aspnet-webpack/-/aspnet-webpack-3.0.0.tgz", - "integrity": "sha512-umUYjAoWkszsH3GmN6BN9CR9QluhUBx/FH1bn72mC6/VcgeoC1uzlw/J2fi+HyiIuSQHfzNd1rx57GBc7hNqZg==", - "dev": true, - "requires": { - "connect": "^3.4.1", - "es6-promise": "^3.1.2", - "memory-fs": "^0.3.0", - "require-from-string": "^1.1.0", - "webpack-node-externals": "^1.4.3" - } - }, - "aspnet-webpack-react": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/aspnet-webpack-react/-/aspnet-webpack-react-4.0.0.tgz", - "integrity": "sha512-d/ikp0IkjiP6X7DFmdfgg2nrPMVY2baTN6gPI5DsWvX3FfLs38+l2LzP1dtBVzcyjRT2actK/o16KdIfy9bXUQ==", - "dev": true - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", - "integrity": "sha1-YaKau2/MAm/qd+VtHG7FOnlZUfQ=", - "dev": true, - "requires": { - "lodash": "^4.14.0" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "autoprefixer": { - "version": "6.7.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", - "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", - "dev": true, - "requires": { - "browserslist": "^1.7.6", - "caniuse-db": "^1.0.30000634", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^5.2.16", - "postcss-value-parser": "^3.2.3" - } - }, - "awesome-typescript-loader": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/awesome-typescript-loader/-/awesome-typescript-loader-4.0.1.tgz", - "integrity": "sha1-vdroGD8G62UYQ5DVluQ0LKIIkoE=", - "dev": true, - "requires": { - "chalk": "^2.3.1", - "enhanced-resolve": "3.3.0", - "loader-utils": "^1.1.0", - "lodash": "^4.17.4", - "micromatch": "^3.0.3", - "mkdirp": "^0.5.1", - "source-map-support": "^0.5.3" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha1-JQ3JawdJG/1gHmSNZt319gx6XGU=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha1-WySsFduA+pJ89SJ6SjP9PEx2dsA=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", - "dev": true - }, - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=", - "dev": true - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true - }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - }, - "bootstrap": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.2.1.tgz", - "integrity": "sha512-tt/7vIv3Gm2mnd/WeDx36nfGGHleil0Wg8IeB7eMrVkY0fZ5iTaBisSh8oNANc2IBsCc6vCgCNTIM/IEN0+50Q==", - "dev": true - }, - "braces": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.1.tgz", - "integrity": "sha1-cIbJE7TloI2+N6wO5qJQDEumkbs=", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "kind-of": "^6.0.2", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", - "dev": true - } - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "dev": true, - "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" - } - }, - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true - }, - "caniuse-api": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", - "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", - "dev": true, - "requires": { - "browserslist": "^1.3.6", - "caniuse-db": "^1.0.30000529", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-db": { - "version": "1.0.30000819", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000819.tgz", - "integrity": "sha1-w7fdVZ5ebWPV3Kpiusa9BMdhlwk=", - "dev": true - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, - "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" - }, - "dependencies": { - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true - } - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "chokidar": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz", - "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "clap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", - "integrity": "sha1-TzZ0WzIAhJJVf0ZBLWbVDLmbzlE=", - "dev": true, - "requires": { - "chalk": "^1.1.3" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true - } - } - }, - "classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, - "coa": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", - "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", - "dev": true, - "requires": { - "q": "^1.1.2" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", - "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", - "dev": true, - "requires": { - "clone": "^1.0.2", - "color-convert": "^1.3.0", - "color-string": "^0.3.0" - } - }, - "color-convert": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", - "integrity": "sha1-wSYRB66y8pTr/+ye2eytUppgl+0=", - "dev": true, - "requires": { - "color-name": "^1.1.1" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "color-string": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", - "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", - "dev": true, - "requires": { - "color-name": "^1.0.0" - } - }, - "colormin": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", - "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", - "dev": true, - "requires": { - "color": "^0.11.0", - "css-color-names": "0.0.4", - "has": "^1.0.1" - } - }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true - }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "connect": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", - "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", - "dev": true, - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.0", - "parseurl": "~1.3.2", - "utils-merge": "1.0.1" - } - }, - "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true, - "requires": { - "date-now": "^0.1.4" - } - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true - }, - "css-loader": { - "version": "0.28.11", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", - "integrity": "sha1-w/mGSnAL4nEbtaJGKyOJsaOS2rc=", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "css-selector-tokenizer": "^0.7.0", - "cssnano": "^3.10.0", - "icss-utils": "^2.1.0", - "loader-utils": "^1.0.2", - "lodash.camelcase": "^4.3.0", - "object-assign": "^4.1.1", - "postcss": "^5.0.6", - "postcss-modules-extract-imports": "^1.2.0", - "postcss-modules-local-by-default": "^1.2.0", - "postcss-modules-scope": "^1.1.0", - "postcss-modules-values": "^1.3.0", - "postcss-value-parser": "^3.3.0", - "source-list-map": "^2.0.0" - } - }, - "css-selector-tokenizer": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", - "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", - "dev": true, - "requires": { - "cssesc": "^0.1.0", - "fastparse": "^1.1.1", - "regexpu-core": "^1.0.0" - } - }, - "cssesc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", - "dev": true - }, - "cssnano": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", - "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", - "dev": true, - "requires": { - "autoprefixer": "^6.3.1", - "decamelize": "^1.1.2", - "defined": "^1.0.0", - "has": "^1.0.1", - "object-assign": "^4.0.1", - "postcss": "^5.0.14", - "postcss-calc": "^5.2.0", - "postcss-colormin": "^2.1.8", - "postcss-convert-values": "^2.3.4", - "postcss-discard-comments": "^2.0.4", - "postcss-discard-duplicates": "^2.0.1", - "postcss-discard-empty": "^2.0.1", - "postcss-discard-overridden": "^0.1.1", - "postcss-discard-unused": "^2.2.1", - "postcss-filter-plugins": "^2.0.0", - "postcss-merge-idents": "^2.1.5", - "postcss-merge-longhand": "^2.0.1", - "postcss-merge-rules": "^2.0.3", - "postcss-minify-font-values": "^1.0.2", - "postcss-minify-gradients": "^1.0.1", - "postcss-minify-params": "^1.0.4", - "postcss-minify-selectors": "^2.0.4", - "postcss-normalize-charset": "^1.1.0", - "postcss-normalize-url": "^3.0.7", - "postcss-ordered-values": "^2.1.0", - "postcss-reduce-idents": "^2.2.2", - "postcss-reduce-initial": "^1.0.0", - "postcss-reduce-transforms": "^1.0.3", - "postcss-svgo": "^2.1.1", - "postcss-unique-selectors": "^2.0.2", - "postcss-value-parser": "^3.2.3", - "postcss-zindex": "^2.0.1" - } - }, - "csso": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", - "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", - "dev": true, - "requires": { - "clap": "^1.0.9", - "source-map": "^0.5.3" - } - }, - "csstype": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.8.tgz", - "integrity": "sha512-r4DbsyNJ7slwBSKoGesxDubRWJ71ghG8W2+1HcsDlAo12KGca9dDLv0u98tfdFw7ldBdoA7XmCnI6Q8LpAJXaQ==" - }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dev": true, - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - } - }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", - "dev": true - }, - "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "dom-walk": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=", - "dev": true - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.40", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.40.tgz", - "integrity": "sha1-H71tl779crim+SHcONIkE9L2/d8=", - "dev": true - }, - "elliptic": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.0.tgz", - "integrity": "sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg==", - "dev": true, - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true - }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "dev": true, - "requires": { - "iconv-lite": "~0.4.13" - } - }, - "enhanced-resolve": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.3.0.tgz", - "integrity": "sha1-lQlk7MfwMypCMhtnOzjcj/FVNbM=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "object-assign": "^4.0.1", - "tapable": "^0.2.5" - }, - "dependencies": { - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - } - } - }, - "errno": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz", - "integrity": "sha1-w4bOimKD8U/AlWO3FWCQjJv1MCY=", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es5-ext": { - "version": "0.10.50", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.50.tgz", - "integrity": "sha512-KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw==", - "dev": true, - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "^1.0.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" - } - }, - "es6-promise": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", - "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=", - "dev": true - }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" - } - }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" - } - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true, - "requires": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } - }, - "event-source-polyfill": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/event-source-polyfill/-/event-source-polyfill-1.0.7.tgz", - "integrity": "sha512-TPbIjt4c3dlO7WTdsaTdwcxD1jKl+2gGD6dfauEmGqRNtpoB9ith/c4qa+X8XbTV5FsvTrkjepXfamWxntklVA==", - "dev": true - }, - "events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", - "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==", - "dev": true - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true - } - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "extract-text-webpack-plugin": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz", - "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", - "dev": true, - "requires": { - "async": "^2.4.1", - "loader-utils": "^1.1.0", - "schema-utils": "^0.3.0", - "webpack-sources": "^1.0.1" - } - }, - "fast-deep-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fastparse": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", - "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", - "dev": true - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "flatten": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", - "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", - "dev": true - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fsevents": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", - "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.12.1", - "node-pre-gyp": "^0.12.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "^2.1.1" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true, - "optional": true - }, - "minipass": { - "version": "2.3.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.3.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^4.1.0", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.12.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "yallist": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", - "dev": true - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "global": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", - "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", - "dev": true, - "requires": { - "min-document": "^2.19.0", - "process": "^0.11.10" - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "gud": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", - "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==", - "dev": true - }, - "has": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", - "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", - "dev": true, - "requires": { - "function-bind": "^1.0.2" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "history": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/history/-/history-4.9.0.tgz", - "integrity": "sha512-H2DkjCjXf0Op9OAr6nJ56fcRkTSNrUiv41vNJ6IswJjif6wlpZK0BTfFbi7qK9dXLSYZxkq5lBsj3vUjlYBYZA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^2.2.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^0.4.0" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hoist-non-react-statics": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", - "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", - "dev": true, - "requires": { - "react-is": "^16.7.0" - } - }, - "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", - "dev": true - }, - "html-comment-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz", - "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=", - "dev": true - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, - "icss-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", - "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", - "dev": true, - "requires": { - "postcss": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha1-JQ3JawdJG/1gHmSNZt319gx6XGU=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.21.tgz", - "integrity": "sha1-gmVmJpTt356aWWDbbaM8OeTNBp0=", - "dev": true, - "requires": { - "chalk": "^2.3.2", - "source-map": "^0.6.1", - "supports-color": "^5.3.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - }, - "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha1-WySsFduA+pJ89SJ6SjP9PEx2dsA=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", - "dev": true - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-odd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", - "integrity": "sha1-dkZiRnH9fqVYzNmieVGC8pWPGyQ=", - "dev": true, - "requires": { - "is-number": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8=", - "dev": true - } - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-svg": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", - "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", - "dev": true, - "requires": { - "html-comment-regex": "^1.1.0" - } - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "dev": true, - "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" - } - }, - "jquery": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", - "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==", - "dev": true - }, - "js-base64": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz", - "integrity": "sha1-LlRewrDylX9BNWUQIFIU6Y+tZYI=", - "dev": true - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "js-yaml": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", - "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^2.6.0" - } - }, - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - }, - "json-loader": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", - "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "lazy-cache": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", - "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", - "dev": true, - "requires": { - "set-getter": "^0.1.0" - } - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", - "dev": true - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "macaddress": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.9.tgz", - "integrity": "sha512-k4F1JUof6cQXxNFzx3thLby4oJzXTXQueAOOts944Vqizn+Rjc2QNFenT9FJSLU1CH3PmrHRSyZs2E+Cqw+P2w==", - "dev": true - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "math-expression-evaluator": { - "version": "1.2.17", - "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", - "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", - "dev": true - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", - "dev": true - } - } - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "memory-fs": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz", - "integrity": "sha1-e8xrYp46Q+hx1+Kaymrop/FcuyA=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "micromatch": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.9.tgz", - "integrity": "sha1-FdyTF1rjnlLpMIeEcJbv/HPvz4k=", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - } - }, - "mime": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", - "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", - "dev": true - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "dev": true, - "requires": { - "dom-walk": "^0.1.0" - } - }, - "mini-create-react-context": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.3.2.tgz", - "integrity": "sha512-2v+OeetEyliMt5VHMXsBhABoJ0/M4RCe7fatd/fBy6SMiKazUSEt3gxxypfnk2SHMkdBYvorHRoQxuGoiwbzAw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.4.0", - "gud": "^1.0.0", - "tiny-warning": "^1.0.2" - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "moment": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", - "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", - "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", - "integrity": "sha1-h59xUMstq3pHElkGbBBO7m4Pp8I=", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", - "dev": true - }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", - "dev": true - }, - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "dev": true, - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - } - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true - } - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pako": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", - "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", - "dev": true - }, - "parse-asn1": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", - "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", - "dev": true, - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "path-to-regexp": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", - "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", - "dev": true, - "requires": { - "isarray": "0.0.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - } - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "^2.0.0" - } - }, - "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "popper.js": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.15.0.tgz", - "integrity": "sha512-w010cY1oCUmI+9KwwlWki+r5jxKfTFDVoadl7MSrIujHU5MJ5OR6HTDj6Xo8aoR/QsA56x8jKjA59qGH4ELtrA==" - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" - }, - "dependencies": { - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "postcss-calc": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", - "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", - "dev": true, - "requires": { - "postcss": "^5.0.2", - "postcss-message-helpers": "^2.0.0", - "reduce-css-calc": "^1.2.6" - } - }, - "postcss-colormin": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", - "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", - "dev": true, - "requires": { - "colormin": "^1.0.5", - "postcss": "^5.0.13", - "postcss-value-parser": "^3.2.3" - } - }, - "postcss-convert-values": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", - "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", - "dev": true, - "requires": { - "postcss": "^5.0.11", - "postcss-value-parser": "^3.1.2" - } - }, - "postcss-discard-comments": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", - "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", - "dev": true, - "requires": { - "postcss": "^5.0.14" - } - }, - "postcss-discard-duplicates": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", - "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", - "dev": true, - "requires": { - "postcss": "^5.0.4" - } - }, - "postcss-discard-empty": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", - "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", - "dev": true, - "requires": { - "postcss": "^5.0.14" - } - }, - "postcss-discard-overridden": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", - "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", - "dev": true, - "requires": { - "postcss": "^5.0.16" - } - }, - "postcss-discard-unused": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", - "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", - "dev": true, - "requires": { - "postcss": "^5.0.14", - "uniqs": "^2.0.0" - } - }, - "postcss-filter-plugins": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz", - "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=", - "dev": true, - "requires": { - "postcss": "^5.0.4", - "uniqid": "^4.0.0" - } - }, - "postcss-merge-idents": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", - "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", - "dev": true, - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.10", - "postcss-value-parser": "^3.1.1" - } - }, - "postcss-merge-longhand": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", - "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", - "dev": true, - "requires": { - "postcss": "^5.0.4" - } - }, - "postcss-merge-rules": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", - "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", - "dev": true, - "requires": { - "browserslist": "^1.5.2", - "caniuse-api": "^1.5.2", - "postcss": "^5.0.4", - "postcss-selector-parser": "^2.2.2", - "vendors": "^1.0.0" - } - }, - "postcss-message-helpers": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", - "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", - "dev": true - }, - "postcss-minify-font-values": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", - "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.2" - } - }, - "postcss-minify-gradients": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", - "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", - "dev": true, - "requires": { - "postcss": "^5.0.12", - "postcss-value-parser": "^3.3.0" - } - }, - "postcss-minify-params": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", - "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.1", - "postcss": "^5.0.2", - "postcss-value-parser": "^3.0.2", - "uniqs": "^2.0.0" - } - }, - "postcss-minify-selectors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", - "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.2", - "has": "^1.0.1", - "postcss": "^5.0.14", - "postcss-selector-parser": "^2.0.0" - } - }, - "postcss-modules-extract-imports": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz", - "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=", - "dev": true, - "requires": { - "postcss": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha1-JQ3JawdJG/1gHmSNZt319gx6XGU=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.21.tgz", - "integrity": "sha1-gmVmJpTt356aWWDbbaM8OeTNBp0=", - "dev": true, - "requires": { - "chalk": "^2.3.2", - "source-map": "^0.6.1", - "supports-color": "^5.3.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - }, - "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha1-WySsFduA+pJ89SJ6SjP9PEx2dsA=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-modules-local-by-default": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", - "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", - "dev": true, - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha1-JQ3JawdJG/1gHmSNZt319gx6XGU=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.21.tgz", - "integrity": "sha1-gmVmJpTt356aWWDbbaM8OeTNBp0=", - "dev": true, - "requires": { - "chalk": "^2.3.2", - "source-map": "^0.6.1", - "supports-color": "^5.3.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - }, - "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha1-WySsFduA+pJ89SJ6SjP9PEx2dsA=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-modules-scope": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", - "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", - "dev": true, - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha1-JQ3JawdJG/1gHmSNZt319gx6XGU=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.21.tgz", - "integrity": "sha1-gmVmJpTt356aWWDbbaM8OeTNBp0=", - "dev": true, - "requires": { - "chalk": "^2.3.2", - "source-map": "^0.6.1", - "supports-color": "^5.3.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - }, - "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha1-WySsFduA+pJ89SJ6SjP9PEx2dsA=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-modules-values": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", - "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", - "dev": true, - "requires": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^6.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha1-JQ3JawdJG/1gHmSNZt319gx6XGU=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.21.tgz", - "integrity": "sha1-gmVmJpTt356aWWDbbaM8OeTNBp0=", - "dev": true, - "requires": { - "chalk": "^2.3.2", - "source-map": "^0.6.1", - "supports-color": "^5.3.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - }, - "supports-color": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha1-WySsFduA+pJ89SJ6SjP9PEx2dsA=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-normalize-charset": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", - "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", - "dev": true, - "requires": { - "postcss": "^5.0.5" - } - }, - "postcss-normalize-url": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", - "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", - "dev": true, - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^1.4.0", - "postcss": "^5.0.14", - "postcss-value-parser": "^3.2.3" - } - }, - "postcss-ordered-values": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", - "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", - "dev": true, - "requires": { - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.1" - } - }, - "postcss-reduce-idents": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", - "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", - "dev": true, - "requires": { - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.2" - } - }, - "postcss-reduce-initial": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", - "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", - "dev": true, - "requires": { - "postcss": "^5.0.4" - } - }, - "postcss-reduce-transforms": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", - "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", - "dev": true, - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.8", - "postcss-value-parser": "^3.0.1" - } - }, - "postcss-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", - "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", - "dev": true, - "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - }, - "postcss-svgo": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", - "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", - "dev": true, - "requires": { - "is-svg": "^2.0.0", - "postcss": "^5.0.14", - "postcss-value-parser": "^3.2.3", - "svgo": "^0.7.0" - } - }, - "postcss-unique-selectors": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", - "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.1", - "postcss": "^5.0.4", - "uniqs": "^2.0.0" - } - }, - "postcss-value-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", - "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", - "dev": true - }, - "postcss-zindex": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", - "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", - "dev": true, - "requires": { - "has": "^1.0.1", - "postcss": "^5.0.4", - "uniqs": "^2.0.0" - } - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true - }, - "prop-types": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", - "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", - "dev": true, - "requires": { - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", - "dev": true - } - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dev": true, - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "react": { - "version": "16.8.6", - "resolved": "https://registry.npmjs.org/react/-/react-16.8.6.tgz", - "integrity": "sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw==", - "dev": true, - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.13.6" - } - }, - "react-dom": { - "version": "16.8.6", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.6.tgz", - "integrity": "sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA==", - "dev": true, - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.13.6" - }, - "dependencies": { - "scheduler": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", - "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", - "dev": true, - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - } - } - }, - "react-hot-loader": { - "version": "4.12.9", - "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.12.9.tgz", - "integrity": "sha512-lWT3JpWUN7nGHSoI9c4MV+42ov79bd8aqwDzhoyKev3owIh+hbEivT6Mb81lCV6tWuqm9trKo2/Th2/YDhFCdw==", - "dev": true, - "requires": { - "fast-levenshtein": "^2.0.6", - "global": "^4.3.0", - "hoist-non-react-statics": "^3.3.0", - "loader-utils": "^1.1.0", - "prop-types": "^15.6.1", - "react-lifecycles-compat": "^3.0.4", - "shallowequal": "^1.1.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - }, - "react-is": { - "version": "16.8.6", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz", - "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==", - "dev": true - }, - "react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", - "dev": true - }, - "react-router": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.0.1.tgz", - "integrity": "sha512-EM7suCPNKb1NxcTZ2LEOWFtQBQRQXecLxVpdsP4DW4PbbqYWeRiLyV/Tt1SdCrvT2jcyXAXmVTmzvSzrPR63Bg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.1.2", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "mini-create-react-context": "^0.3.0", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "dependencies": { - "hoist-non-react-statics": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", - "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", - "dev": true, - "requires": { - "react-is": "^16.7.0" - } - } - } - }, - "react-router-dom": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.0.1.tgz", - "integrity": "sha512-zaVHSy7NN0G91/Bz9GD4owex5+eop+KvgbxXsP/O+iW1/Ln+BrJ8QiIR5a6xNPtrdTvLkxqlDClx13QO1uB8CA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.1.2", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.0.1", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - } - }, - "react-table": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/react-table/-/react-table-6.10.0.tgz", - "integrity": "sha512-s/mQLI1+mNvlae45MfAZyZ04YIT3jUzWJqx34s0tfwpDdgJkpeK6vyzwMUkKFCpGODBxpjBOekYZzcEmk+2FiQ==", - "requires": { - "classnames": "^2.2.5" - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - } - }, - "readable-stream": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.2.tgz", - "integrity": "sha1-WgTfBeT1f+Pw3Gj90R3FyXx+b00=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "safe-buffer": "~5.1.0", - "string_decoder": "~1.0.0", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - } - } - }, - "reduce-css-calc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", - "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", - "dev": true, - "requires": { - "balanced-match": "^0.4.2", - "math-expression-evaluator": "^1.2.14", - "reduce-function-call": "^1.0.1" - } - }, - "reduce-function-call": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", - "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", - "dev": true, - "requires": { - "balanced-match": "^0.4.2" - } - }, - "regenerate": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", - "integrity": "sha1-DDNtOYBVPXVcObWGrjsgqknIK38=", - "dev": true - }, - "regenerator-runtime": { - "version": "0.13.3", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", - "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", - "dev": true - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexpu-core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", - "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", - "dev": true, - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", - "dev": true - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", - "dev": true - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "resolve": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", - "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-pathname": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-2.2.0.tgz", - "integrity": "sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg==", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true, - "requires": { - "align-text": "^0.1.1" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", - "dev": true - }, - "scheduler": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", - "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", - "dev": true, - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "schema-utils": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", - "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", - "dev": true, - "requires": { - "ajv": "^5.0.0" - } - }, - "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-getter": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz", - "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=", - "dev": true, - "requires": { - "to-object-path": "^0.3.0" - } - }, - "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "snapdragon": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz", - "integrity": "sha1-4StUh/re0+PeoKyR6UAL91tAE3A=", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^2.0.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - } - }, - "source-list-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", - "integrity": "sha1-qqR0A/eyRakvvJfqCPJQ1gh+0IU=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", - "integrity": "sha1-etD1k/IoFZjoVN+A8ZquS5LXoRo=", - "dev": true, - "requires": { - "atob": "^2.0.0", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.3.tgz", - "integrity": "sha1-Kz1f/ymM+k0a/X1DUtVp6aAVjnY=", - "dev": true, - "requires": { - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "dev": true - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true - } - } - }, - "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", - "dev": true - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "style-loader": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", - "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", - "integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "svgo": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", - "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", - "dev": true, - "requires": { - "coa": "~1.0.1", - "colors": "~1.1.2", - "csso": "~2.3.1", - "js-yaml": "~3.7.0", - "mkdirp": "~0.5.1", - "sax": "~1.2.1", - "whet.extend": "~0.9.9" - } - }, - "tapable": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", - "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", - "dev": true - }, - "timers-browserify": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", - "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "tiny-invariant": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.0.6.tgz", - "integrity": "sha512-FOyLWWVjG+aC0UqG76V53yAWdXfH8bO6FNmyZOuUrzDzK8DI3/JRY25UD7+g49JWM1LXwymsKERB+DzI0dTEQA==", - "dev": true - }, - "tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", - "dev": true - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "type": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/type/-/type-1.0.1.tgz", - "integrity": "sha512-MAM5dBMJCJNKs9E7JXo4CXRAansRfG0nlJxW7Wf6GZzSOvH31zClSaHdIMWLehe/EGMBkqeC55rrkaOr5Oo7Nw==", - "dev": true - }, - "typescript": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", - "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", - "dev": true - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - }, - "dependencies": { - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - } - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true, - "optional": true - }, - "uglifyjs-webpack-plugin": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", - "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", - "dev": true, - "requires": { - "source-map": "^0.5.6", - "uglify-js": "^2.8.29", - "webpack-sources": "^1.0.1" - } - }, - "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "uniqid": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", - "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", - "dev": true, - "requires": { - "macaddress": "^0.2.8" - } - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } - } - }, - "upath": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", - "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", - "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - } - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-loader": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", - "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "mime": "^2.0.3", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", - "integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "use": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/use/-/use-2.0.2.tgz", - "integrity": "sha1-riig1y+TvyJCKhii43mZMRLeyOg=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "lazy-cache": "^2.0.2" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true - } - } - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "value-equal": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-0.4.0.tgz", - "integrity": "sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw==", - "dev": true - }, - "vendors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.1.tgz", - "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=", - "dev": true - }, - "vm-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", - "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==", - "dev": true - }, - "watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", - "dev": true, - "requires": { - "chokidar": "^2.0.2", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - } - }, - "webpack": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.12.0.tgz", - "integrity": "sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ==", - "dev": true, - "requires": { - "acorn": "^5.0.0", - "acorn-dynamic-import": "^2.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "async": "^2.1.2", - "enhanced-resolve": "^3.4.0", - "escope": "^3.6.0", - "interpret": "^1.0.0", - "json-loader": "^0.5.4", - "json5": "^0.5.1", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "mkdirp": "~0.5.0", - "node-libs-browser": "^2.0.0", - "source-map": "^0.5.3", - "supports-color": "^4.2.1", - "tapable": "^0.2.7", - "uglifyjs-webpack-plugin": "^0.4.6", - "watchpack": "^1.4.0", - "webpack-sources": "^1.0.1", - "yargs": "^8.0.2" - }, - "dependencies": { - "ajv": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", - "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "enhanced-resolve": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", - "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "object-assign": "^4.0.1", - "tapable": "^0.2.7" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "requires": { - "has-flag": "^2.0.0" - } - } - } - }, - "webpack-node-externals": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-1.7.2.tgz", - "integrity": "sha512-ajerHZ+BJKeCLviLUUmnyd5B4RavLF76uv3cs6KNuO8W+HuQaEs0y0L7o40NQxdPy5w0pcv8Ew7yPUAQG0UdCg==", - "dev": true - }, - "webpack-sources": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", - "integrity": "sha1-oQHrrlnWUHNU1x2AE5UKOot6WlQ=", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - } - } - }, - "whatwg-fetch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", - "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==", - "dev": true - }, - "whet.extend": { - "version": "0.9.9", - "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", - "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "yargs": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", - "dev": true, - "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } - } - } - } - }, - "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - } - } - } - } -} diff --git a/src/web/package-lock.json b/src/FilterLists.Web/package-lock.json similarity index 100% rename from src/web/package-lock.json rename to src/FilterLists.Web/package-lock.json diff --git a/src/FilterLists.Web/package.json b/src/FilterLists.Web/package.json index 2480a1323..7fe369556 100644 --- a/src/FilterLists.Web/package.json +++ b/src/FilterLists.Web/package.json @@ -1,37 +1,45 @@ { - "name": "filterlists", + "name": "web", + "version": "0.1.0", "private": true, - "version": "0.0.0", - "devDependencies": { - "@types/history": "^4.7.2", - "@types/react": "^16.7.13", - "@types/react-dom": "^16.0.11", - "@types/react-hot-loader": "^4.1.0", - "@types/react-router": "^5.0.3", + "dependencies": { + "@types/jest": "24.0.15", + "@types/node": "12.6.8", + "@types/react": "16.8.23", + "@types/react-dom": "16.8.5", "@types/react-router-dom": "^4.3.4", - "@types/webpack-env": "^1.14.0", - "aspnet-webpack": "^3.0.0", - "aspnet-webpack-react": "^4.0.0", - "awesome-typescript-loader": "^4.0.1", - "bootstrap": "^4.2.1", - "css-loader": "^0.28.11", - "event-source-polyfill": "1.0.7", - "extract-text-webpack-plugin": "^3.0.2", + "@types/react-table": "^6.8.5", + "bootstrap": "^4.3.1", + "es6-promise": "^4.2.8", "isomorphic-fetch": "^2.2.1", - "jquery": "^3.3.1", + "moment": "^2.24.0", "react": "^16.8.6", "react-dom": "^16.8.6", - "react-hot-loader": "^4.12.9", "react-router-dom": "^5.0.1", - "style-loader": "^0.23.1", - "typescript": "^3.5.3", - "url-loader": "^1.1.2", - "webpack": "^3.12.0" + "react-scripts": "3.0.1", + "react-table": "^6.10.0", + "typescript": "3.5.3" }, - "dependencies": { - "@types/react-table": "^6.7.18", - "moment": "^2.24.0", - "popper.js": "^1.15.0", - "react-table": "^6.10.0" - } + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": "react-app" + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + }, + "devDependencies": {} } diff --git a/src/FilterLists.Web/wwwroot/icon_filterlists.png b/src/FilterLists.Web/public/icon_filterlists.png similarity index 100% rename from src/FilterLists.Web/wwwroot/icon_filterlists.png rename to src/FilterLists.Web/public/icon_filterlists.png diff --git a/src/web/public/index.html b/src/FilterLists.Web/public/index.html similarity index 100% rename from src/web/public/index.html rename to src/FilterLists.Web/public/index.html diff --git a/src/FilterLists.Web/wwwroot/logo_filterlists.png b/src/FilterLists.Web/public/logo_filterlists.png similarity index 100% rename from src/FilterLists.Web/wwwroot/logo_filterlists.png rename to src/FilterLists.Web/public/logo_filterlists.png diff --git a/src/web/public/manifest.json b/src/FilterLists.Web/public/manifest.json similarity index 100% rename from src/web/public/manifest.json rename to src/FilterLists.Web/public/manifest.json diff --git a/src/web/src/App.css b/src/FilterLists.Web/src/App.css similarity index 100% rename from src/web/src/App.css rename to src/FilterLists.Web/src/App.css diff --git a/src/web/src/App.test.tsx b/src/FilterLists.Web/src/App.test.tsx similarity index 100% rename from src/web/src/App.test.tsx rename to src/FilterLists.Web/src/App.test.tsx diff --git a/src/web/src/App.tsx b/src/FilterLists.Web/src/App.tsx similarity index 100% rename from src/web/src/App.tsx rename to src/FilterLists.Web/src/App.tsx diff --git a/src/web/src/Layout.tsx b/src/FilterLists.Web/src/Layout.tsx similarity index 100% rename from src/web/src/Layout.tsx rename to src/FilterLists.Web/src/Layout.tsx diff --git a/src/FilterLists.Web/ClientApp/Routes.tsx b/src/FilterLists.Web/src/Routes.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/Routes.tsx rename to src/FilterLists.Web/src/Routes.tsx diff --git a/src/web/src/index.css b/src/FilterLists.Web/src/index.css similarity index 100% rename from src/web/src/index.css rename to src/FilterLists.Web/src/index.css diff --git a/src/web/src/index.tsx b/src/FilterLists.Web/src/index.tsx similarity index 100% rename from src/web/src/index.tsx rename to src/FilterLists.Web/src/index.tsx diff --git a/src/web/src/logo.svg b/src/FilterLists.Web/src/logo.svg similarity index 100% rename from src/web/src/logo.svg rename to src/FilterLists.Web/src/logo.svg diff --git a/src/web/src/modules/home/Home.tsx b/src/FilterLists.Web/src/modules/home/Home.tsx similarity index 100% rename from src/web/src/modules/home/Home.tsx rename to src/FilterLists.Web/src/modules/home/Home.tsx diff --git a/src/web/src/modules/home/HomeContainer.tsx b/src/FilterLists.Web/src/modules/home/HomeContainer.tsx similarity index 100% rename from src/web/src/modules/home/HomeContainer.tsx rename to src/FilterLists.Web/src/modules/home/HomeContainer.tsx diff --git a/src/web/src/modules/home/components/IListDetails.ts b/src/FilterLists.Web/src/modules/home/components/IListDetails.ts similarity index 100% rename from src/web/src/modules/home/components/IListDetails.ts rename to src/FilterLists.Web/src/modules/home/components/IListDetails.ts diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/Oneliner.tsx b/src/FilterLists.Web/src/modules/home/components/Oneliner.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/Oneliner.tsx rename to src/FilterLists.Web/src/modules/home/components/Oneliner.tsx diff --git a/src/web/src/modules/home/components/TagGroup.tsx b/src/FilterLists.Web/src/modules/home/components/TagGroup.tsx similarity index 100% rename from src/web/src/modules/home/components/TagGroup.tsx rename to src/FilterLists.Web/src/modules/home/components/TagGroup.tsx diff --git a/src/web/src/modules/home/components/detailsExpander/DetailsExpander.tsx b/src/FilterLists.Web/src/modules/home/components/detailsExpander/DetailsExpander.tsx similarity index 100% rename from src/web/src/modules/home/components/detailsExpander/DetailsExpander.tsx rename to src/FilterLists.Web/src/modules/home/components/detailsExpander/DetailsExpander.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/LinkButtonGroup.tsx b/src/FilterLists.Web/src/modules/home/components/detailsExpander/LinkButtonGroup.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/LinkButtonGroup.tsx rename to src/FilterLists.Web/src/modules/home/components/detailsExpander/LinkButtonGroup.tsx diff --git a/src/web/src/modules/home/components/detailsExpander/index.ts b/src/FilterLists.Web/src/modules/home/components/detailsExpander/index.ts similarity index 100% rename from src/web/src/modules/home/components/detailsExpander/index.ts rename to src/FilterLists.Web/src/modules/home/components/detailsExpander/index.ts diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/Description.tsx b/src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/Description.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/Description.tsx rename to src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/Description.tsx diff --git a/src/web/src/modules/home/components/detailsExpander/infoCard/InfoCard.tsx b/src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/InfoCard.tsx similarity index 100% rename from src/web/src/modules/home/components/detailsExpander/infoCard/InfoCard.tsx rename to src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/InfoCard.tsx diff --git a/src/web/src/modules/home/components/detailsExpander/infoCard/Languages.tsx b/src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/Languages.tsx similarity index 100% rename from src/web/src/modules/home/components/detailsExpander/infoCard/Languages.tsx rename to src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/Languages.tsx diff --git a/src/web/src/modules/home/components/detailsExpander/infoCard/License.tsx b/src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/License.tsx similarity index 100% rename from src/web/src/modules/home/components/detailsExpander/infoCard/License.tsx rename to src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/License.tsx diff --git a/src/web/src/modules/home/components/detailsExpander/infoCard/PublishedDate.tsx b/src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/PublishedDate.tsx similarity index 100% rename from src/web/src/modules/home/components/detailsExpander/infoCard/PublishedDate.tsx rename to src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/PublishedDate.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/RuleCount.tsx b/src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/RuleCount.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/RuleCount.tsx rename to src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/RuleCount.tsx diff --git a/src/web/src/modules/home/components/detailsExpander/infoCard/Syntax.tsx b/src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/Syntax.tsx similarity index 100% rename from src/web/src/modules/home/components/detailsExpander/infoCard/Syntax.tsx rename to src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/Syntax.tsx diff --git a/src/web/src/modules/home/components/detailsExpander/infoCard/UpdatedDate.tsx b/src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/UpdatedDate.tsx similarity index 100% rename from src/web/src/modules/home/components/detailsExpander/infoCard/UpdatedDate.tsx rename to src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/UpdatedDate.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/description.css b/src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/description.css similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/description.css rename to src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/description.css diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/index.ts b/src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/index.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/infoCard/index.ts rename to src/FilterLists.Web/src/modules/home/components/detailsExpander/infoCard/index.ts diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerAdditionalLists.tsx b/src/FilterLists.Web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerAdditionalLists.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerAdditionalLists.tsx rename to src/FilterLists.Web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerAdditionalLists.tsx diff --git a/src/web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerInfoCard.tsx b/src/FilterLists.Web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerInfoCard.tsx similarity index 100% rename from src/web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerInfoCard.tsx rename to src/FilterLists.Web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerInfoCard.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerLinkButtonGroup.tsx b/src/FilterLists.Web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerLinkButtonGroup.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerLinkButtonGroup.tsx rename to src/FilterLists.Web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerLinkButtonGroup.tsx diff --git a/src/web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainersInfoCard.tsx b/src/FilterLists.Web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainersInfoCard.tsx similarity index 100% rename from src/web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainersInfoCard.tsx rename to src/FilterLists.Web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainersInfoCard.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/maintainersInfoCard/index.ts b/src/FilterLists.Web/src/modules/home/components/detailsExpander/maintainersInfoCard/index.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/detailsExpander/maintainersInfoCard/index.ts rename to src/FilterLists.Web/src/modules/home/components/detailsExpander/maintainersInfoCard/index.ts diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/index.ts b/src/FilterLists.Web/src/modules/home/components/index.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/index.ts rename to src/FilterLists.Web/src/modules/home/components/index.ts diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/ChatButton.tsx b/src/FilterLists.Web/src/modules/home/components/linkButtons/ChatButton.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/ChatButton.tsx rename to src/FilterLists.Web/src/modules/home/components/linkButtons/ChatButton.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/DonateButton.tsx b/src/FilterLists.Web/src/modules/home/components/linkButtons/DonateButton.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/DonateButton.tsx rename to src/FilterLists.Web/src/modules/home/components/linkButtons/DonateButton.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/EmailButton.tsx b/src/FilterLists.Web/src/modules/home/components/linkButtons/EmailButton.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/EmailButton.tsx rename to src/FilterLists.Web/src/modules/home/components/linkButtons/EmailButton.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/ForumButton.tsx b/src/FilterLists.Web/src/modules/home/components/linkButtons/ForumButton.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/ForumButton.tsx rename to src/FilterLists.Web/src/modules/home/components/linkButtons/ForumButton.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/HomeButton.tsx b/src/FilterLists.Web/src/modules/home/components/linkButtons/HomeButton.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/HomeButton.tsx rename to src/FilterLists.Web/src/modules/home/components/linkButtons/HomeButton.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/IssuesButton.tsx b/src/FilterLists.Web/src/modules/home/components/linkButtons/IssuesButton.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/IssuesButton.tsx rename to src/FilterLists.Web/src/modules/home/components/linkButtons/IssuesButton.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/LinkButton.tsx b/src/FilterLists.Web/src/modules/home/components/linkButtons/LinkButton.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/LinkButton.tsx rename to src/FilterLists.Web/src/modules/home/components/linkButtons/LinkButton.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/PolicyButton.tsx b/src/FilterLists.Web/src/modules/home/components/linkButtons/PolicyButton.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/PolicyButton.tsx rename to src/FilterLists.Web/src/modules/home/components/linkButtons/PolicyButton.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/SubmitButton.tsx b/src/FilterLists.Web/src/modules/home/components/linkButtons/SubmitButton.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/SubmitButton.tsx rename to src/FilterLists.Web/src/modules/home/components/linkButtons/SubmitButton.tsx diff --git a/src/web/src/modules/home/components/linkButtons/SubscribeButton.tsx b/src/FilterLists.Web/src/modules/home/components/linkButtons/SubscribeButton.tsx similarity index 100% rename from src/web/src/modules/home/components/linkButtons/SubscribeButton.tsx rename to src/FilterLists.Web/src/modules/home/components/linkButtons/SubscribeButton.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/SubscribeButtonGroup.tsx b/src/FilterLists.Web/src/modules/home/components/linkButtons/SubscribeButtonGroup.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/SubscribeButtonGroup.tsx rename to src/FilterLists.Web/src/modules/home/components/linkButtons/SubscribeButtonGroup.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/TwitterButton.tsx b/src/FilterLists.Web/src/modules/home/components/linkButtons/TwitterButton.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/TwitterButton.tsx rename to src/FilterLists.Web/src/modules/home/components/linkButtons/TwitterButton.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/ViewButton.tsx b/src/FilterLists.Web/src/modules/home/components/linkButtons/ViewButton.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/ViewButton.tsx rename to src/FilterLists.Web/src/modules/home/components/linkButtons/ViewButton.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/ViewButtonGroup.tsx b/src/FilterLists.Web/src/modules/home/components/linkButtons/ViewButtonGroup.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/ViewButtonGroup.tsx rename to src/FilterLists.Web/src/modules/home/components/linkButtons/ViewButtonGroup.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/button.css b/src/FilterLists.Web/src/modules/home/components/linkButtons/button.css similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/button.css rename to src/FilterLists.Web/src/modules/home/components/linkButtons/button.css diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/index.ts b/src/FilterLists.Web/src/modules/home/components/linkButtons/index.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/linkButtons/index.ts rename to src/FilterLists.Web/src/modules/home/components/linkButtons/index.ts diff --git a/src/web/src/modules/home/components/listsTable/ListsTable.tsx b/src/FilterLists.Web/src/modules/home/components/listsTable/ListsTable.tsx similarity index 100% rename from src/web/src/modules/home/components/listsTable/ListsTable.tsx rename to src/FilterLists.Web/src/modules/home/components/listsTable/ListsTable.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/DetailsButton.tsx b/src/FilterLists.Web/src/modules/home/components/listsTable/columns/DetailsButton.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/DetailsButton.tsx rename to src/FilterLists.Web/src/modules/home/components/listsTable/columns/DetailsButton.tsx diff --git a/src/web/src/modules/home/components/listsTable/columns/Languages.tsx b/src/FilterLists.Web/src/modules/home/components/listsTable/columns/Languages.tsx similarity index 100% rename from src/web/src/modules/home/components/listsTable/columns/Languages.tsx rename to src/FilterLists.Web/src/modules/home/components/listsTable/columns/Languages.tsx diff --git a/src/web/src/modules/home/components/listsTable/columns/License.tsx b/src/FilterLists.Web/src/modules/home/components/listsTable/columns/License.tsx similarity index 100% rename from src/web/src/modules/home/components/listsTable/columns/License.tsx rename to src/FilterLists.Web/src/modules/home/components/listsTable/columns/License.tsx diff --git a/src/web/src/modules/home/components/listsTable/columns/Maintainers.tsx b/src/FilterLists.Web/src/modules/home/components/listsTable/columns/Maintainers.tsx similarity index 100% rename from src/web/src/modules/home/components/listsTable/columns/Maintainers.tsx rename to src/FilterLists.Web/src/modules/home/components/listsTable/columns/Maintainers.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Name.tsx b/src/FilterLists.Web/src/modules/home/components/listsTable/columns/Name.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/Name.tsx rename to src/FilterLists.Web/src/modules/home/components/listsTable/columns/Name.tsx diff --git a/src/web/src/modules/home/components/listsTable/columns/RuleCount.tsx b/src/FilterLists.Web/src/modules/home/components/listsTable/columns/RuleCount.tsx similarity index 100% rename from src/web/src/modules/home/components/listsTable/columns/RuleCount.tsx rename to src/FilterLists.Web/src/modules/home/components/listsTable/columns/RuleCount.tsx diff --git a/src/web/src/modules/home/components/listsTable/columns/Software.tsx b/src/FilterLists.Web/src/modules/home/components/listsTable/columns/Software.tsx similarity index 100% rename from src/web/src/modules/home/components/listsTable/columns/Software.tsx rename to src/FilterLists.Web/src/modules/home/components/listsTable/columns/Software.tsx diff --git a/src/web/src/modules/home/components/listsTable/columns/SubscribeButton.tsx b/src/FilterLists.Web/src/modules/home/components/listsTable/columns/SubscribeButton.tsx similarity index 100% rename from src/web/src/modules/home/components/listsTable/columns/SubscribeButton.tsx rename to src/FilterLists.Web/src/modules/home/components/listsTable/columns/SubscribeButton.tsx diff --git a/src/web/src/modules/home/components/listsTable/columns/Syntax.tsx b/src/FilterLists.Web/src/modules/home/components/listsTable/columns/Syntax.tsx similarity index 100% rename from src/web/src/modules/home/components/listsTable/columns/Syntax.tsx rename to src/FilterLists.Web/src/modules/home/components/listsTable/columns/Syntax.tsx diff --git a/src/web/src/modules/home/components/listsTable/columns/Tags.tsx b/src/FilterLists.Web/src/modules/home/components/listsTable/columns/Tags.tsx similarity index 100% rename from src/web/src/modules/home/components/listsTable/columns/Tags.tsx rename to src/FilterLists.Web/src/modules/home/components/listsTable/columns/Tags.tsx diff --git a/src/web/src/modules/home/components/listsTable/columns/UpdatedDate.tsx b/src/FilterLists.Web/src/modules/home/components/listsTable/columns/UpdatedDate.tsx similarity index 100% rename from src/web/src/modules/home/components/listsTable/columns/UpdatedDate.tsx rename to src/FilterLists.Web/src/modules/home/components/listsTable/columns/UpdatedDate.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/index.ts b/src/FilterLists.Web/src/modules/home/components/listsTable/columns/index.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/listsTable/columns/index.ts rename to src/FilterLists.Web/src/modules/home/components/listsTable/columns/index.ts diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/index.ts b/src/FilterLists.Web/src/modules/home/components/listsTable/index.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/listsTable/index.ts rename to src/FilterLists.Web/src/modules/home/components/listsTable/index.ts diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/listsTable/listsTable.css b/src/FilterLists.Web/src/modules/home/components/listsTable/listsTable.css similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/listsTable/listsTable.css rename to src/FilterLists.Web/src/modules/home/components/listsTable/listsTable.css diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/SoftwareIcon.tsx b/src/FilterLists.Web/src/modules/home/components/softwareIcon/SoftwareIcon.tsx similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/SoftwareIcon.tsx rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/SoftwareIcon.tsx diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/01-uBlock-Origin.svg b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/01-uBlock-Origin.svg similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/01-uBlock-Origin.svg rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/01-uBlock-Origin.svg diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/02-Adblock-Plus.svg b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/02-Adblock-Plus.svg similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/02-Adblock-Plus.svg rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/02-Adblock-Plus.svg diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/03-AdGuard.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/03-AdGuard.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/03-AdGuard.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/03-AdGuard.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/03-AdGuard.svg b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/03-AdGuard.svg similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/03-AdGuard.svg rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/03-AdGuard.svg diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/04-DNS66.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/04-DNS66.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/04-DNS66.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/04-DNS66.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/05-Nano-Adblocker.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/05-Nano-Adblocker.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/05-Nano-Adblocker.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/05-Nano-Adblocker.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/06-AdBlock.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/06-AdBlock.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/06-AdBlock.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/06-AdBlock.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/07-AdAway.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/07-AdAway.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/07-AdAway.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/07-AdAway.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/08-Personal-Blocklist.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/08-Personal-Blocklist.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/08-Personal-Blocklist.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/08-Personal-Blocklist.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/10-Redirector.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/10-Redirector.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/10-Redirector.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/10-Redirector.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/11-Hosts-File-Editor.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/11-Hosts-File-Editor.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/11-Hosts-File-Editor.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/11-Hosts-File-Editor.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/12-Gas-Mask.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/12-Gas-Mask.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/12-Gas-Mask.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/12-Gas-Mask.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/13-MinerBlock.svg b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/13-MinerBlock.svg similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/13-MinerBlock.svg rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/13-MinerBlock.svg diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/14-Pi-hole.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/14-Pi-hole.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/14-Pi-hole.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/14-Pi-hole.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/14-Pi-hole.svg b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/14-Pi-hole.svg similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/14-Pi-hole.svg rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/14-Pi-hole.svg diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/15-uBlock.svg b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/15-uBlock.svg similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/15-uBlock.svg rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/15-uBlock.svg diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/16-Internet-Explorer-TPL.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/16-Internet-Explorer-TPL.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/16-Internet-Explorer-TPL.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/16-Internet-Explorer-TPL.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/16-Internet-Explorer-TPL.svg b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/16-Internet-Explorer-TPL.svg similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/16-Internet-Explorer-TPL.svg rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/16-Internet-Explorer-TPL.svg diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/17-Google-Hit-Hider-by-Domain.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/17-Google-Hit-Hider-by-Domain.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/17-Google-Hit-Hider-by-Domain.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/17-Google-Hit-Hider-by-Domain.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/18-FireHOL.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/18-FireHOL.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/18-FireHOL.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/18-FireHOL.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/19-Samsung-Knox.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/19-Samsung-Knox.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/19-Samsung-Knox.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/19-Samsung-Knox.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/20-Little-Snitch.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/20-Little-Snitch.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/20-Little-Snitch.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/20-Little-Snitch.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/21-Privoxy.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/21-Privoxy.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/21-Privoxy.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/21-Privoxy.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/22-Diversion.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/22-Diversion.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/22-Diversion.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/22-Diversion.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/23-dnsmasq.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/23-dnsmasq.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/23-dnsmasq.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/23-dnsmasq.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/24-Slimjet.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/24-Slimjet.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/24-Slimjet.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/24-Slimjet.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/25-uMatrix.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/25-uMatrix.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/25-uMatrix.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/25-uMatrix.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/26-Blokada.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/26-Blokada.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/26-Blokada.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/26-Blokada.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/27-hostsmgr.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/27-hostsmgr.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/27-hostsmgr.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/27-hostsmgr.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/28-personalDNSfilter.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/28-personalDNSfilter.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/28-personalDNSfilter.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/28-personalDNSfilter.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/28-personalDNSfilter.svg b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/28-personalDNSfilter.svg similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/28-personalDNSfilter.svg rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/28-personalDNSfilter.svg diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/29-Unbound.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/29-Unbound.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/29-Unbound.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/29-Unbound.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/30-BIND.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/30-BIND.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/30-BIND.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/30-BIND.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/31-AdGuard-Home.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/31-AdGuard-Home.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/31-AdGuard-Home.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/31-AdGuard-Home.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/32-AdNauseam.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/32-AdNauseam.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/32-AdNauseam.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/32-AdNauseam.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/33-Legacy-Unix-Derivatives.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/33-Legacy-Unix-Derivatives.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/33-Legacy-Unix-Derivatives.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/33-Legacy-Unix-Derivatives.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/34-Windows-command-line.png b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/34-Windows-command-line.png similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/34-Windows-command-line.png rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/34-Windows-command-line.png diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/imgs.d.ts b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/imgs.d.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/imgs.d.ts rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/imgs.d.ts diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/index.ts b/src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/index.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/imgs/index.ts rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/imgs/index.ts diff --git a/src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/index.ts b/src/FilterLists.Web/src/modules/home/components/softwareIcon/index.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/components/softwareIcon/index.ts rename to src/FilterLists.Web/src/modules/home/components/softwareIcon/index.ts diff --git a/src/FilterLists.Web/ClientApp/modules/home/index.ts b/src/FilterLists.Web/src/modules/home/index.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/index.ts rename to src/FilterLists.Web/src/modules/home/index.ts diff --git a/src/FilterLists.Web/ClientApp/modules/home/interfaces/IColumnVisibility.ts b/src/FilterLists.Web/src/modules/home/interfaces/IColumnVisibility.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/interfaces/IColumnVisibility.ts rename to src/FilterLists.Web/src/modules/home/interfaces/IColumnVisibility.ts diff --git a/src/FilterLists.Web/ClientApp/modules/home/interfaces/ILanguage.ts b/src/FilterLists.Web/src/modules/home/interfaces/ILanguage.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/interfaces/ILanguage.ts rename to src/FilterLists.Web/src/modules/home/interfaces/ILanguage.ts diff --git a/src/FilterLists.Web/ClientApp/modules/home/interfaces/ILicense.ts b/src/FilterLists.Web/src/modules/home/interfaces/ILicense.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/interfaces/ILicense.ts rename to src/FilterLists.Web/src/modules/home/interfaces/ILicense.ts diff --git a/src/FilterLists.Web/ClientApp/modules/home/interfaces/IList.ts b/src/FilterLists.Web/src/modules/home/interfaces/IList.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/interfaces/IList.ts rename to src/FilterLists.Web/src/modules/home/interfaces/IList.ts diff --git a/src/FilterLists.Web/ClientApp/modules/home/interfaces/IMaintainer.ts b/src/FilterLists.Web/src/modules/home/interfaces/IMaintainer.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/interfaces/IMaintainer.ts rename to src/FilterLists.Web/src/modules/home/interfaces/IMaintainer.ts diff --git a/src/FilterLists.Web/ClientApp/modules/home/interfaces/ISoftware.ts b/src/FilterLists.Web/src/modules/home/interfaces/ISoftware.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/interfaces/ISoftware.ts rename to src/FilterLists.Web/src/modules/home/interfaces/ISoftware.ts diff --git a/src/FilterLists.Web/ClientApp/modules/home/interfaces/ISyntax.ts b/src/FilterLists.Web/src/modules/home/interfaces/ISyntax.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/interfaces/ISyntax.ts rename to src/FilterLists.Web/src/modules/home/interfaces/ISyntax.ts diff --git a/src/FilterLists.Web/ClientApp/modules/home/interfaces/ITag.ts b/src/FilterLists.Web/src/modules/home/interfaces/ITag.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/home/interfaces/ITag.ts rename to src/FilterLists.Web/src/modules/home/interfaces/ITag.ts diff --git a/src/FilterLists.Web/ClientApp/modules/index.ts b/src/FilterLists.Web/src/modules/index.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/modules/index.ts rename to src/FilterLists.Web/src/modules/index.ts diff --git a/src/web/src/react-app-env.d.ts b/src/FilterLists.Web/src/react-app-env.d.ts similarity index 100% rename from src/web/src/react-app-env.d.ts rename to src/FilterLists.Web/src/react-app-env.d.ts diff --git a/src/web/src/serviceWorker.ts b/src/FilterLists.Web/src/serviceWorker.ts similarity index 100% rename from src/web/src/serviceWorker.ts rename to src/FilterLists.Web/src/serviceWorker.ts diff --git a/src/FilterLists.Web/ClientApp/utils/GetContrast.ts b/src/FilterLists.Web/src/utils/GetContrast.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/utils/GetContrast.ts rename to src/FilterLists.Web/src/utils/GetContrast.ts diff --git a/src/FilterLists.Web/ClientApp/utils/index.ts b/src/FilterLists.Web/src/utils/index.ts similarity index 100% rename from src/FilterLists.Web/ClientApp/utils/index.ts rename to src/FilterLists.Web/src/utils/index.ts diff --git a/src/FilterLists.Web/ClientApp/utils/loader.css b/src/FilterLists.Web/src/utils/loader.css similarity index 100% rename from src/FilterLists.Web/ClientApp/utils/loader.css rename to src/FilterLists.Web/src/utils/loader.css diff --git a/src/FilterLists.Web/tsconfig.json b/src/FilterLists.Web/tsconfig.json index 591702887..0980b23fa 100644 --- a/src/FilterLists.Web/tsconfig.json +++ b/src/FilterLists.Web/tsconfig.json @@ -1,17 +1,25 @@ { "compilerOptions": { - "baseUrl": ".", - "module": "es2015", - "moduleResolution": "node", "target": "es5", - "jsx": "react", - "sourceMap": true, - "skipDefaultLibCheck": true, + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, "strict": true, - "types": ["webpack-env"] + "forceConsistentCasingInFileNames": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "preserve" }, - "exclude": [ - "bin", - "node_modules" + "include": [ + "src" ] -} \ No newline at end of file +} diff --git a/src/FilterLists.Web/webpack.config.js b/src/FilterLists.Web/webpack.config.js deleted file mode 100644 index 42bca01a4..000000000 --- a/src/FilterLists.Web/webpack.config.js +++ /dev/null @@ -1,56 +0,0 @@ -const path = require("path"); -const webpack = require("webpack"); -const ExtractTextPlugin = require("extract-text-webpack-plugin"); -const CheckerPlugin = require("awesome-typescript-loader").CheckerPlugin; -const bundleOutputDir = "./wwwroot/dist"; - -module.exports = (env) => { - const isDevBuild = !(env && env.prod); - return [ - { - stats: { modules: false }, - entry: { 'main': "./ClientApp/Boot.tsx" }, - resolve: { extensions: [".js", ".jsx", ".ts", ".tsx"] }, - output: { - // ReSharper disable once UseOfImplicitGlobalInFunctionScope - path: path.join(__dirname, bundleOutputDir), - filename: "[name].js", - publicPath: "dist/" - }, - module: { - rules: [ - { test: /\.tsx?$/, include: /ClientApp/, use: "awesome-typescript-loader?silent=true" }, - { - test: /\.css$/, - use: isDevBuild - ? ["style-loader", "css-loader"] - : ExtractTextPlugin.extract({ use: "css-loader?minimize" }) - }, - { test: /\.(png|jpg|jpeg|gif|svg)$/, use: "url-loader?limit=25000" } - ] - }, - plugins: [ - new CheckerPlugin(), - new webpack.DllReferencePlugin({ - // ReSharper disable once UseOfImplicitGlobalInFunctionScope - context: __dirname, - manifest: require("./wwwroot/dist/vendor-manifest.json") - }) - ].concat(isDevBuild - ? [ - // Plugins that apply in development builds only - new webpack.SourceMapDevToolPlugin({ - filename: "[file].map", // Remove this line if you prefer inline source maps - moduleFilenameTemplate: - path.relative(bundleOutputDir, - "[resourcePath]") // Point sourcemap entries to the original file locations on disk - }) - ] - : [ - // Plugins that apply in production builds only - new webpack.optimize.UglifyJsPlugin(), - new ExtractTextPlugin("site.css") - ]) - } - ]; -}; \ No newline at end of file diff --git a/src/FilterLists.Web/webpack.config.vendor.js b/src/FilterLists.Web/webpack.config.vendor.js deleted file mode 100644 index 217d4bbfb..000000000 --- a/src/FilterLists.Web/webpack.config.vendor.js +++ /dev/null @@ -1,57 +0,0 @@ -const path = require("path"); -const webpack = require("webpack"); -const ExtractTextPlugin = require("extract-text-webpack-plugin"); - -module.exports = (env) => { - const extractCss = new ExtractTextPlugin("vendor.css"); - const isDevBuild = !(env && env.prod); - return [ - { - stats: { modules: false }, - resolve: { - extensions: [".js"] - }, - module: { - rules: [ - { test: /\.(png|woff|woff2|eot|ttf|svg)(\?|$)/, use: "url-loader?limit=100000" }, - { - test: /\.css(\?|$)/, - use: extractCss.extract([isDevBuild ? "css-loader" : "css-loader?minimize"]) - } - ] - }, - entry: { - vendor: [ - "bootstrap", "bootstrap/dist/css/bootstrap.css", "event-source-polyfill", "isomorphic-fetch", - "react", "react-dom", "react-router-dom", "jquery" - ] - }, - output: { - // ReSharper disable once UseOfImplicitGlobalInFunctionScope - path: path.join(__dirname, "wwwroot", "dist"), - publicPath: "dist/", - filename: "[name].js", - library: "[name]_[hash]" - }, - plugins: [ - extractCss, - new webpack.ProvidePlugin({ - $: "jquery", - jQuery: "jquery" - }), // Maps these identifiers to the jQuery package (because Bootstrap expects it to be a global variable) - new webpack.DllPlugin({ - // ReSharper disable once UseOfImplicitGlobalInFunctionScope - path: path.join(__dirname, "wwwroot", "dist", "[name]-manifest.json"), - name: "[name]_[hash]" - }), - new webpack.DefinePlugin({ - 'process.env.NODE_ENV': isDevBuild ? '"development"' : '"production"' - }) - ].concat(isDevBuild - ? [] - : [ - new webpack.optimize.UglifyJsPlugin() - ]) - } - ]; -}; \ No newline at end of file diff --git a/src/web/Dockerfile b/src/web/Dockerfile deleted file mode 100644 index 6e15a90bb..000000000 --- a/src/web/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -# Context: . -# Command: docker build -f src/FilterLists.Web/Dockerfile . - -# init base -FROM node:alpine as final -CMD ["npm", "start"] -EXPOSE 3000 -WORKDIR /usr/app/ - -# install -COPY src/web/package*.json ./ -RUN npm install --only=prod - -# final -COPY src/web/. ./ \ No newline at end of file diff --git a/src/web/package.json b/src/web/package.json deleted file mode 100644 index 7fe369556..000000000 --- a/src/web/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "web", - "version": "0.1.0", - "private": true, - "dependencies": { - "@types/jest": "24.0.15", - "@types/node": "12.6.8", - "@types/react": "16.8.23", - "@types/react-dom": "16.8.5", - "@types/react-router-dom": "^4.3.4", - "@types/react-table": "^6.8.5", - "bootstrap": "^4.3.1", - "es6-promise": "^4.2.8", - "isomorphic-fetch": "^2.2.1", - "moment": "^2.24.0", - "react": "^16.8.6", - "react-dom": "^16.8.6", - "react-router-dom": "^5.0.1", - "react-scripts": "3.0.1", - "react-table": "^6.10.0", - "typescript": "3.5.3" - }, - "scripts": { - "start": "react-scripts start", - "build": "react-scripts build", - "test": "react-scripts test", - "eject": "react-scripts eject" - }, - "eslintConfig": { - "extends": "react-app" - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, - "devDependencies": {} -} diff --git a/src/web/public/icon_filterlists.png b/src/web/public/icon_filterlists.png deleted file mode 100644 index 46af01d87e33424a4782ed1ea763017b86746061..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2262 zcmeHHdolJODF%cs}oS4WM<2{XO5Mmf(R)2MN&uRbZ?0 z0NWgo+PMG#+e~3VQfxD{7HW5Fk~7Z7T26BdeRN&?&0a>?Q_o8@4SCNV97-kUtJTd3pdc6d1C-bcstr1 za=kpnV{(HRk3tD!78abOXUK+1SQ2A=XWhO;rLriAryQ;0vC94S<8Yf2dVo<69wHen zb|TI!n2Ud-+WrPtmq5H!&5eg3EWe=o*Y! zBPgf~UA70P%aFQwZ!b9xRG;#HKk<0Zv=R@K2QV~{1dt{WPXJ#d6wX5Udq)Axfaq7< z>l}np+?J{irF4Pc;kvBhZXXrEYzuDZt% zd|rM;ztwWT-(>Ybybe)#MgXo#F=*z=F#ZxC;8r|F73OOUaT1WRlx8D|C&mvN#Jvot z+QMHlLF<0vZT+CI?9-uity}3DUH~=_F4D8GtYJ8z?fwq%bu?8C^4UH&Q3Pj!`r2vk z8~)?00-k2R(PTCY{-}918P&CDiNW_ksXTg=a!XZ>O;YU9N&W2g>Jy&2*wv(K)0B zb7YLHXKj;+CzKB)dLWZ62p_eM3wrS&i!mpfk4vJduieAul=p=VM1oejT>Kh&!hUpW z!7xGtU01&xCl$pnD?F%F1Y$! zA*xi!3Q+Blxe8Trw6)?XG4jn({sh#9&@OD4!-CY z(8#DMG8+)Gz1dLyFdkS$BGBm#VsRzSEb|0k)fFpvC9{FVA zwIySExtOv?ZoI5Uh~moPB5g1d^l?vc3MR_DMXP<>{zyP%`bF!9%`V8KaF^yQm}D+! zPdB!b3FCxUjJi_82823!2&W``vYJEzu830^5-a7uuDmmScon{Dx*d7jf8$lg;OcIl zgYgPmzHTEpzdx7d;Z!%7ipB9N+EfGGr=v4p&nwnUt;0GPv|HV#?CrMhWB2k=FP+l^ ztkqe|4p4TBM}1>mL%qJOlU6CpOZTlWqKGZ@$=Iw=R7S@)7&VMrxHo%|1tb*RH(NGY z&TAOHSyJ`HM~j#>4KCruG-)W`l^qtlC$iZQW}ak1`NXW5n6aPEniIk$8Jbc=UnH$&hC&|LhfDOTqfWcsFMuxgpFc>3n z?5Dz+jxEAP!~h24P&U%lwz)OE{xC8G{Z6R2oi)~wcAg0r$jvEvHWT&%%4* zjF!rYNzjqPyp6N(htT^ZR6VFpWGqvgJ<9AG z^msP)uy^kL)YR9dBj)_br5Afjhf}v_n|MWuoI3Ec|3}lvB4vHLV1!7fR6t7bv!f-a znSPX&CP^v1dX$R_b3jMST)CmMN>TJM*UkL$z1z!jzSPQoZjexn;q!##l?fiiFt`~ zu?^xo^q~aKoXea~oN$pkzF$P!LT~0+o(iWm1I5X@-Jjkw=9X}r)E4EvGs1U``)|C* zM@Kxqb4u(ZFc1V(G$-U(ZoB-0i>7wlZGJ z$cs5;?vtcOH$s?arL(yZvUp$}KU! z_ANJ-#57)+EDLdi*ZXV+&6WB5EK7%XEUrg)foolojv2e;X@s}_%k6?9q1r~nSvbW| z824TX=@1@1ICx0UL?S@^?`&fH%=*yDNL$-kBq81gy!>i@zaM*mt7+WCeS>=yaZ>rYIM9(oD z$LrYS=}{ImSrU}8zCdN&uhvi7`=+)*V?r5d)Y6pSblVHc{QQOEDRi`}GzQ{_ZAL^A z?)A)^KS_LGNB{W^-QX^9!JTP~z+Br|1CZ1epKq$@8;F%h6T|~~O}af~bv~zH-!k^# zWeW65pfNa>r2>=fiIn^dhQl3DcQ-E;a;}9dH1$j@!pUwh##YxkL1rMqim0pBV zRWl&@GGn#}PFCVKnYLVKO?WRaJI)gGJ@8+E5A;dZ5c zK*GhKliU~LuPFCbEi@jzmEK`3($=#~Wecs!2vIO-Mj9g(5C_a9P&MBo0Hk;#RfA$l z5lD|#%>o`B0LSv3XwSZC}8#e23fXlK1&{&#Zad z_&e6RF{RUSLyaXxohF&UGa`)^MGtQ zS;bYNClC4X0=bk%`}Eqh=qW8w&lI?uT^~pYi4Id+E=lqQ(|Rc1D%M;kaFwLcgtm7t zjC+!2hO4F<9lL`%DO{t{TpFELEjF!%q<1{O|6SeC&#EyeC)PwDQ%qU?*vvZZlzY51 zoArPnS5K^Imr;lnm!%N{LbU$5ilmh+Dc5?BE-G{+xjHSPydT+0`sH&|2YB?+WXjU= zQV(gTuI=4raoNc~sK$zayG#LJU<{7H}vXXvss{GWLId zf6?1LO#jPzOUmc_v>$|PN*r*Cs@dwyos1*tQ~w3doelX=73Cd(wiP(|v6;fI>2z0R z2LJLtEn)02GjQm5kGo;W$suGcgcm_#+Ni0NBka#okhXU8YcS3gB(rH>?lLJ8a zXcfTV#A($nhAk%}QNH`M#@)~yBDYL!*-!{0X~7F*%i8g>1p0~0Fp0dtTbngvpJ!{2 zX{n~s%2+bXhZ!-@N?SSi;YwsO%}Npn%ku#E+d9N)TPYMM#9Q5)x8368V1pfftOBTQe_js|# zpbo;M35q#fc*)HBav6pE<>|xEa7S`Kd4>NztmO!gCafCP$JU zBuYgLilE!ev_Xarc+=SR%0go3gH)4&?Ufhm3_BJdLX3jxb?IoH7^Auk#y3)2wh*6+H4G3D`dWHkT+@ zJNVd{d%Obkieq26*EEN&oam6L3rd_CU)cI~RG9XC*QY{Pwiyb>JCNg$2O-scLR_&{*C#^Qm0zY+);w zDm>|>4Se{-jxfoGg8xDNUC%w^lm95LA+YrY>gf;{i5Zv0p?n21R5jRW8}_XZYOv=V zw?vqfLegCm!3*T?H}&@NK*pS1vfo6nzcQ25@=f#OpQe`VQECLw^x!Mj)&)F5enqr4 z6%Qlnfsc7@v!YgyaMF~&C^@3ov5J1hk~_C})p5eC6%m6=aZybz;?(pXr=DLbN&7PJ zs=6^F{}!bqKwqdEKSrXJLFdlmT$9$mNQJ7UwW41>J)c-NT{;`Ypvlc936v`Xu#?kN+2tzewr9?0bibRbBi4U>B#6F%g?Fcx?9lj^MHN~W-Shvd{+!GX{ zCx0MNOk7+}#u7w!$0xV`O653UMzuplxke50J6N@a3A;Ua%oToT-++5A?qb3dm)=(Y zeIPD5u!zJOzSr}^fqJ8!>5ywmv(HU_By007jS*doWS@fmf9~TrBo6UhckMP|S;VD}W@h&$*Ihxil zH2KF@+)?NOF@6g5X@O~MQ6LE9(Tbj<*D;n!nA_DZ1c@rIM ze)SrKbrPV{h5<8BX>n5c{i0a8Bt2RExs8;yfNLFU?1ztkJ=2Rj@mrS*s&EUrlA499 z7vhsZx4cG21@Eo?4mmo*)kHb#@)N#pH>R6WuH& z6-tw?%}WrTJW{{gKUDvtmF diff --git a/src/web/src/Routes.tsx b/src/web/src/Routes.tsx deleted file mode 100644 index fcb6a93a0..000000000 --- a/src/web/src/Routes.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import * as React from "react"; -import { Layout } from "./Layout"; -import { Route, Redirect, Switch } from "react-router-dom"; -import { Home } from "./modules"; - -export const Routes = - - - - - - - ; \ No newline at end of file diff --git a/src/web/src/modules/home/components/Oneliner.tsx b/src/web/src/modules/home/components/Oneliner.tsx deleted file mode 100644 index 5ad124110..000000000 --- a/src/web/src/modules/home/components/Oneliner.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import * as React from "react"; - -interface IProps { - listCount: number; - //ruleCount: number; -}; - -export const Oneliner = (props: IProps) => - props.listCount > 0/* && props.ruleCount > 0*/ - ?

    - The independent, comprehensive directory of {/*}{props.ruleCount.toLocaleString() - } unique rules across */}{props.listCount.toLocaleString() - } filter and host lists for advertisements, trackers, malware, and annoyances. -

    - :

    - The independent, comprehensive directory of filter and host lists for advertisements, trackers, malware, and annoyances. -

    ; \ No newline at end of file diff --git a/src/web/src/modules/home/components/detailsExpander/LinkButtonGroup.tsx b/src/web/src/modules/home/components/detailsExpander/LinkButtonGroup.tsx deleted file mode 100644 index 528d21029..000000000 --- a/src/web/src/modules/home/components/detailsExpander/LinkButtonGroup.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import * as React from "react"; -import { - ChatButton, - DonateButton, - EmailButton, - ForumButton, - HomeButton, - IssuesButton, - PolicyButton, - SubmitButton, - SubscribeButtonGroup, - ViewButtonGroup -} from "../linkButtons"; - -interface IProps { - chatUrl: string; - donateUrl: string; - emailAddress: string; - forumUrl: string; - homeUrl: string; - issuesUrl: string; - name: string; - policyUrl: string; - submissionUrl: string; - viewUrl: string; - viewUrlMirrors: string[]; -}; - -export const LinkButtonGroup = (props: IProps) => -
    - - - - - - - - - - -
    ; \ No newline at end of file diff --git a/src/web/src/modules/home/components/detailsExpander/infoCard/Description.tsx b/src/web/src/modules/home/components/detailsExpander/infoCard/Description.tsx deleted file mode 100644 index 983c14924..000000000 --- a/src/web/src/modules/home/components/detailsExpander/infoCard/Description.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import * as React from "react"; -import "./description.css"; - -interface IProps { - description: string; - url: string; -}; - -export const Description = (props: IProps) => - props.description - ?

    - {props.url - ?
    {props.description}
    - : props.description} -

    - : null; \ No newline at end of file diff --git a/src/web/src/modules/home/components/detailsExpander/infoCard/RuleCount.tsx b/src/web/src/modules/home/components/detailsExpander/infoCard/RuleCount.tsx deleted file mode 100644 index 1fb5944bf..000000000 --- a/src/web/src/modules/home/components/detailsExpander/infoCard/RuleCount.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import * as React from "react"; - -interface IProps { - ruleCount: number; -}; - -export const RuleCount = (props: IProps) => - props.ruleCount > 0 - ?
  • -

    Rule Count: {props.ruleCount.toLocaleString()}

    -
  • - : null; \ No newline at end of file diff --git a/src/web/src/modules/home/components/detailsExpander/infoCard/description.css b/src/web/src/modules/home/components/detailsExpander/infoCard/description.css deleted file mode 100644 index 2a1267485..000000000 --- a/src/web/src/modules/home/components/detailsExpander/infoCard/description.css +++ /dev/null @@ -1 +0,0 @@ -.fl-description { margin: 0 0 .5rem; } \ No newline at end of file diff --git a/src/web/src/modules/home/components/detailsExpander/infoCard/index.ts b/src/web/src/modules/home/components/detailsExpander/infoCard/index.ts deleted file mode 100644 index f90900e68..000000000 --- a/src/web/src/modules/home/components/detailsExpander/infoCard/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { InfoCard } from "./InfoCard"; - -export { - InfoCard - }; \ No newline at end of file diff --git a/src/web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerAdditionalLists.tsx b/src/web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerAdditionalLists.tsx deleted file mode 100644 index 96cc74f85..000000000 --- a/src/web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerAdditionalLists.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import * as React from "react"; - -//interface IProps { -// name: string; -// additionalLists: IMaintainerAdditionalListDto[]; -//}; - -export const MaintainerAdditionalLists = (/*props: IProps*/) => -
    - { /*props.additionalLists && props.additionalLists.length > 0 - ?
    -

    More by {props.name}:

    -
      - {props.additionalLists.map( - (l: IMaintainerAdditionalListDto, i: number) =>
    • {l.name}
    • )} -
    - -
    - : null*/ } -
    ; \ No newline at end of file diff --git a/src/web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerLinkButtonGroup.tsx b/src/web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerLinkButtonGroup.tsx deleted file mode 100644 index 9bd900bef..000000000 --- a/src/web/src/modules/home/components/detailsExpander/maintainersInfoCard/MaintainerLinkButtonGroup.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import * as React from "react"; -import { EmailButton, HomeButton, TwitterButton } from "../../linkButtons"; - -interface IProps { - emailAddress: string; - homeUrl: string; - name: string; - twitterHandle: string; -}; - -export const MaintainerLinkButtonGroup = (props: IProps) => -
    - - - -
    ; \ No newline at end of file diff --git a/src/web/src/modules/home/components/detailsExpander/maintainersInfoCard/index.ts b/src/web/src/modules/home/components/detailsExpander/maintainersInfoCard/index.ts deleted file mode 100644 index 03a112e6e..000000000 --- a/src/web/src/modules/home/components/detailsExpander/maintainersInfoCard/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { MaintainersInfoCard } from "./MaintainersInfoCard"; - -export { - MaintainersInfoCard - }; \ No newline at end of file diff --git a/src/web/src/modules/home/components/index.ts b/src/web/src/modules/home/components/index.ts deleted file mode 100644 index 180723286..000000000 --- a/src/web/src/modules/home/components/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { DetailsExpander } from "./detailsExpander"; -import { ListsTable } from "./listsTable"; -import { Oneliner } from "./Oneliner"; - -export { - DetailsExpander, - ListsTable, - Oneliner - }; \ No newline at end of file diff --git a/src/web/src/modules/home/components/linkButtons/ChatButton.tsx b/src/web/src/modules/home/components/linkButtons/ChatButton.tsx deleted file mode 100644 index f04b23e12..000000000 --- a/src/web/src/modules/home/components/linkButtons/ChatButton.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import * as React from "react"; -import { LinkButton } from "./LinkButton"; - -interface IProps { - name: string; - url: string; -}; - -export const ChatButton = (props: IProps) => - props.url - ? - : null; \ No newline at end of file diff --git a/src/web/src/modules/home/components/linkButtons/DonateButton.tsx b/src/web/src/modules/home/components/linkButtons/DonateButton.tsx deleted file mode 100644 index 03713ae48..000000000 --- a/src/web/src/modules/home/components/linkButtons/DonateButton.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import * as React from "react"; -import { LinkButton } from "./LinkButton"; - -interface IProps { - name: string; - url: string; -}; - -export const DonateButton = (props: IProps) => - props.url - ? - : null; diff --git a/src/web/src/modules/home/components/linkButtons/EmailButton.tsx b/src/web/src/modules/home/components/linkButtons/EmailButton.tsx deleted file mode 100644 index edc8e9972..000000000 --- a/src/web/src/modules/home/components/linkButtons/EmailButton.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import * as React from "react"; -import { LinkButton } from "./LinkButton"; - -interface IProps { - name: string; - emailAddress: string; -}; - -export const EmailButton = (props: IProps) => - props.emailAddress - ? - : null; \ No newline at end of file diff --git a/src/web/src/modules/home/components/linkButtons/ForumButton.tsx b/src/web/src/modules/home/components/linkButtons/ForumButton.tsx deleted file mode 100644 index 0bf0bacfc..000000000 --- a/src/web/src/modules/home/components/linkButtons/ForumButton.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import * as React from "react"; -import { LinkButton } from "./LinkButton"; - -interface IProps { - name: string; - url: string; -}; - -export const ForumButton = (props: IProps) => - props.url - ? - : null; \ No newline at end of file diff --git a/src/web/src/modules/home/components/linkButtons/HomeButton.tsx b/src/web/src/modules/home/components/linkButtons/HomeButton.tsx deleted file mode 100644 index e1f40b366..000000000 --- a/src/web/src/modules/home/components/linkButtons/HomeButton.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import * as React from "react"; -import { LinkButton } from "./LinkButton"; - -interface IProps { - name: string; - url: string; -}; - -export const HomeButton = (props: IProps) => - props.url - ? - : null; \ No newline at end of file diff --git a/src/web/src/modules/home/components/linkButtons/IssuesButton.tsx b/src/web/src/modules/home/components/linkButtons/IssuesButton.tsx deleted file mode 100644 index 038ab763f..000000000 --- a/src/web/src/modules/home/components/linkButtons/IssuesButton.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import * as React from "react"; -import { LinkButton } from "./LinkButton"; - -interface IProps { - name: string; - url: string; -}; - -export const IssuesButton = (props: IProps) => - props.url - ? - : null; \ No newline at end of file diff --git a/src/web/src/modules/home/components/linkButtons/LinkButton.tsx b/src/web/src/modules/home/components/linkButtons/LinkButton.tsx deleted file mode 100644 index 66af40654..000000000 --- a/src/web/src/modules/home/components/linkButtons/LinkButton.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import * as React from "react"; -import "./button.css"; - -interface IProps { - href: string; - title?: string; - buttonClass?: string; - text: string; -}; - -export const LinkButton = (props: IProps) => - props.href - ? - {props.text} - - : null; \ No newline at end of file diff --git a/src/web/src/modules/home/components/linkButtons/PolicyButton.tsx b/src/web/src/modules/home/components/linkButtons/PolicyButton.tsx deleted file mode 100644 index 60b87d795..000000000 --- a/src/web/src/modules/home/components/linkButtons/PolicyButton.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import * as React from "react"; -import { LinkButton } from "./LinkButton"; - -interface IProps { - name: string; - url: string; -}; - -export const PolicyButton = (props: IProps) => - props.url - ? - : null; \ No newline at end of file diff --git a/src/web/src/modules/home/components/linkButtons/SubmitButton.tsx b/src/web/src/modules/home/components/linkButtons/SubmitButton.tsx deleted file mode 100644 index e4baef971..000000000 --- a/src/web/src/modules/home/components/linkButtons/SubmitButton.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import * as React from "react"; -import { LinkButton } from "./LinkButton"; - -interface IProps { - name: string; - url: string; -}; - -export const SubmitButton = (props: IProps) => - props.url - ? - : null; \ No newline at end of file diff --git a/src/web/src/modules/home/components/linkButtons/SubscribeButtonGroup.tsx b/src/web/src/modules/home/components/linkButtons/SubscribeButtonGroup.tsx deleted file mode 100644 index e6315284c..000000000 --- a/src/web/src/modules/home/components/linkButtons/SubscribeButtonGroup.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import * as React from "react"; -import { SubscribeButton } from "./SubscribeButton"; - -interface IProps { - name: string; - url: string; - urlMirrors?: string[]; -}; - -export const SubscribeButtonGroup = (props: IProps) => - props.url - ? (props.urlMirrors && props.urlMirrors.length > 0) - ? - : - : null; - -interface ISubscribeButtonGroupDropdownProps { - name: string; - url: string; - urlMirrors: string[]; -}; - -const SubscribeButtonGroupDropdown = (props: ISubscribeButtonGroupDropdownProps) => { - let firstButtonText: string = "Original"; - let mirrorIndex: number = 0; - - if (props.url.indexOf("web.archive.org") !== -1) { - firstButtonText = "Mirror 1"; - mirrorIndex++; - } - - return
    - -
    - - {props.urlMirrors.map( - (m: string, i: number) => - )} -
    -
    ; -}; - -const BtnGroupDropSubscribe = () => - ; \ No newline at end of file diff --git a/src/web/src/modules/home/components/linkButtons/TwitterButton.tsx b/src/web/src/modules/home/components/linkButtons/TwitterButton.tsx deleted file mode 100644 index 8c7f7a71a..000000000 --- a/src/web/src/modules/home/components/linkButtons/TwitterButton.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import * as React from "react"; -import { LinkButton } from "./LinkButton"; - -interface IProps { - name: string; - twitterHandle: string; -}; - -export const TwitterButton = (props: IProps) => - props.twitterHandle - ? - : null; \ No newline at end of file diff --git a/src/web/src/modules/home/components/linkButtons/ViewButton.tsx b/src/web/src/modules/home/components/linkButtons/ViewButton.tsx deleted file mode 100644 index 0e33dab9b..000000000 --- a/src/web/src/modules/home/components/linkButtons/ViewButton.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import * as React from "react"; -import { LinkButton } from "./LinkButton"; - -interface IProps { - name: string; - url: string; - text?: string; -}; - -export const ViewButton = (props: IProps) => { - - let title; - if (props.url.indexOf(".onion/") > 0) { title = `Tor address - View ${props.name} in its raw format.`; } - else if (props.url.indexOf(".zip") > 0) { title = `Download ${props.name} as a ZIP compressed archive.`; } - else if (props.url.indexOf(".7z") > 0) { title = `Download ${props.name} as a 7Z compressed archive.`; } - else if (props.url.indexOf(".tar.gz") > 0) { title = `Download ${props.name} as a compressed tarball archive.`; } - else { title = `View ${props.name} in its raw format`; }; - -return props.url - ? - : null; -} diff --git a/src/web/src/modules/home/components/linkButtons/ViewButtonGroup.tsx b/src/web/src/modules/home/components/linkButtons/ViewButtonGroup.tsx deleted file mode 100644 index 60669fa82..000000000 --- a/src/web/src/modules/home/components/linkButtons/ViewButtonGroup.tsx +++ /dev/null @@ -1,51 +0,0 @@ -import * as React from "react"; -import { ViewButton } from "./ViewButton"; - -interface IProps { - name: string; - url: string; - urlMirrors?: string[]; -}; - -export const ViewButtonGroup = (props: IProps) => - props.url - ? (props.urlMirrors && props.urlMirrors.length > 0) - ? - : - : null; - -interface IViewButtonGroupDropdownProps { - name: string; - url: string; - urlMirrors: string[]; -}; - -const ViewButtonGroupDropdown = (props: IViewButtonGroupDropdownProps) => { - let firstButtonText: string = "Original"; - let mirrorIndex: number = 0; - - if (props.url.indexOf("web.archive.org") !== -1) { - firstButtonText = "Mirror 1"; - mirrorIndex++; - } - - return
    - -
    - - {props.urlMirrors.map( - (m: string, i: number) => - )} -
    -
    ; -}; - -const BtnGroupDropView = () => - ; \ No newline at end of file diff --git a/src/web/src/modules/home/components/linkButtons/button.css b/src/web/src/modules/home/components/linkButtons/button.css deleted file mode 100644 index bace69595..000000000 --- a/src/web/src/modules/home/components/linkButtons/button.css +++ /dev/null @@ -1,11 +0,0 @@ -.fl-btn-link { - margin-bottom: .2rem; - max-width: 100px; - width: 100px; -} - -.dropdown-menu { - border: 0; - min-width: 0; - padding: 0; -} \ No newline at end of file diff --git a/src/web/src/modules/home/components/linkButtons/index.ts b/src/web/src/modules/home/components/linkButtons/index.ts deleted file mode 100644 index c0525f2df..000000000 --- a/src/web/src/modules/home/components/linkButtons/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { ChatButton } from "./ChatButton"; -import { DonateButton } from "./DonateButton"; -import { EmailButton } from "./EmailButton"; -import { ForumButton } from "./ForumButton"; -import { HomeButton } from "./HomeButton"; -import { IssuesButton } from "./IssuesButton"; -import { PolicyButton } from "./PolicyButton"; -import { SubmitButton } from "./SubmitButton"; -import { SubscribeButtonGroup } from "./SubscribeButtonGroup"; -import { TwitterButton } from "./TwitterButton"; -import { ViewButtonGroup } from "./ViewButtonGroup"; - -export { - ChatButton, - DonateButton, - EmailButton, - ForumButton, - HomeButton, - IssuesButton, - PolicyButton, - SubmitButton, - SubscribeButtonGroup, - TwitterButton, - ViewButtonGroup - }; \ No newline at end of file diff --git a/src/web/src/modules/home/components/listsTable/columns/DetailsButton.tsx b/src/web/src/modules/home/components/listsTable/columns/DetailsButton.tsx deleted file mode 100644 index 7c7955fb6..000000000 --- a/src/web/src/modules/home/components/listsTable/columns/DetailsButton.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import * as React from "react"; -import { Column, RowRenderProps } from "react-table"; -import "../../linkButtons/button.css"; - -export const DetailsButton = { - Header: Details, - accessor: "id", - sortable: false, - expander: true, - Expander: ({ isExpanded, row }: RowRenderProps) => Expander({ isExpanded, row }), - style: { textAlign: "center" }, - width: 110 -} as Column; - -const Expander = (props: RowRenderProps) => -
    - {props.isExpanded - ? - : } -
    ; \ No newline at end of file diff --git a/src/web/src/modules/home/components/listsTable/columns/Name.tsx b/src/web/src/modules/home/components/listsTable/columns/Name.tsx deleted file mode 100644 index 12ad09716..000000000 --- a/src/web/src/modules/home/components/listsTable/columns/Name.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import * as React from "react"; -import { Column, Filter } from "react-table"; - -export const Name = { - Header: Name, - accessor: "name", - filterable: true, - filterMethod: (f: Filter, r: any[]) => filterMethod(f, r), - sortMethod: (a: string, b: string) => sortMethod(a, b), - Cell: (c: any) => Cell(c.value) -} as Column; - -const filterMethod = (f: Filter, r: any[]): boolean => - r[f.id as any].toUpperCase().includes(f.value.toUpperCase()); - -const sortMethod = (a: string, b: string) => - a.toLowerCase() > b.toLowerCase() ? 1 : -1; - -const Cell = (name: string) => - name - ?

    {name}

    - : null; \ No newline at end of file diff --git a/src/web/src/modules/home/components/listsTable/columns/index.ts b/src/web/src/modules/home/components/listsTable/columns/index.ts deleted file mode 100644 index 050780af2..000000000 --- a/src/web/src/modules/home/components/listsTable/columns/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { DetailsButton } from "./DetailsButton"; -import { Languages } from "./Languages"; -import { License } from "./License"; -import { Maintainers } from "./Maintainers"; -import { Name } from "./Name"; -import { RuleCount } from "./RuleCount"; -import { Software } from "./Software"; -import { SubscribeButton } from "./SubscribeButton"; -import { Syntax } from "./Syntax"; -import { Tags } from "./Tags"; -import { UpdatedDate } from "./UpdatedDate"; - -export { - DetailsButton, - Languages, - License, - Maintainers, - Name, - RuleCount, - Software, - SubscribeButton, - Syntax, - Tags, - UpdatedDate - }; \ No newline at end of file diff --git a/src/web/src/modules/home/components/listsTable/index.ts b/src/web/src/modules/home/components/listsTable/index.ts deleted file mode 100644 index 48483597b..000000000 --- a/src/web/src/modules/home/components/listsTable/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { ListsTable } from "./ListsTable"; - -export { - ListsTable, - }; \ No newline at end of file diff --git a/src/web/src/modules/home/components/listsTable/listsTable.css b/src/web/src/modules/home/components/listsTable/listsTable.css deleted file mode 100644 index 0436aa6bf..000000000 --- a/src/web/src/modules/home/components/listsTable/listsTable.css +++ /dev/null @@ -1,13 +0,0 @@ -.rt-tr { - -ms-align-items: center; - -o-align-items: center; - -webkit-align-items: center; - align-items: center; -} - -div.rt-tbody, div.rt-thead.-filters, div.rt-thead.-header { min-width: 320px !important; } - -.fl-wrap-cell { - line-height: 1; - white-space: normal; -} \ No newline at end of file diff --git a/src/web/src/modules/home/components/softwareIcon/SoftwareIcon.tsx b/src/web/src/modules/home/components/softwareIcon/SoftwareIcon.tsx deleted file mode 100644 index 03aff3b5d..000000000 --- a/src/web/src/modules/home/components/softwareIcon/SoftwareIcon.tsx +++ /dev/null @@ -1,89 +0,0 @@ -import * as React from "react"; -import { - img1, - img2, - img3, - img4, - img5, - img6, - img7, - img8, - img10, - img11, - img12, - img13, - img14, - img15, - img16, - img17, - img18, - img19, - img20, - img21, - img22, - img23, - img24, - img25, - img26, - img27, - img28, - img29, - img30, - img31, - img32, - img33, - img34 -} from "./imgs"; - -interface IProps { - id: number; -}; - -export const SoftwareIcon = (props: IProps) => - icons[props.id] - ? {icons[props.id].imageTitle} - : null; - -interface IIcon { - image: any; - imageTitle: string; -}; - -const icons: { [id: number]: IIcon; } = { - 1: { image: img1, imageTitle: "uBlock Origin" }, - 2: { image: img2, imageTitle: "Adblock Plus" }, - 3: { image: img3, imageTitle: "AdGuard" }, - 4: { image: img4, imageTitle: "DNS66" }, - 5: { image: img5, imageTitle: "Nano Adblocker" }, - 6: { image: img6, imageTitle: "AdBlock" }, - 7: { image: img7, imageTitle: "AdAway" }, - 8: { image: img8, imageTitle: "Personal Blocklist" }, - 10: { image: img10, imageTitle: "Redirector" }, - 11: { image: img11, imageTitle: "Hosts File Editor" }, - 12: { image: img12, imageTitle: "Gas Mask" }, - 13: { image: img13, imageTitle: "MinerBlock" }, - 14: { image: img14, imageTitle: "Pi-hole" }, - 15: { image: img15, imageTitle: "uBlock" }, - 16: { image: img16, imageTitle: "Internet Explorer (TPL)" }, - 17: { image: img17, imageTitle: "Google Hit Hider by Domain" }, - 18: { image: img18, imageTitle: "FireHOL" }, - 19: { image: img19, imageTitle: "Samsung Knox" }, - 20: { image: img20, imageTitle: "Little Snitch" }, - 21: { image: img21, imageTitle: "Privoxy" }, - 22: { image: img22, imageTitle: "Diversion" }, - 23: { image: img23, imageTitle: "dnsmasq" }, - 24: { image: img24, imageTitle: "Slimjet" }, - 25: { image: img25, imageTitle: "uMatrix" }, - 26: { image: img26, imageTitle: "Blokada" }, - 27: { image: img27, imageTitle: "hostsmgr" }, - 28: { image: img28, imageTitle: "personalDNSfilter" }, - 29: { image: img29, imageTitle: "Unbound" }, - 30: { image: img30, imageTitle: "BIND" }, - 31: { image: img31, imageTitle: "AdGuard Home" }, - 32: { image: img32, imageTitle: "AdNauseam" }, - 33: { image: img33, imageTitle: "Legacy Unix derivatives" }, - 34: { image: img34, imageTitle: "Windows command line" }, -}; diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/01-uBlock-Origin.svg b/src/web/src/modules/home/components/softwareIcon/imgs/01-uBlock-Origin.svg deleted file mode 100644 index 03e7a9ebb..000000000 --- a/src/web/src/modules/home/components/softwareIcon/imgs/01-uBlock-Origin.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/02-Adblock-Plus.svg b/src/web/src/modules/home/components/softwareIcon/imgs/02-Adblock-Plus.svg deleted file mode 100644 index 71ab1252f..000000000 --- a/src/web/src/modules/home/components/softwareIcon/imgs/02-Adblock-Plus.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/03-AdGuard.png b/src/web/src/modules/home/components/softwareIcon/imgs/03-AdGuard.png deleted file mode 100644 index 61471018cc3319f632d898e32669e1ad3e352168..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 893 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqMyzU_2Dy6XNQVS(v`3Fl}=Mh}?uu zA_O;9Wb7?U+Xz;$u_A3_B~S_^3uXXG2qR+;Pz{ugEQ`#>RDdjt%tlcObm6WdWLZo$ z#0@}kh!lhiC*iUvjNM=dLp%=lOUj1wlnoWB8!A#ZmZgGyn!2eR7&6&gYEyUTrS8s8 z13F_@QSR3Iv_1LhyNmL+HUO;y22SSQ;)3msS$j*f_m!6HXvsfNS#Y4La#v^N?vAGY z6YGz)wH}<(bfT;C^o0InbEjUIJ?HYGMORm@xVd)qtqtpLZ{B=w$Ci6L_uM^l`pLx; z&(B#O(QKD_(>{`1c-Uw?i5^Y8D!fB*jf|3B@= z@gu-UjV=lD3ua(sVrF4sWn*XO;NcaOkdRhXR8rG7a&&QX_X-ROjfjX!Ov%bGC@Lwf zs&43>G8wmbqR8h%d~#}Exs)`PeEE(I_!9I$*YvgXdF19?Xz_qeYA&)pxZPRd!k&YW{9A~Z%$eX{4|UiRBp zwZ9$Tp`D?-`dq;elUw;kBJFD`S6a=wzi|GitZLsi|6~_`m3P```E}h>vxk+sD{to; zZOqu-^<3t)K6j_Lo!Z+_!L-d$k80$;1l$$gR~t34V8?f>BV`GOe>+*)FPv`Gi8!~< z+@s*`+|PL@4*mK3hlSH*wifT^mnC&V}s`A;IDZ-zDF~H#I>gTe~ HDWM4f$?eZ? diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/03-AdGuard.svg b/src/web/src/modules/home/components/softwareIcon/imgs/03-AdGuard.svg deleted file mode 100644 index b9cb8ebd4..000000000 --- a/src/web/src/modules/home/components/softwareIcon/imgs/03-AdGuard.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/04-DNS66.png b/src/web/src/modules/home/components/softwareIcon/imgs/04-DNS66.png deleted file mode 100644 index a32dc2c2f3c759927816550cd39690ee71e80721..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 851 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqMyzU|b&H6XNQVS;#Q0gJF6nh@9CC zB7q19APgWmwVh!~8$*8+LwqPhZ6QNfEyJW11~Ws32~7;){vcV9UND*t*4tdp&{W9~ z;=|Bd$>3ze5a7wsR>?5AmBG~xWM*|f15kmdBSTF-gQFGHaG-2oBS^NPgrO>zAvuB} zDT1M=9waic1!NJB0aOpPD>@Kl6i_h`0Too{GIZ2{oClNwayzOSGU7mNpn9OCKyq>$ zNEYILpiw{(ARFj@AOoZflmhY`D|Mwvt)+V`lZUtX7kLOsJUV;^Q_+3J)8Zu zt!19w%QCx9V8LYexf8Tj&U4z61ko5en-pJVQX=slZP`7uiZBPFOL$S;`T zkKRM(iC5STEPL|z&r|EZ(;wwu*mO`tZ;F*RqL8b#`#FXm-n@T%+!TYT}^si_^)R|cKv=t$uT z4Lh^xs)+yGiTn&2*8_ug1u+a_YJo> zqm<-P9oIT%{_Fn^f0f<-{K>hmt|kqVzY1IB*Ej8+r~Cio%eSAGyZnt<_Wr@@*N z@2*tnN_z2lE}Nmf=H9#PHSX`GZsnc-{nN|Vs$&MGjy;0@J%;nrk4StiP2OW%8x*a7 zA!K^i*Ru?(yuO@Vwtfv`Lz9#9A)d;k7hj)R)vM!mCL&P8dW!K(-LlnJ^9*P2IP&#D gPTw`L_P6u@F?1^>C_b_&i~(f?Pgg&ebxsLQ0Nk8urT_o{ diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/05-Nano-Adblocker.png b/src/web/src/modules/home/components/softwareIcon/imgs/05-Nano-Adblocker.png deleted file mode 100644 index cd2b2a06d82f444b7bfd2e2df40b0bd2f93597f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 698 zcmV;r0!96aP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0#8XqK~y+Tm6Y2{ zR8bVhXCe^FATndDA)JelnNgk+AG9QC9-Jtli(TwNDta(_P%AIPHF)_Nrn`p#0?_lq5XX{x#<~6U(A&kDU8+_OC*{{1?unMlT6_!iv1k}=Hc?oywpgoFa&hHiF6FS znt$pv0p&%9(R#s$kt;V)oR^O?o_%=V+#b17)<~@|1mwS4UJdkfJIXM{)f8lIhvsy{ znQTLT##SUJu0rjRl1LD1q*fSQsZd{q<(I<#6F^N6*50iUt~g5W=SQcHAthF!I!$^A}-XlY|c~50?a)j(@Ui0H-}( z1bp>sYoi!y^dmPt10Tad{~Z6KALI|h!cR!v&8K^vn3by|p2!cfK|rxzkzPKC+nKu} zI~?wD)?TGj1tbyIr4eQ1 zK@6t#iM8k?{-K5tOEhXxp%fLB0ttC5UNk9+* z!ypiw&2BKjCX>@@byzGwgCM4+P@4^!n1Dd5*AuO+L_>o^BEe6cLhI__swyx+YHJ-e zHAG8`qpHf)*a%4^m{yDQ_S(C;;M=#MTel#E0#&JA%jIZK528|`N+kwbg`$7?@BCg&T^4I3G;|~^>@kaFrqNzSMD%gFCOUnB$+XewRtDn@oo){ge-IS~hlfux zm~WU&n9hJ03=^9TF`1)WF3e=!;qxEG#5h zaJdkVcPBB?!Q%1V= z$C9zJ4|8%zKHnpVBL#wKLEQ9)4Ucnkeev;6^73A8+2Tt`m`P0ZCMC^m+<333$eWTf zo0Q~9O?|d~`)qQuCoRpJmgY}MA=A_Ssi}d~G%_P2ke=?#%nW8^OlM^UGc$dgvmJSP zGuhex>}($pd3mmafF4bau|(xCzcQ zrdIpqa&RoWQaPs4Al=<2jYfa}KBiXVYIU%?8`WrnJw3QqYaSSI3=9PN`d*KZL*wI~ zkr7y@Lx9%nfk~WtJ!~*Ij7G?0n%3zcv)QNDBW5$O6JoJ=jYeQC%xcB0))|utvDr7(uvP z3ke7Sce_2HxEDZpJOoLqlCf;?84|u1i;5|3;cac_q*7^nd;9rLfE&SJ@a_Nj z2Vnj`B-j7Iqfiz}3b$=7sWQa0Jr{(05iwxRAheUg-iqHgJs2t&Y#D5l$y~w-FI)dt z{rV^4xv{15A<~CiyLT~^_j2h%UBc|}Rf)C2q6>YP*-TDf5xqE|T)L^c>B}+OgQUGO zXUCcH=2B_%8$7PPx$(ov(?1<9J*#rP)XU#)oGTkl=s0A#G&;%r^%J&$=sX)r(~JJR zbi{ilzAP|LeZuzLc`a?I~s1*RDYIHTlsV>N7W;- y>{}m@>T(_0fC7C7#fHK5j}nyT+mV%P<`%DbWxNqQI`j=VAf+&0w5=<*to~nN)ZktK diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/07-AdAway.png b/src/web/src/modules/home/components/softwareIcon/imgs/07-AdAway.png deleted file mode 100644 index 0826b747828b5f5c68248b913283ca6b65ba2153..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 658 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqMyzU^ETz332twEZi<40z^AuXosjM zVI(5*_Wj3qpT2At7Ty6w;^Mm$6yARL^!DTDoe~l|B_(&s$?cMt->s;)TSeveij~i= z-+1-(`RiA2-n@SM?(^5}0s=ckgm+3w?UIq%t*pF9LvxR&=3Z^>eR_KPjEwdf8y_$? zKVWHjz{cjFt?eO4rz2io$3w%8hlig`NI030crq#ZR7&cp)YQ{y>1T5D&K4G(D=s-# zT6VF%;bLRsx#pHDJ-t^aOu9OG%C#v|ug{oyW6s=LOP1bRy6pP$6?Zpmytirdy)9cG z?AiNZ&%Rp+4?o<0@bQV0k58R`dhWv0^B107x%TYp_2)Nly}0+_)uSh`pS^hU>dosH zuin1@@b2U1cOSpJ`}8$QwV@Cgj)EmYe!&ca!Xl#LQ>M+HyJXGJU%&tSW1eek3zYor z>EaloaX$6p(W1ivJZ_0sGw&SfoBd~!VwuG0Gc$~gjkmx5&k_6N)?1$~f6}&G5EK;5 zWVFzE8qXvJ@8NvEomm@l1t#|I=NCN7JPJ6AeG+4smvkB>L*J$v(_fRjh>iR3g- z$%KTjj~>4JmZp8%ymVJ^QUk+>6J=kIZP{WsG^*%(f3F*Pp_;+{7R z=oLv#h63?{eU8@o%(uyIbEd+<^GE)Ap4`%lb$ b|AW>2pQ_tNE&p&}Ffe$!`njxgN@xNAk|#v| diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/08-Personal-Blocklist.png b/src/web/src/modules/home/components/softwareIcon/imgs/08-Personal-Blocklist.png deleted file mode 100644 index 9b6888a1b5f1716d987fa850f0aea972f8a17b66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1295 zcmV+q1@QWbP)xN#00093P)t-sOlfhN z006rs6TBr8xD*Px6$-v36SoHdx)=(%5(2&@6TKx9xe@`rB@?(21G^OjzaVR!PY~GR{>;&sa>uB@@FX6Vqs2&s9m&W?RD~6U|OQ!zB~M zB@@78t711db(kT_xDizf#71S#j*D4p*EEwD?7u_ot z<185DEEwf1809S(=PeoPEEnl580;(;?l2nfFdFeN8SgP0@-Z6oF&p(U8ul?7`7#^o zIVJ2lC;K!W{WKo@H6H9eD*HJi|2QK3IU~+YJ^wl*@k1{8LoMq}I`T_5-c?5VOE=(E zM*2%P@K8SNRYdJrN$p%r{aQx>Of_UzKbNza3@`HEyfpqPLd-{ZU`-FJ#i+}Nth4hYt`HzJ8 zkcRD-kNA{{{ga6EnUC?Bk?)(5{FjXIoRjLGm+POG_nVUToRa^Wko2LL{hpNdqM7)i znDC{Y`lFivqL}ojpZ}zq`lz4xtE2y^p!2S${;HwyvaA2Bqxi3<_Oh${v#kEKto69D z`nIt6xU%oPx9`5W^1Zn9y|?hcx%#`b`MkFGy|?ney7s=e`n|XFz`OCmy!^el`@XpM zz`Ojvxb(xl^2NaV!o2p!!Sl(*`NzWg$HMr?!}iI<@yyBe%*gf4$n?(1_0Y`r(9HGK z()ZTV^xN3?-P-rv+xOnv_~GC9gf9G>ig^I`|Rra?d<#Q>-z5O z`|j=f@9+EX@B8rY`|p>{QUp^{{R2~15NtL0000@bW%=J009IA z2M7ua4ips`8Xq4ePgz=BUteWqYHM{@C|(vH$=9aY;l$R45e%!98!&KpY3)-~I259U40g zgtSSiM1{i3!otA7z{teFXJBGw1lE2VU}a}VhzY5ns#QyDN)!_N?0Y}+JPZI>Q53~X zd}!*X1^@;i9nbdO%?14OxLj@=z<|NQ(eb#C3_Y>GZ_i5&j`ZNcd$OLmaZb^*AF7QU z(|d2C^Vj)gHC?yHKlxrO8tuI@+OU0{QO>;6=Jk9i@_Fp8Q9@Frq)l`oOs_=oyrsL7 z6S@&I(JJdhcyUR2uzo$!Znw{zY>#%VjX6D4(pBc6nx?Z@??3L0R0BF`tyEtYlY~>o zA1$lS%E(8t=dr$j3jn_}`t+|`U93c7HepC#4*{_8*{SIo+fZ$S)&3#^fd8zW4RTFQ zX|#1$e*oayX*61wirbK9VBPOU;(vYISY@iSh9NmzjgS*s2J{sYy}(=a)tQ|tf$002ovPDHLk FV1i*rzcl~= diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/10-Redirector.png b/src/web/src/modules/home/components/softwareIcon/imgs/10-Redirector.png deleted file mode 100644 index 33fa33b018a4ded7f300ce79fd9a938722d52c81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 547 zcmV+;0^I$HP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0k}y-K~y+TrPRqz z!ax`Y@FHF{dMRNkOChWR2NDkiLehkUc<4b>m*~M)@CkSXqZjuV;O2X9Byr>F77ZFM zibC-J)frQvmLmV;OEc5XkC{#fAs&ynLZMJwmgR{n5{a|~U_Fn=)AxG4lU5JtDS=(q z(Lps)SEI`3^IhZmhSD*#yTDEgg~GfJ(hP&a;7ulzSrA3hWmSH^-y0soEy7eXBd46jbgDVvD@ac0yRx@ zCK8D?z7eSRSS+@ys_G1TWH@%-A&!&=jH4eou6vbAWtQFk9XlZ6z;ahPijDdF6SWEI z!LvUzW$3;U#XDad3q%}1Ht_zxwPEM)i;~ah lm#`W47}uk*ykuE^{sKh}Al)HD?Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y9E;VFFSW*B01IkH6K~y+TjgxCklV=!)KlWow-2P0X%a*u> zjqISK+hk)N7dB0_v&=9+NynxO%y>WzZk#;O+0s%#DN==YJy4)fptL}RwiH?@S`bPR zkU+yuP$9SGb zJN$MLD)+C*SW<*0_z4TfJOtX3Wb}(N5ep z{}fp`(|VW)*W=oSc#Md*U{LfajOSu8sbs-%@iSPs>*@OSOP`~PmjSt~8u`46sgxXb z(Z+AY8;BZCJz388~1@nj(k`5=%s|Ox^ znWd1eOXWQOzi_H41Cy6OfnD$(?EH6^VJzMXxwa49#lJB&e;;a_8zP+(Coh}9RrSF* zJ;xFf7h_ zSY19S45N?UWC^#@!U^@aFr8itpEezL4VfX#>JLGpbwFdArYAFv`q4S;gRE;D9oO8j zjrq{y^wQ$p$7>|CaJ-I797l=9 z0hQ?nWSuSu8?Hi7KY*jcb}KC$Q|-f*yftKP65(x1hNpfHTJzpQuP`1OP67nvof>;5 z;hGJg)jo~03LCO7nP48CL*Li}Ip>it?Lj8DwUZXQlqoP5tVY+*>(E`qAS?4eT5_Xd z5yYXRkb#_1HF720FgV<(AyXYF)`QK}V$Z1tB{>9@?SH2xX0i@%yWzMWz3w*6EVAvy%5bTj(wfU-?DZ` f$!kmXrBKv=yHP=5KObGw00000NkvXXu0mjf^|AzZ diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/12-Gas-Mask.png b/src/web/src/modules/home/components/softwareIcon/imgs/12-Gas-Mask.png deleted file mode 100644 index 062dcbd76c5fe62ea6c97a78261f27c00ee2109c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 424 zcmV;Z0ayNsP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0X<1XK~xwS1;MdP zlmP$-(D!*+CTWHcsMHPB(h)%s4&D}RLeS78IA{5XSa(Zd%%aL1;IfCn1;2D$0rdIm zqaJX>JD~2jAI<`Jr0u@K32(gthHcn43SeGzeYU1D1JtaD5BgEKXir2$Gy!gk(ie{{ zXo-l3(g*-gm7-FKi0In3stuu#7M%fr9s}lV zdE%K$M3klg0H`}}O+-Z3Gynjcvn3*8#|Qub)GRm<|9o>D007{m2bR4u3jYBg&xqv* S&-8Wx0000 - - - - - Created by potrace 1.15, written by Peter Selinger 2001-2017 - - - - - - - \ No newline at end of file diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/14-Pi-hole.png b/src/web/src/modules/home/components/softwareIcon/imgs/14-Pi-hole.png deleted file mode 100644 index 99c6753a2473dd2491096686473afd82224f1cc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 700 zcmV;t0z>_YP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0#QjsK~y+Tjgrkv zR8bhlfA`Lv4ggT2(@Aiu8YI5!j}dwTwW~%1Q`}(uzJzR!E!bIyf20>S6OI)6Cu#p!lxeXo5- z=)mEB6>17q1zLly)9qij`<$r#&OVpbz{L_9M9{3PDAXJ}9cT+K$~Fv=yO{9;lA&+}B@O{V-``Cs{WTm8NoYsem8#J<3|)k2)l ze5Zmd9Pmp1RIVo%Ur9OpdJ8$W7wddl*Vp{;NxZOllfVs#z63k#Dl zDO1*SEoiX|&=x7}ZW$Mng>GHfHod7ZKBlt4tnIQ6kniW;6!J^`i`^ ictLy=XN7IjM(`WfNewVortex diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/15-uBlock.svg b/src/web/src/modules/home/components/softwareIcon/imgs/15-uBlock.svg deleted file mode 100644 index 6488ebb04..000000000 --- a/src/web/src/modules/home/components/softwareIcon/imgs/15-uBlock.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/16-Internet-Explorer-TPL.png b/src/web/src/modules/home/components/softwareIcon/imgs/16-Internet-Explorer-TPL.png deleted file mode 100644 index 2b8189c8d61f672e43068f02c39c82882351d79f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1056 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqMyzVEi566XNQVStzmRy~OT!Aac)p z(TxwG+}&?Mj9p+7q5!5w0wM*I72Ea#s9kLPOPI!Y61(0=?0hY@4I~?hKOx`0u&V6_8h1NNJ8`iLq>G%ZLlto zcSJYb2Ppu#AM6;Adw_xuVSaf5(gk%7I2geJ0@4n&3mjZvV}UMw3K0Q&0Tez!agY>9 z*;|AmAofd;8lX84*8<%J3P5;J07Doo3l)Tg#?Ch&aZvaGRl)>8&VC;&8QBg@4J%55 z{DK*N?tK59=g<6OUnc$iwQ`>eF@ypYq+vQMLe z+p~_DBjo5QF5WqJ&);3fq;Zp9ykpX*)CiSD0kc*3g1Ez`XWfZ3@fU8D-h5=PScqPB zL^}K9RZ+*An)okHU;avSzWMsIm!D1Yco13)Ou9OrE{-7@=VSXXm$@*CI2-3IzjkF? z?rkvI{qxMa>f4#Scilf%=TX!U&$cYAY|VK+e?QYhhmCh_s`l8qtF)l7?$1)4=D#5# z8zPL4Kb-nPY0;BEZu|D^tXJ9L!CcuClzesbYw4yQPye2!E4S=ic&B5@)h{v)6Lvf? zc@|>Mv^7;yrJ9ZLhuYFfrn*U0opLKpm>=Y&IUQaW*6OtI#TtFpNR9(%+f7zxT^D;H zFfEdKCgUG>#tUg)L5t#-e08>KTl(mk!=Kc|J^oIY6g>893hL=C{=7kb_8ZmA7jOAf zj<<9D7k^wmdKI;Vst E06jV;wEzGB diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/16-Internet-Explorer-TPL.svg b/src/web/src/modules/home/components/softwareIcon/imgs/16-Internet-Explorer-TPL.svg deleted file mode 100644 index 69780795f..000000000 --- a/src/web/src/modules/home/components/softwareIcon/imgs/16-Internet-Explorer-TPL.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/17-Google-Hit-Hider-by-Domain.png b/src/web/src/modules/home/components/softwareIcon/imgs/17-Google-Hit-Hider-by-Domain.png deleted file mode 100644 index ca830def3b20dc4ab04f8c43bb30bde507d3f790..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 636 zcmV-?0)zdDP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y9E;VFFSW*B00qsddK~y+T<&#ZIRZ$p)S2QzBksuHn6i$P} znFM7d1SS0dA@D~C4TL5aDVp>%q6l&5Aew|9w-5Wqo7tBjB7&%J3mx2^wa>ft+)Li3 zK?@dVpS{*zd++x>NB=pVO5N|IOABxb&Pk_3+Q&<&*V^;oS6G!!h1?7RE@N)Ihbs`{ z-H;MqNF4-Dd=HQL1I|nL(Ykz~uom!+HobzMA%T^U63`zkO7+)hAA%k;Ux%B7{tRmY z2Xf^Gr)c=3InXDAk666DTm)3{^rK&4T-z?@R+$@4K^biVyWpNr^cHf18rrBeu6uo5 z8fWcIzc-;>Ali;K=2GqAsyC=-|2^qg3TVY)fi&wl+Lt$+(i$5i+UusExhWkfq>RG? z!4W>CZuA*<*w<#9Lft?&iucFiJwThl1nPC}lQcxot#9FBqrAZmoDOS&zXfIxc!D}s zc$&+UA_doASPBp@&=Pq2nbb)GuCm$SpZ*F0ryS%pK570W5?OT3lZ;$hB%~p=bJ?PEVqr&&EnCUGQ1yWHOY%bw}8+$;;{Ny%3gv9@1}9 WS4!g$Nt%-Y0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0scuuK~y+Tjg&t~ zR$&yz4~Fmw72l#DX6WW%;G$??gXo}8i=v_pp^~W()X)%=qT=GHAU4(#IJoELKTvUP z2~sx^70mP#|75@C>%4TkUdaPL-uIsKoaf&6d@r9}7nf%DU=TK(_fYKR{|DkcXoVFx zhf7EMRcM1emtPHvxljY2;TVEJ9Mzr(3-ncKjxoyG z4v#^apg+f>MPF162cba2C)QH<3WqQbcVHR5!2>iOS%c9JcxV~35;mKW!V9>KcoL@B z*ZPn0i04_>XV3#dzlBGs1iCk0JoyWBPnuvCPGP`}>R?aLpnE2*dgkEIz2Z$ee|Up# z@DtE|Ibh&5Zd3^Kp!vOnte)Pntcij|J^b|I8k8UyV%@{2+BJ8fAId>DTw3)sWK9%2 zq+!8}`ee=KKD^}@sdtTx%HRWpW2q;dH3>mNLk`zKtIpmDl~4g4o{MVwy!~&G%m>Xt zqQDtwz(V_IP1<~K|2HT!f|{ZYNl4S^ZC8V04!nUANHP$rNt5Gk$$=mR!;pcviE<-w z{r^!k5X$T&Y(p^7Ub&RZZWc7?n3~zTqx~%}$HMG45Aeys#tXq^00000NkvXXu0mjf D*nAZX diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/19-Samsung-Knox.png b/src/web/src/modules/home/components/softwareIcon/imgs/19-Samsung-Knox.png deleted file mode 100644 index bdb2f96a10eb5df7bd0400fb6b05a171225a84b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 476 zcmV<20VDp2P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0dYx0K~y+Tom4?9 zL{StzgN;AHMrrPOBT5#squvjYmBze#&)CZkAcdKfWFt$8k|g;Dlg-Eu|ADZiD3%)M zzIU4U%)9S3eD&3IzVADI_w*WYLYZk$bOfkx!DFI6h7mm@Y7WZfUO;mI9O|66Skuu>mEs4xYJd&(Z9Qy92{|lo(iR?IhBbJ>IobR0~1$LI#?O(}Q&5UV!>pqA?UbrG428K47Ta zFHs18d-R_6Wi5!rU5VQ#>|}WI7MLxG+i#@q_T()n>N$y9&#cpvyI?#RlsLddb-?M# zJz}vs|BKEensC8IO6Zn~F71IP+u!(KXfrC9ir!cPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y9E-_;&oJ#-z1OZ7zK~y+TrIl+;TV)u>-;Sb*XtS7zOWYTA ziJ6*caM3y47r)FzKP*P#ZHmjB6DLN&FOuODU4kf)c^M;v1~%QLRBl1CPNZ&-Q7Qww z(sC(f6x#Kaw&&2&o?d9r-{)&J4OGabkDycd3YML>$@Ud3M*C6>j=u&T?)U|Y2)JQ8XoGwFi^`mI1FN5i9FWig%+{YAlJ zjjAg8rp-({-N}sJp@$%OyCKI`kxIx&hT0LI(?E7JB!aD26~mafPoVevN;K^+#+Q5V z@zmGXRo2!XdUe;Xsv=d#n5T=?i{q~$B}b6WWS}TnC}|(yT@S^}RCLHB7Lb(VkOF@E zY3|3#n#a-n4r@>~`FKvT`^EFmuBDSPDA_E?mPgnFTw%b13a|aI(@X|ysT5*T7;c*t z-Jh3aj=#$`sXE4l6S_|lf{ktz2eN4*10+0vy%2Da#Hqq-djaVEIcYYXKwJ!9&eDhe z>e~*gI>rK~^6perfRb7P(lOAx0QaZB2nj|Bs|v3zgu9w%l5~L>GIAJ_Zx;3wZ*-|T zrtyvZG?ae7`P7J8{C|mQIZnvEJF@mf$O(p1FDZ{oTDaV zQk+M2)dwX`H)^f9^aX{dNESebcI40;oFn~bR3Bp7%l3FHlkgH*Syz4!pV~~yO`VIyFIOk%T*m?_Z1Zt+s=3UV}cWMa0Y4f zA!Hk9=^I);OniF{rIF>%(u1`$JBt{}>=$}{59)Mxs=8b>WzRkHvdd~puXt^U8Y>X5 zp&#-=hU8}qsoFfe<~@EE?RXD-*7b)e_4dvkFK|a*buEQEx0UQQ8(SiRem8<2FoZv3 z5G(%)@9{H1|0V{FEh{fRy=6D;YV(SJr?6P7ee$Di8+yB**T~M@40C%J+;8P^QSG2! zC!JM2wV~&3t@a7pxuNXu@T=cm$k<~K-?6UhrF%7P`!;L(IK1XPIxFEb>g-L0|0Uc) i+^Rw@wvM<#82by_X+H8x#>0aE0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y9E-_;&oJ#-z1b0b9K~y+Tjg)&(RAm^(j|zw^1)G+`C1$`u z6NjiNbR2=h!rqF@E{J&9U0i`(7SJI}htkY~`a^THaT2E~!NxXQS(Vfj0~UjT72RYa4*wZ`^!P97AMLMy zYx^EcoxxlR}S(bI1i9K0&@7k9hFSlLL1asSR)I}9hiF9wq9`1dboy^6)4PH;O8uUE4$E0H1VQgq zFg`xQ8H`KxO}r16_J5N3DR^Uju{(q++=;^vhS{pUh*?*O zW$bAP{4^zmneU>Jt~3s(s0tdVMC*TqXx(Kbs>^VH(vIfNKTy*!$h)@b7J3KnVCvx% zzCHUZV$&)iT3?0ObPN1nEqO4{YnhCP4Gj$mijVYNly9zwXhSVT=~YP5e9Z&(g>{HY zyTCh|^SU4K`Bzu)aLNIt&VtyDHHh0(hu0FTAqY^NC!7akw>y{S?CuziSJxp<^%FrY zNZxGZfjRFs&;*sUyf)JayL}4V_O|h`cs2E?8?kVC@hF`-m}%)6O;GP>gILo*#d?C) zAz5p}1OW~2S?O5Sj~ut58ipMvOiw$oseoz(i_d5xTM@Xr)H!dyznHOD@8~za-45|) zE8;a&Br7w`{DgX3fHgSL}Tk6#A$wZ!6+xuUd0lT37*fqoWV4< zj^?O#c0;UfA!swi8O=~+nfVDPA2?{8=6!GSA#UBCfVpxI$vIac;Xzi2x3oZ#*@ocQ zQ}7goshAss_Y!p<*qqX=R!FGGft9+`{DfOS?4V#1Z!y0TfP1EixIV65N-%MDCjwR- zbGW%Jie{WnXXu{8H-=?83TL-NlGTP3T?Id3UQv&0@)=9C%>+tRNqBSok-0&&rg_NY=e{wKJM%`*Tw{r>AE1%_aIzR ziv@m(CkW`eG+J%ruWu+E7?m5kA=h^!#c;uO(0-B=j0f1FvccqI?x zM1MW^Lnj7zDhv7@ZyIb!D`O{d|zy#I^SFmgSHQeGu#V5EN7H@LUwLmoT%h zw2_gKXSaWP^W%7Z-?S`$0McB7QAlne2ygDW53<}os@cG1_2NbLl*7v}=_tj$U6g-_ zCiPmawkpF@ntxlPr3nliluU4W?ls8su0fP-LwIUEo{u;%;<<2jA;ko)^ixF8xtns0 zLccYpg23pCrVz>HiKTB?oT1VxXF$}+N#Tm3UT^=@gN*y)71Tc0mHHnd@SL!)Fb{zs ws1xF8}}l diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/22-Diversion.png b/src/web/src/modules/home/components/softwareIcon/imgs/22-Diversion.png deleted file mode 100644 index 511c8c8cd4392e5a57dc3eb6c4eb4e1bf8bf60eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 403 zcmeAS@N?(olHy`uVBq!ia0vp^d_XM1!3HGvvhwHvDaPU;cPEB*=VV?2IV|apzK#qG z8~eHcB(eheoCO|{#XwDmL74G){)!Z!1`SUa#}EtuWQNAptSmF`sZ+SbR;_R_n6Nj( zm)EEHX23?(tgLwnyb1>4K}Ni%R5V7<8}~FDot*Ym#(nI{NAr?{O|}OV4XN zE*)}WebFm2M@nBO>PT(*x12(Od;9C{xkDs)roDWTVvti%V9@^Q;e-GG|Hr(RmF=DW z@^yOihoxOy2kZa;D|A|_$Z*$ff!egEY;2Pk#8}MG*S^h@>U2Qh(hiT%Q2A3V&HulC z^_gvBlLM5D$jr%M144@9lBwRc3mh?NDJg!Njy<)qnwxMehO^Tt t;v%D-(gzXQ(_gPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y9E;VFFSW*B00)|OMK~y+TV;BXr0sl8i%Kh6SlKf?b!j#+H zmRqm3xgNdR>T(ps{=8ga>c4H`$=|j}$U~Lm2ER9px<8m?x&L5U$-fneEC0`lJn?@~ z%Gv*mQ-K&rFGx7^e@5W3|BJ$x{oj>c`0q}S<$-@&L_MI|5#ZlWaqidiw3cs5ZT&wh z^!Wd|(Wm~;jXL#z4hTmAam300vq3og6t9a*p=O|NBLG zz=r)l!@&A@vhjgwZfpKe4>;D>+o&THl_x$g$*#Eywa_j$c;kp0sPc%9Ff0Y&+!;kfnWz!tz{-5A-_fz~e$!3MeRF=miYj@lSBr?|Njh( zFXw2jY*w6vqM$}{#{V6O(O+N8(pdqtwBX-Xv3y|iShgc6>PrnU!jRQADop_zipz*AXh_$Z~~B;??AQxHj0Tug+>8Y00RR6Q6|QG T8_oU%00000NkvXXu0mjf*ou!v diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/24-Slimjet.png b/src/web/src/modules/home/components/softwareIcon/imgs/24-Slimjet.png deleted file mode 100644 index 00f899268302075546918b1d7d73cc50995882a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1419 zcmV;61$6p}P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y9E;VFFSW*B01pG-vK~y+Tjgx6mQ)d*0FUsaJ+R6{6#Gy1g^+oFCsg&pGG&?j`<7d_I4&THE)5Sk<{jV|aQ%`q1Rh z6xFYb%B+}49y?5A{SU1U$#jZLmwF{~)$07J_TN?dK6DL?!Z!K}mZ6uBH=2eS!iIt* zUhNt({olc}zKrnCl|BFHd#ETG^bQclK3S5^oBUw-jc~dVstfOc!4#H^r z4Xr&R$P{ae7l&PTu~Y0?c67SqQZL=-$8TcuNfx$6aj@ew7rSD3@S_QFujvW$)sIoz zIgAI!5ojL&3a#lmbUiQ7WFCPZmCGb4@2v0cNq1REfqO6m%R-r0buTwG-JfJE9)mu(o9$1yd0v%eU1x#KVxgzU0^9IQ2&#=pFE@Zj z78aB>auvGzt4zhqbW^%nL8Y^niRg?%_}gw*Y}^{^4ANC-YIR(xSb?0F%jt zmNo+#+RR9;Fd<1|M68H(p%K(V1ETXg5z1(GNPd@*B^{tC`;b~Uh!oNZssY5w`f@req! z`tTS8F!8rIdvSNn3zLlbW@&Ml--;Dy1aJ$@!omnPyb}vRm3NN=Gh0X)34I;Y8lE9q zV#c=QTD%u1>?gj?et#S`AvjE>}X|w?GHP*M#@o5`} z@h!R0{Ns{QXP@ltcF;T8Aa|VZC%EcCt$Y=nqesFoHpJZP##fgsu{BkWD~&^M*G{P) zL}>0KEdH^4#ML*~*G~95!C?x8=e^*#q}wxHgVW^}B-RX&cWOo2gQ4*l%++I4LJj5| zE~;_z=B%<8{)aZ)cAZM$A6yVoTI3O1X<1KKVNI-J?Bj^C*4aU#n=U@QO|P5Vv)>Ux Z{0TNbdz!Dp?=S!W002ovPDHLkV1f%4lY0OF diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/25-uMatrix.png b/src/web/src/modules/home/components/softwareIcon/imgs/25-uMatrix.png deleted file mode 100644 index 82663fc9ec327af371eb1f62382d9f3545e23c8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 917 zcmV;G18V$Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y9E;VFFSW*B00|rS%K~y+TU6IRA6Hye#XUE2kt_UF^ER_X_ zBsH+ps2dmVNsJnm#JDv61#VfIXiOA08r=Yf@UV|5Q`!!l>EqscwWZT3FfB}5XlL4K zOTxl)XXsFDemOar-h03AJBNDm20eIw$>Rm#>3e1Vog9eO>nE0N+pSjXy#K4$>oiSs z90xU@&r|Uqq1ck&BkBwC;sg-?BBp#f|~j=HU4pYklWv; z@BO?l@msZ$ESVA@o1_s<5$Ynp=v(rkCQ2$vN@*yH<&ljSV}9fhE8(h`Ia0;MVS?Rf z<)#exxiSY;F_o;9l}wpjHgj@&080_oc;tX%Em1Huaugml4wZIZv2&!h^Vv2uIXRn7 zQMMp-F?Q)7bU@Q3I#iBC+6Wn{fSUj|ib7WqTB#J&3oy>{JY`E#&qEYjnal~t={r$) zw5DBThVVUE?uuepCXIVImrN4n9zq@`EURyCml?)Js7jPE>MO&)o@@`}LOSi(hOZ75 z&lmjx)$gxFB6cQYsMxuTj3Nm|Y(qNdGC8d4l-;)hz(dC@TL^{pXv`KxaO*CqR#IHs z#B<-dRW4uJhR4d=+Z86F1%u!ml&{#vxSdW9+BPqg9lDZKOC(PC(U zax)XD4qWTog!3lJJfLhPlZ`|ox4EeXf(@QO+RNaEGi{Zq!4!z5tBep)Ztm=u;joLk zyj)ya(bv{0>l=19*Em$m4Gl2MrCzDjDHNa*H0?~&EW@Buqoe%LkVoqJ4cX@tCMKGz zt8O-8%4x_(`d^?Y%6MibGcw{KO-{;lv(lYubA8>L1uOy@3kC*_J0npfdrppx@z<`o rq=$#asVM;8x_L#}9kQ$JW!Ck7O*ytvM#VPt00000NkvXXu0mjfdvu%G diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/26-Blokada.png b/src/web/src/modules/home/components/softwareIcon/imgs/26-Blokada.png deleted file mode 100644 index cfd376114e59b77b695522882b3ad47615c2e0b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 998 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1A9qCK~y+Tm6L5~ zm1P*me~V==Q!BJ4QG_rl25Hon!K8CGJ^uZq2i|^4QchG+$VAN8RrJ_t~Slu&4`e4(GnF=XYP%|N7tbMYum1 zWGOd@Q&E_o%ZXhG!<@thyK{Z@Px)Q<&pX z%vcO_GRACgh)?=LZ2hg03xb&oPh$i#Q(Dt;%%%01be#9;3DM9OW~MVpa_~A>%EGh+ zYZ?uaTeY0r1Etg^BYdHYdQQa{)Nh;Gni6z39YK1!f}C~pSlsNe`DlboBLe;`U`jv> zI}v3}6%~52*vQsepmmcf91^IPLuCxLmy^mIL)O+pRtwxed>u@hnG-QCOZ+#Ca=hG3 zNVg+`jqpP${fEmr-w~p+!Q~cv7|123xrB`xLfXQP{RJ~>>01rr?hHktK@6X*W`KPz z3Bl5P9rjD7iLMauc9pY2IawbSQXma`M*j}0WK655#YeV4Q>UwFqA5UKTPddAkFPPn z=Yko*?6exSBF{a@qCGC}sMTo;vlF#24Pjho>kO(lQ7S9|Av&goz-N&ezOP`Bvg@n}NtY9OFH7xPAdFdgR>~Uz6w=yuj0^6pM!>{P_wO-o1$okUH2Tcw} zlWfxjbG&_g4{)pge{5kAJOh)an{+hKoY%sBu&aoc49uZf&*ygUh`N>Jw7HC0d+c}F zoj>Fx%d5E4OaJ$HJ)dQ&tTO|1=#p-| z)@uoe_SaT&kC*n};)RE~>nlGE9?X1GOrzcNj{jd+9k#9J?d^~AUS8hZgT8UVpMcQH U^2Mz=7ytkO07*qoM6N<$f;}bU1ONa4 diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/27-hostsmgr.png b/src/web/src/modules/home/components/softwareIcon/imgs/27-hostsmgr.png deleted file mode 100644 index 349d5b17e0e182d6a05c9e8352a0d5a055ab27a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 750 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0)t6JK~y+Tm6Xd* zT0s=X{ga3Zal^t@7hSmNs%cW(b!VCgiwXo2V=yMQYA9)F2ysD71p1mBO#IZi(BLMoNwcsw2yi^bc8Hz^bfSXp@muXpkfMu_5T#A44eJNpQByM0j9>2wf@ zL{Ki5sf!`DW2Lf9m?biqIZRLA!^FhnL6h_Ib0iW8uq!Z=Xf%p=JdVvx2ZCFeTS8x9X&(q_*jg273Qj*i~lgrQQY(9g)o2rL#0 zO%Doha_iv#A~nkU2lN?Sa2KS8_;DSA@Bv=IPd~V?c;gWe3J3^Cx3TJU!}oa;{&hdz ze-aT+#38Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0@O)FK~y+Tm6S_N z6Hyd~XQosO3m_y$MSSdJL)4%NiMr6ljmD^nF)=3UhUh|fMibPy(h%b#Y)tS0Fh}F?c#W3E8%O0;>5hfL155qYVK# zD=m05Gy&J#Bk&?H1)=z|VqMYcjQ~4r1JDtQLU(w9?w} z9l)k0861%XxFY|AXE^6w<Q7&cM-5AGFNOLk_}&u{Z^sb^iDha2btD$s}}!qYzFk z(@qM$`{+pd9bU+^y5Y{?C?lg|`lV`sc<8bJk7y9t{NCu=6qT^jdpyQn;hO6tksRD{{W|H;7 za+3Z|BP18Q!5aw%%!iCph^Iodt+gN6hMp28rMmU73fPJdM=+#=xMR(Dh=y4?I!i3xi}D z9f>q!{dW3)(7pfiTm_It?n1GD0&IA6B&^$L@L&f-H=56+c}fy)R(_2WXxur@=ha$`3*IY8QeBrjcfn_002ov JPDHLkV1mqObJ_p^ diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/28-personalDNSfilter.svg b/src/web/src/modules/home/components/softwareIcon/imgs/28-personalDNSfilter.svg deleted file mode 100644 index 90fd8f734..000000000 --- a/src/web/src/modules/home/components/softwareIcon/imgs/28-personalDNSfilter.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - -Layer 1 - - - - - - - - - - - - \ No newline at end of file diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/29-Unbound.png b/src/web/src/modules/home/components/softwareIcon/imgs/29-Unbound.png deleted file mode 100644 index e6100dd8aeb3483288be1f3e931ed579eef96102..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 565 zcmV-50?Pe~P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0m?~4K~y+TV?YK9 zN3N^OAH2R<;n20$T8Hn-fyA^<-j`4~bp5&Fq3b)94`0;=D?|qJ`|k_LAG|g}{?N7G z@`tYf2VsrFw_HJT%15tT!Nh?0H_)KTTE`v(_w9LGmDVG69wU<<=bj&mf}X`(H}h2Su~CPThYU-MSx&N>S^8 z^mh;+Su;qzh=$jH24PY2XV^72{@2xO2GiIy3k#dQW{{I}GLn_`KS_#a8Cn0c5)$?% z;J~P_uV>QGNR3xh%X^AXvzmI|b9MF9B%lr^utsE{r`OG`qgUMm@+Y!pkpFe{synQ# zN_nA5aRYPnb_G3y=9NIrzw`~7*BTi$gF_w_FfafBn1nOOUpWR>00000NkvXXu0mjf DC4~J` diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/30-BIND.png b/src/web/src/modules/home/components/softwareIcon/imgs/30-BIND.png deleted file mode 100644 index 74723afaf1d359782a9c73db41ef2918958493fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 520 zcmV+j0{8uiP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0i8)iK~y+T)l)l5 z!%!Igv^Xg^2%>I^;A9s;@F)0K9J=Wsn#aAF9G!~bPjD3%ClNOhQE;lzN0PQ_+DQjN zsJOTZeZ_NcQe%BU)8gQP!@VK-&OP6EZsUKv51?qp5S4g$$Sl6Xpp(YCeM#|#6AU^Ht*x-{H!r(o2S1;q8yGjq5; zZ_s)Q1vPsSZI4E#A(KW(aLAksUr_uhy!42{-otjt_On>O?%QNe6~ZFWSK1a`GUo&r zvjvx4PgGH>I|Zyu{yh{?@8qXxD>Ks*4Rgw${pb0Mbo=4of#@9pdgq0aG(GhI0000< KMNUMnLSTZL9Ne`4 diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/31-AdGuard-Home.png b/src/web/src/modules/home/components/softwareIcon/imgs/31-AdGuard-Home.png deleted file mode 100644 index e217b6879cfc0f52fb498073717e3b35fa925daa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 878 zcmV-!1CjiRP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0|QA!K~y+TeUn*l z+E5UM`P+S|RH;uO*-iD>! zZX+BHBbiJ>5CkZSfJWt&aev$&+|C> zaSEH=2D{6FKi8M=gnbBcVbHs5HVc_mlh5a&v6f3^9eS;fDz(<`pw;W)aWa7=z=iPb z*LR#ce&W*Y#7!`OSmF*DL4+vD$SHZqs)l@_1g%s?Nndj#PQN*g z_Z*UZ3Vc?8%qFR*3TsVct(8onEuX<)fbnDui^uPI0XiCuB9&qS8$M!A1TP5?l`JGp zhE^`1%7ke2?M@rLK4UZ*^b`q^1!&!RORwlCREj9q zbyQnSu-jyP^f9cMd zcdf?^MSh@DNRaptCvrD|CozIgLS#y+ioU0oo-Zx%7gDMvYC9e|I{*Lx07*qoM6N<$ Eg2&N_MF0Q* diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/32-AdNauseam.png b/src/web/src/modules/home/components/softwareIcon/imgs/32-AdNauseam.png deleted file mode 100644 index 773f3c556bcda75b5576d8af06e9211ae2b203fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 713 zcmV;)0yh1LP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0$xc(K~y+TwNy!H z6hRa%y(r>A!3D&lh~Pm4K?J3lu4)|@6f_=OE&&zB1(zf!XdH8h2u3Ad^q}H)3OZd~ zlZ-?U5pxqf3L*%4P!EAjEfWP1+E+b2LyuF3QS`&7KkvPM_3O{?A^$aE63^nk?kWem zD}`Dj^r{OuRefT|=XojQj!IrHhVXgBbR1FLpTaE>`DUr*Iny6Flj~BrHO2$81fq9| zQ3qy;A=S0e*PBwR9>roj8y&rD8g*!9lQT8N+0?R>CImotR*+fGjD$v zG|Zmnrq`g}73He_gcr|snMG9ntmJ2w6R}yZY9kYY?vI%2$zr&{8>gA&0&|RTY7RI_ zrY_^ekv7hgE7~xdRNo_ln$u2_smFNU&0_eGz6qwiEY?h_M=>vX+(n|Zk35)JkLULW zCaAiCVV}?H8VOy9YpU%o(x&|q#;96}E>D$NZQF~1h6An$1=xk@Q8YrH)1b>iUEBW_x60<00R%3t<|2hM+w{FDrZcgQeh?)U( zcn1S63Z{B7>j7zwGwa_Z|C>BBHW@`gL6>3lLxBff|f_brAm+MSBSNS6CJB>K5_~u?2u~(+sCV6rvtRJq~;b zMg`P;&|X3}L+HGlGjp=et3l|Wft$qA>Z1V8r28|B7muLZ{dT8HY}!M80^I!&*8%?k v^Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0{BTpK~y+Tg_Lhd z6JZ?3C-kCszUfUb2evmtiBl_ci1YsxTuYE;V3MST7QN_&P|1jJArVwdBCH@PsThp3 zG|+hylgN4|)3R;(XPa(wyZyP{ZI!$IdbZu1)oy;_1J50NKm6|Qc}|cmeSLj<6bi*q zLqh}8*w`osfShb_HU2a;HFZ{3S3_lGC5(JooTO=bnGcGhOe9I>bJfggZEYP@tJNTt zN@3MzLrgdVVICMJ3~sl#ovUWf@bIu%r_+H_sf1vNMl=%ve&RxRcHuz(71!APMp)KL zfeJWL2$%Sv=rA~U5$0H5m(wg!1}squ6uE{dIs!qAhYY}kp1_jGHo?#?Lb+Tnesi}0 zqH*EWQ3zn6AD7~MHCv(Q!o|dTCys3Iu(r1L$?WVbFzW^gEIkD>5JV&uhBywF7hY*~ ziS;%?1{_WvVRLhHURPJwRxB37+Y9hl41*^?BM&a|5@5jQ7$U#7Xqh`;bp~7km9pMf8o zCLQr0je1|0;Je)m4<0{*j?VLdu+)Y{an?LEn0E@PxwHG&=_*ZpBS($hoF*O72^A98 zw?ogR%kW$~3M=jqtZveOVYYF?*oT^u=yc^T)*!*B;#guMv%XK9DjD$rjg+?$EMrj` znj?ArEhXF{Dx|ET9Lti&jGa0R>`Xnxs3lGZP}Cnn71ut4)fM7pTNooGSh!<4eF;Vk z(HR*)EV+G(R3UWW+#Hyl6j*RM6ALTu(+Qz}Tq2B2l$m}{mO@mIr_&b$J6QNn{1`ISV`@iy0XB4ude`@%$AjKn>ZRE{-7<{&)M&docw{9MxCmcrH|FcPlSD(DLxki5ei{bMY9zxa$k#5&!Sdkq&j)3@9~SL=P+;*w z^={sEn@j@<2LYCjMIASD*mmFjC%a&ymge-+68*iA_ZZmw; z>=Po(-fD|*eW=>ItnhY@Xy4-(^4Au0g)M|3Mfv{+-tj2TZ?H~SdyU^{HZU$2JYD@< J);T3K0RW$*#Bcxr diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/imgs.d.ts b/src/web/src/modules/home/components/softwareIcon/imgs/imgs.d.ts deleted file mode 100644 index 1090848f7..000000000 --- a/src/web/src/modules/home/components/softwareIcon/imgs/imgs.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -declare module "*.svg" { - const content: any; - export default content; -} - -declare module "*.png" { - const content: any; - export default content; -} \ No newline at end of file diff --git a/src/web/src/modules/home/components/softwareIcon/imgs/index.ts b/src/web/src/modules/home/components/softwareIcon/imgs/index.ts deleted file mode 100644 index 00cb09611..000000000 --- a/src/web/src/modules/home/components/softwareIcon/imgs/index.ts +++ /dev/null @@ -1,69 +0,0 @@ -import img1 from "./01-uBlock-Origin.svg"; -import img2 from "./02-Adblock-Plus.svg"; -import img3 from "./03-AdGuard.svg"; -import img4 from "./04-DNS66.png"; -import img5 from "./05-Nano-Adblocker.png"; -import img6 from "./06-AdBlock.png"; -import img7 from "./07-AdAway.png"; -import img8 from "./08-Personal-Blocklist.png"; -import img10 from "./10-Redirector.png"; -import img11 from "./11-Hosts-File-Editor.png"; -import img12 from "./12-Gas-Mask.png"; -import img13 from "./13-MinerBlock.svg"; -import img14 from "./14-Pi-hole.svg"; -import img15 from "./15-uBlock.svg"; -import img16 from "./16-Internet-Explorer-TPL.svg"; -import img17 from "./17-Google-Hit-Hider-by-Domain.png"; -import img18 from "./18-FireHOL.png"; -import img19 from "./19-Samsung-Knox.png"; -import img20 from "./20-Little-Snitch.png"; -import img21 from "./21-Privoxy.png"; -import img22 from "./22-Diversion.png"; -import img23 from "./23-dnsmasq.png"; -import img24 from "./24-Slimjet.png"; -import img25 from "./25-uMatrix.png"; -import img26 from "./26-Blokada.png"; -import img27 from "./27-hostsmgr.png"; -import img28 from "./28-personalDNSfilter.svg"; -import img29 from "./29-Unbound.png"; -import img30 from "./30-BIND.png"; -import img31 from "./31-AdGuard-Home.png"; -import img32 from "./32-AdNauseam.png"; -import img33 from "./33-Legacy-Unix-Derivatives.png"; -import img34 from "./34-Windows-command-line.png"; - -export { - img1, - img2, - img3, - img4, - img5, - img6, - img7, - img8, - img10, - img11, - img12, - img13, - img14, - img15, - img16, - img17, - img18, - img19, - img20, - img21, - img22, - img23, - img24, - img25, - img26, - img27, - img28, - img29, - img30, - img31, - img32, - img33, - img34 - }; diff --git a/src/web/src/modules/home/components/softwareIcon/index.ts b/src/web/src/modules/home/components/softwareIcon/index.ts deleted file mode 100644 index 2dca6d6c1..000000000 --- a/src/web/src/modules/home/components/softwareIcon/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { SoftwareIcon } from "./SoftwareIcon"; - -export { - SoftwareIcon - }; \ No newline at end of file diff --git a/src/web/src/modules/home/index.ts b/src/web/src/modules/home/index.ts deleted file mode 100644 index f53b5d5c0..000000000 --- a/src/web/src/modules/home/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { HomeContainer } from "./HomeContainer"; - -export { - HomeContainer as Home - }; \ No newline at end of file diff --git a/src/web/src/modules/home/interfaces/IColumnVisibility.ts b/src/web/src/modules/home/interfaces/IColumnVisibility.ts deleted file mode 100644 index 3f11fd9a6..000000000 --- a/src/web/src/modules/home/interfaces/IColumnVisibility.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface IColumnVisibility { - column: string; - visible: boolean; -}; \ No newline at end of file diff --git a/src/web/src/modules/home/interfaces/ILanguage.ts b/src/web/src/modules/home/interfaces/ILanguage.ts deleted file mode 100644 index 6f90f94d2..000000000 --- a/src/web/src/modules/home/interfaces/ILanguage.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface ILanguage { - id: number; - filterListIds: number[]; - iso6391: string; - name: string; -}; \ No newline at end of file diff --git a/src/web/src/modules/home/interfaces/ILicense.ts b/src/web/src/modules/home/interfaces/ILicense.ts deleted file mode 100644 index 52b42da81..000000000 --- a/src/web/src/modules/home/interfaces/ILicense.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface ILicense { - id: number; - descriptionUrl: string; - filterListIds: number[]; - name: string; -}; \ No newline at end of file diff --git a/src/web/src/modules/home/interfaces/IList.ts b/src/web/src/modules/home/interfaces/IList.ts deleted file mode 100644 index 1de1a8607..000000000 --- a/src/web/src/modules/home/interfaces/IList.ts +++ /dev/null @@ -1,24 +0,0 @@ -export interface IList { - id: number; - chatUrl: string; - description: string; - descriptionSourceUrl: string; - donateUrl: string; - emailAddress: string; - forumUrl: string; - homeUrl: string; - issuesUrl: string; - languageIds: number[]; - licenseId: number; - maintainerIds: number[]; - name: string; - policyUrl: string; - publishedDate: string; - //ruleCount: number; - submissionUrl: string; - syntaxId: number; - tagIds: number[]; - //updatedDate: string; - viewUrl: string; - viewUrlMirrors: string[]; -}; \ No newline at end of file diff --git a/src/web/src/modules/home/interfaces/IMaintainer.ts b/src/web/src/modules/home/interfaces/IMaintainer.ts deleted file mode 100644 index 421ce83c9..000000000 --- a/src/web/src/modules/home/interfaces/IMaintainer.ts +++ /dev/null @@ -1,8 +0,0 @@ -export interface IMaintainer { - id: number; - emailAddress: string; - filterListIds: number[]; - homeUrl: string; - name: string; - twitterHandle: string; -}; \ No newline at end of file diff --git a/src/web/src/modules/home/interfaces/ISoftware.ts b/src/web/src/modules/home/interfaces/ISoftware.ts deleted file mode 100644 index 840a05fb0..000000000 --- a/src/web/src/modules/home/interfaces/ISoftware.ts +++ /dev/null @@ -1,7 +0,0 @@ -export interface ISoftware { - id: number; - homeUrl: string; - isAbpSubscribable: boolean; - name: string; - syntaxIds: number[]; -}; \ No newline at end of file diff --git a/src/web/src/modules/home/interfaces/ISyntax.ts b/src/web/src/modules/home/interfaces/ISyntax.ts deleted file mode 100644 index 2dd8fc9ee..000000000 --- a/src/web/src/modules/home/interfaces/ISyntax.ts +++ /dev/null @@ -1,7 +0,0 @@ -export interface ISyntax { - id: number; - definitionUrl: string; - filterListIds: number[]; - name: string; - softwareIds: number[]; -}; \ No newline at end of file diff --git a/src/web/src/modules/home/interfaces/ITag.ts b/src/web/src/modules/home/interfaces/ITag.ts deleted file mode 100644 index 62e526469..000000000 --- a/src/web/src/modules/home/interfaces/ITag.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface ITag { - id: number; - description: string; - filterListIds: number[]; - name: string; -}; \ No newline at end of file diff --git a/src/web/src/modules/index.ts b/src/web/src/modules/index.ts deleted file mode 100644 index d4c28103a..000000000 --- a/src/web/src/modules/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Home } from "./home"; - -export { - Home - }; \ No newline at end of file diff --git a/src/web/src/utils/GetContrast.ts b/src/web/src/utils/GetContrast.ts deleted file mode 100644 index 0dc5f4e55..000000000 --- a/src/web/src/utils/GetContrast.ts +++ /dev/null @@ -1,8 +0,0 @@ -//https://stackoverflow.com/a/11868398/2343739 -export const getContrast = (hexcolor: string) => { - const r = parseInt(hexcolor.substr(0, 2), 16); - const g = parseInt(hexcolor.substr(2, 2), 16); - const b = parseInt(hexcolor.substr(4, 2), 16); - const yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000; - return (yiq >= 128) ? "black" : "white"; -}; \ No newline at end of file diff --git a/src/web/src/utils/index.ts b/src/web/src/utils/index.ts deleted file mode 100644 index ecd02f727..000000000 --- a/src/web/src/utils/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { getContrast } from "./GetContrast"; - -export { - getContrast - }; \ No newline at end of file diff --git a/src/web/src/utils/loader.css b/src/web/src/utils/loader.css deleted file mode 100644 index 396eb8671..000000000 --- a/src/web/src/utils/loader.css +++ /dev/null @@ -1,68 +0,0 @@ -/*https://projects.lukehaas.me/css-loaders/#load1*/ - -.loader, -.loader:before, -.loader:after { - -ms-animation: load1 1s infinite ease-in-out; - -webkit-animation: load1 1s infinite ease-in-out; - animation: load1 1s infinite ease-in-out; - background: #000000; - height: 4em; - width: 1em; -} - -.loader { - -ms-transform: translateZ(0); - -webkit-animation-delay: -0.16s; - -webkit-transform: translateZ(0); - animation-delay: -0.16s; - color: #000000; - font-size: 11px; - margin: 88px auto; - position: relative; - text-indent: -9999em; - transform: translateZ(0); -} - -.loader:before, -.loader:after { - content: ''; - position: absolute; - top: 0; -} - -.loader:before { - -webkit-animation-delay: -0.32s; - animation-delay: -0.32s; - left: -1.5em; -} - -.loader:after { left: 1.5em; } - -@-webkit-keyframes load1 { - 0%, - 80%, - 100% { - box-shadow: 0 0; - height: 4em; - } - - 40% { - box-shadow: 0 -2em; - height: 5em; - } -} - -@keyframes load1 { - 0%, - 80%, - 100% { - box-shadow: 0 0; - height: 4em; - } - - 40% { - box-shadow: 0 -2em; - height: 5em; - } -} \ No newline at end of file diff --git a/src/web/tsconfig.json b/src/web/tsconfig.json deleted file mode 100644 index 0980b23fa..000000000 --- a/src/web/tsconfig.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "preserve" - }, - "include": [ - "src" - ] -}