From bf8054576682340404f3a48ee4d86949685d483b Mon Sep 17 00:00:00 2001 From: Shekar Siri Date: Tue, 4 May 2021 18:59:46 +0530 Subject: [PATCH 01/10] integrations doc links --- .../Integrations/BugsnagForm/BugsnagForm.js | 35 +- .../CloudwatchForm/CloudwatchForm.js | 3 +- .../Client/Integrations/DatadogForm.js | 3 +- .../Client/Integrations/ElasticsearchForm.js | 3 +- .../Client/Integrations/FetchDoc/FetchDoc.js | 5 +- .../Client/Integrations/GithubForm.js | 3 +- .../Integrations/GraphQLDoc/GraphQLDoc.js | 5 +- .../Client/Integrations/Integrations.js | 6 +- .../Client/Integrations/JiraForm/JiraForm.js | 47 +- .../Client/Integrations/MobxDoc/MobxDoc.js | 5 +- .../Integrations/NewrelicForm/NewrelicForm.js | 3 +- .../Client/Integrations/NgRxDoc/NgRxDoc.js | 5 +- .../Integrations/ProfilerDoc/ProfilerDoc.js | 5 +- .../Client/Integrations/ReduxDoc/ReduxDoc.js | 3 +- .../Client/Integrations/RollbarForm.js | 3 +- .../Client/Integrations/SentryForm.js | 3 +- .../Client/Integrations/StackdriverForm.js | 3 +- .../SumoLogicForm/SumoLogicForm.js | 3 +- .../Client/Integrations/VueDoc/VueDoc.js | 3 +- .../OnboardingTabs/InstallDocs/InstallDocs.js | 2 +- .../Session_/Player/Controls/Timeline.js | 3 +- .../app/components/shared/DocLink/DocLink.js | 6 +- frontend/app/svg/icons/integrations/mobx.svg | 1 + .../app/svg/icons/integrations/openreplay.svg | 2 +- frontend/env.js | 2 +- frontend/package-lock.json | 20740 ++++++---------- frontend/scripts/upload-minio.js | 11 +- 27 files changed, 7902 insertions(+), 13011 deletions(-) create mode 100644 frontend/app/svg/icons/integrations/mobx.svg diff --git a/frontend/app/components/Client/Integrations/BugsnagForm/BugsnagForm.js b/frontend/app/components/Client/Integrations/BugsnagForm/BugsnagForm.js index fc3dc1c72..e73f19bcd 100644 --- a/frontend/app/components/Client/Integrations/BugsnagForm/BugsnagForm.js +++ b/frontend/app/components/Client/Integrations/BugsnagForm/BugsnagForm.js @@ -1,22 +1,29 @@ import { tokenRE } from 'Types/integrations/bugsnagConfig'; import IntegrationForm from '../IntegrationForm'; import ProjectListDropdown from './ProjectListDropdown'; +import DocLink from 'Shared/DocLink/DocLink'; const BugsnagForm = (props) => ( - tokenRE.test(config.authorizationToken), - component: ProjectListDropdown, - } - ]} - /> + <> +
+
How to integrate Bugsnag with OpenReplay and see backend errors alongside session recordings.
+ +
+ tokenRE.test(config.authorizationToken), + component: ProjectListDropdown, + } + ]} + /> + ); BugsnagForm.displayName = "BugsnagForm"; diff --git a/frontend/app/components/Client/Integrations/CloudwatchForm/CloudwatchForm.js b/frontend/app/components/Client/Integrations/CloudwatchForm/CloudwatchForm.js index df7fbd1ce..e29e343f9 100644 --- a/frontend/app/components/Client/Integrations/CloudwatchForm/CloudwatchForm.js +++ b/frontend/app/components/Client/Integrations/CloudwatchForm/CloudwatchForm.js @@ -2,12 +2,13 @@ import { ACCESS_KEY_ID_LENGTH, SECRET_ACCESS_KEY_LENGTH } from 'Types/integratio import IntegrationForm from '../IntegrationForm'; import LogGroupDropdown from './LogGroupDropdown'; import RegionDropdown from './RegionDropdown'; +import DocLink from 'Shared/DocLink/DocLink'; const CloudwatchForm = (props) => ( <>
How to integrate CloudWatch with OpenReplay and see backend errors alongside session replays.
-
See Documentation for more details.
+
( <>
How to integrate Datadog with OpenReplay and see backend errors alongside session recordings.
-
See Documentation for more details.
+
({ config: state.getIn([ 'elasticsearch', 'instance' ]) @@ -43,7 +44,7 @@ export default class ElasticsearchForm extends React.PureComponent { <>
How to integrate Elasticsearch with OpenReplay and see backend errors alongside session recordings.
-
See Documentation for more details.
+
{ return ( @@ -55,7 +56,7 @@ fetch('https://api.openreplay.com/').then(response => console.log(response.json( } /> -
See API for more options.
+ ) }; diff --git a/frontend/app/components/Client/Integrations/GithubForm.js b/frontend/app/components/Client/Integrations/GithubForm.js index f9daeebe4..32bc42ceb 100644 --- a/frontend/app/components/Client/Integrations/GithubForm.js +++ b/frontend/app/components/Client/Integrations/GithubForm.js @@ -1,11 +1,12 @@ import IntegrationForm from './IntegrationForm'; +import DocLink from 'Shared/DocLink/DocLink'; const GithubForm = (props) => ( <>
Integrate GitHub with OpenReplay and create issues directly from the recording page.
{ return ( @@ -52,7 +53,7 @@ export const recordGraphQL = tracker.use(trackerGraphQL());`} } /> -
See API for more options.
+ ) }; diff --git a/frontend/app/components/Client/Integrations/Integrations.js b/frontend/app/components/Client/Integrations/Integrations.js index c148d7f31..d90587e5f 100644 --- a/frontend/app/components/Client/Integrations/Integrations.js +++ b/frontend/app/components/Client/Integrations/Integrations.js @@ -289,7 +289,7 @@ export default class Integrations extends React.PureComponent { this.showIntegrationConfig(FETCH) } @@ -298,7 +298,7 @@ export default class Integrations extends React.PureComponent { this.showIntegrationConfig(MOBX) } @@ -307,7 +307,7 @@ export default class Integrations extends React.PureComponent { this.showIntegrationConfig(PROFILER) } diff --git a/frontend/app/components/Client/Integrations/JiraForm/JiraForm.js b/frontend/app/components/Client/Integrations/JiraForm/JiraForm.js index 278f89890..867ebbcd1 100644 --- a/frontend/app/components/Client/Integrations/JiraForm/JiraForm.js +++ b/frontend/app/components/Client/Integrations/JiraForm/JiraForm.js @@ -1,25 +1,34 @@ import IntegrationForm from '../IntegrationForm'; +import DocLink from 'Shared/DocLink/DocLink'; const JiraForm = (props) => ( - + <> +
+
How to integrate Jira Cloud with OpenReplay.
+
+ +
+
+ + ); JiraForm.displayName = "JiraForm"; diff --git a/frontend/app/components/Client/Integrations/MobxDoc/MobxDoc.js b/frontend/app/components/Client/Integrations/MobxDoc/MobxDoc.js index f8ab34fa0..7c4b3233b 100644 --- a/frontend/app/components/Client/Integrations/MobxDoc/MobxDoc.js +++ b/frontend/app/components/Client/Integrations/MobxDoc/MobxDoc.js @@ -1,5 +1,6 @@ import Highlight from 'react-highlight' -import ToggleContent from '../../../shared/ToggleContent' +import ToggleContent from 'Shared/ToggleContent' +import DocLink from 'Shared/DocLink/DocLink'; const MobxDoc = (props) => { return ( @@ -49,7 +50,7 @@ function SomeFunctionalComponent() { } /> -
See API for more options.
+ ) }; diff --git a/frontend/app/components/Client/Integrations/NewrelicForm/NewrelicForm.js b/frontend/app/components/Client/Integrations/NewrelicForm/NewrelicForm.js index 769a17551..0e7b0bed6 100644 --- a/frontend/app/components/Client/Integrations/NewrelicForm/NewrelicForm.js +++ b/frontend/app/components/Client/Integrations/NewrelicForm/NewrelicForm.js @@ -1,10 +1,11 @@ import IntegrationForm from '../IntegrationForm'; +import DocLink from 'Shared/DocLink/DocLink'; const NewrelicForm = (props) => ( <>
How to integrate NewRelic with OpenReplay and see backend errors alongside session recordings.
-
See Documentation for more details.
+
{ return ( @@ -65,7 +66,7 @@ const metaReducers = [tracker.use(trackerNgRx())]; // check list of ava } /> -
See API for more options.
+ ) }; diff --git a/frontend/app/components/Client/Integrations/ProfilerDoc/ProfilerDoc.js b/frontend/app/components/Client/Integrations/ProfilerDoc/ProfilerDoc.js index 4a3e4a3d9..e61f968b9 100644 --- a/frontend/app/components/Client/Integrations/ProfilerDoc/ProfilerDoc.js +++ b/frontend/app/components/Client/Integrations/ProfilerDoc/ProfilerDoc.js @@ -1,5 +1,6 @@ import Highlight from 'react-highlight' -import ToggleContent from '../../../shared/ToggleContent' +import ToggleContent from 'Shared/ToggleContent' +import DocLink from 'Shared/DocLink/DocLink'; const ProfilerDoc = (props) => { return ( @@ -59,7 +60,7 @@ const fn = profiler('call_name')(() => { } /> -
See API for more options.
+ ) }; diff --git a/frontend/app/components/Client/Integrations/ReduxDoc/ReduxDoc.js b/frontend/app/components/Client/Integrations/ReduxDoc/ReduxDoc.js index a88fb4103..acc083a97 100644 --- a/frontend/app/components/Client/Integrations/ReduxDoc/ReduxDoc.js +++ b/frontend/app/components/Client/Integrations/ReduxDoc/ReduxDoc.js @@ -1,5 +1,6 @@ import Highlight from 'react-highlight' import ToggleContent from '../../../shared/ToggleContent'; +import DocLink from 'Shared/DocLink/DocLink'; const ReduxDoc = (props) => { return ( @@ -58,7 +59,7 @@ const store = createStore( } /> -
See API for more options.
+ ) }; diff --git a/frontend/app/components/Client/Integrations/RollbarForm.js b/frontend/app/components/Client/Integrations/RollbarForm.js index 87a2033e4..04ccc8b2b 100644 --- a/frontend/app/components/Client/Integrations/RollbarForm.js +++ b/frontend/app/components/Client/Integrations/RollbarForm.js @@ -1,10 +1,11 @@ import IntegrationForm from './IntegrationForm'; +import DocLink from 'Shared/DocLink/DocLink'; const RollbarForm = (props) => ( <>
How to integrate Rollbar with OpenReplay and see backend errors alongside session replays.
-
See Documentation for more details.
+
( <>
How to integrate Sentry with OpenReplay and see backend errors alongside session recordings.
-
See Documentation for more details.
+
( <>
How to integrate Stackdriver with OpenReplay and see backend errors alongside session recordings.
-
See Documentation for more details.
+
( <>
How to integrate SumoLogic with OpenReplay and see backend errors alongside session recordings.
-
See Documentation for more details.
+
{ return ( @@ -59,7 +60,7 @@ const store = new Vuex.Store({ } /> -
See API for more options.
+ ) }; diff --git a/frontend/app/components/Onboarding/components/OnboardingTabs/InstallDocs/InstallDocs.js b/frontend/app/components/Onboarding/components/OnboardingTabs/InstallDocs/InstallDocs.js index 4072b2018..2d6230c0a 100644 --- a/frontend/app/components/Onboarding/components/OnboardingTabs/InstallDocs/InstallDocs.js +++ b/frontend/app/components/Onboarding/components/OnboardingTabs/InstallDocs/InstallDocs.js @@ -88,7 +88,7 @@ function InstallDocs({ site }) { -
See Documentation for the list of available options.
+
See Documentation for the list of available options.
) } diff --git a/frontend/app/components/Session_/Player/Controls/Timeline.js b/frontend/app/components/Session_/Player/Controls/Timeline.js index aeab1af64..4114929c9 100644 --- a/frontend/app/components/Session_/Player/Controls/Timeline.js +++ b/frontend/app/components/Session_/Player/Controls/Timeline.js @@ -112,6 +112,7 @@ export default class Timeline extends React.PureComponent { style={ { left: `${ interval.start * scale }%`, width: `${ (interval.end - interval.start) * scale }%`, + top: '-30px' } } />)) } @@ -120,7 +121,7 @@ export default class Timeline extends React.PureComponent {
)) } diff --git a/frontend/app/components/shared/DocLink/DocLink.js b/frontend/app/components/shared/DocLink/DocLink.js index 052d648a1..d750fe192 100644 --- a/frontend/app/components/shared/DocLink/DocLink.js +++ b/frontend/app/components/shared/DocLink/DocLink.js @@ -1,13 +1,13 @@ import React from 'react' import { Button } from 'UI' -export default function DocLink({ link, label }) { +export default function DocLink({ className = '', url, label }) { const openLink = () => { - window.open(link, '_blank') + window.open(url, '_blank') } return ( -
+
diff --git a/frontend/app/svg/icons/integrations/mobx.svg b/frontend/app/svg/icons/integrations/mobx.svg new file mode 100644 index 000000000..2747797bd --- /dev/null +++ b/frontend/app/svg/icons/integrations/mobx.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/app/svg/icons/integrations/openreplay.svg b/frontend/app/svg/icons/integrations/openreplay.svg index 77fb302b9..667be8f22 100644 --- a/frontend/app/svg/icons/integrations/openreplay.svg +++ b/frontend/app/svg/icons/integrations/openreplay.svg @@ -1,5 +1,5 @@ - + Group diff --git a/frontend/env.js b/frontend/env.js index 4c5902987..0bdc0ab4a 100644 --- a/frontend/env.js +++ b/frontend/env.js @@ -8,7 +8,7 @@ const oss = { CAPTCHA_ENABLED: process.env.CAPTCHA_ENABLED, CAPTCHA_SITE_KEY: process.env.CAPTCHA_SITE_KEY, ORIGIN: () => 'window.location.origin', - API_EDP: () => 'window.location.origin + "/api"', + API_EDP: 'https://staging-parrot.asayer.io', ASSETS_HOST: () => 'window.location.origin + "/assets"', VERSION: '1.0.1', SOURCEMAP: true, diff --git a/frontend/package-lock.json b/frontend/package-lock.json index fa3abbf98..9f40b8bba 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -106,16 +106,15 @@ } }, "node_modules/@babel/cli": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.13.10.tgz", - "integrity": "sha512-lYSBC7B4B9hJ7sv0Ojx1BrGhuzCoOIYfLjd+Xpd4rOzdS+a47yi8voV8vFkfjlZR1N5qZO7ixOCbobUdT304PQ==", + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.13.16.tgz", + "integrity": "sha512-cL9tllhqvsQ6r1+d9Invf7nNXg/3BlfL1vvvL/AdH9fZ2l5j0CeBcoq6UjsqHpvyN1v5nXSZgqJZoGeK+ZOAbw==", "dev": true, "dependencies": { "commander": "^4.0.1", "convert-source-map": "^1.1.0", "fs-readdir-recursive": "^1.1.0", "glob": "^7.0.0", - "lodash": "^4.17.19", "make-dir": "^2.1.0", "slash": "^2.0.0", "source-map": "^0.5.0" @@ -151,31 +150,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.12.tgz", - "integrity": "sha512-3eJJ841uKxeV8dcN/2yGEUy+RfgQspPEgQat85umsE1rotuquQ2AbIub4S6j7c50a2d+4myc+zSlnXeIHrOnhQ==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.0.tgz", + "integrity": "sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==", "dev": true }, "node_modules/@babel/core": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.10.tgz", - "integrity": "sha512-bfIYcT0BdKeAZrovpMqX2Mx5NrgAckGbwT982AkdS5GNfn3KMGiprlBAtmBcFZRUmpaufS6WZFP8trvx8ptFDw==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.0.tgz", + "integrity": "sha512-8YqpRig5NmIHlMLw09zMlPTvUVMILjqCOtVgu+TVNWEBvy9b5I3RRyhqnrV4hjgEK7n8P9OqvkWJAFmEL6Wwfw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.9", - "@babel/helper-compilation-targets": "^7.13.10", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helpers": "^7.13.10", - "@babel/parser": "^7.13.10", + "@babel/generator": "^7.14.0", + "@babel/helper-compilation-targets": "^7.13.16", + "@babel/helper-module-transforms": "^7.14.0", + "@babel/helpers": "^7.14.0", + "@babel/parser": "^7.14.0", "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0", + "@babel/traverse": "^7.14.0", + "@babel/types": "^7.14.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", - "lodash": "^4.17.19", "semver": "^6.3.0", "source-map": "^0.5.0" }, @@ -197,12 +195,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", - "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.1.tgz", + "integrity": "sha512-TMGhsXMXCP/O1WtQmZjpEYDhCYC9vFhayWZPJSZCGkPJgUqX0rF0wwtrYvnzVxIjcF80tkUertXVk5cwqi5cAQ==", "dev": true, "dependencies": { - "@babel/types": "^7.13.0", + "@babel/types": "^7.14.1", "jsesc": "^2.5.1", "source-map": "^0.5.0" } @@ -236,12 +234,12 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.10.tgz", - "integrity": "sha512-/Xju7Qg1GQO4mHZ/Kcs6Au7gfafgZnwm+a7sy/ow/tV1sHeraRUHbjdat8/UvDor4Tez+siGKDk6zIKtCPKVJA==", + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz", + "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.13.8", + "@babel/compat-data": "^7.13.15", "@babel/helper-validator-option": "^7.12.17", "browserslist": "^4.14.5", "semver": "^6.3.0" @@ -251,15 +249,16 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.13.11", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz", - "integrity": "sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.1.tgz", + "integrity": "sha512-r8rsUahG4ywm0QpGcCrLaUSOuNAISR3IZCg4Fx05Ozq31aCUrQsTLH6KPxy0N5ULoQ4Sn9qjNdGNtbPWAC6hYg==", "dev": true, "dependencies": { + "@babel/helper-annotate-as-pure": "^7.12.13", "@babel/helper-function-name": "^7.12.13", - "@babel/helper-member-expression-to-functions": "^7.13.0", + "@babel/helper-member-expression-to-functions": "^7.13.12", "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.0", + "@babel/helper-replace-supers": "^7.13.12", "@babel/helper-split-export-declaration": "^7.12.13" }, "peerDependencies": { @@ -280,9 +279,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.5.tgz", - "integrity": "sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz", + "integrity": "sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.13.0", @@ -328,13 +327,13 @@ } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.0.tgz", - "integrity": "sha512-0kBzvXiIKfsCA0y6cFEIJf4OdzfpRuNk4+YTeHZpGGc666SATFKTz6sRncwFnQk7/ugJ4dSrCj6iJuvW4Qwr2g==", + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz", + "integrity": "sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==", "dev": true, "dependencies": { - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/traverse": "^7.13.15", + "@babel/types": "^7.13.16" } }, "node_modules/@babel/helper-member-expression-to-functions": { @@ -356,19 +355,19 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.12.tgz", - "integrity": "sha512-7zVQqMO3V+K4JOOj40kxiCrMf6xlQAkewBB0eu2b03OO/Q21ZutOzjpfD79A5gtE/2OWi1nv625MrDlGlkbknQ==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.0.tgz", + "integrity": "sha512-L40t9bxIuGOfpIGA3HNkJhU9qYrf4y5A5LUSw7rGMSn+pcG8dfJ0g6Zval6YJGd2nEjI7oP00fRdnhLKndx6bw==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.13.12", "@babel/helper-replace-supers": "^7.13.12", "@babel/helper-simple-access": "^7.13.12", "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-validator-identifier": "^7.14.0", "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" + "@babel/traverse": "^7.14.0", + "@babel/types": "^7.14.0" } }, "node_modules/@babel/helper-optimise-call-expression": { @@ -437,9 +436,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", + "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==", "dev": true }, "node_modules/@babel/helper-validator-option": { @@ -461,31 +460,31 @@ } }, "node_modules/@babel/helpers": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.10.tgz", - "integrity": "sha512-4VO883+MWPDUVRF3PhiLBUFHoX/bsLTGFpFK/HqvvfBZz2D57u9XzPVNFVBTc0PW/CWR9BXTOKt8NF4DInUHcQ==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.0.tgz", + "integrity": "sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==", "dev": true, "dependencies": { "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/traverse": "^7.14.0", + "@babel/types": "^7.14.0" } }, "node_modules/@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", + "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-validator-identifier": "^7.14.0", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "node_modules/@babel/parser": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.12.tgz", - "integrity": "sha512-4T7Pb244rxH24yR116LAuJ+adxXXnHhZaLJjegJVKSdoNCe4x1eDBaud5YIcQFcqzsaD5BHvJw5BQ0AZapdCRw==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.1.tgz", + "integrity": "sha512-muUGEKu8E/ftMTPlNp+mc6zL3E9zKWmF5sDHZ5MSsoTP9Wyz64AhEf9kD08xYJ7w6Hdcu8H550ircnPyWSIF0Q==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -509,9 +508,9 @@ } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.8.tgz", - "integrity": "sha512-rPBnhj+WgoSmgq+4gQUtXx/vOcU+UYtjy1AA/aeD61Hwj410fwYyqfUcRP3lR8ucgliVJL/G7sXcNUecC75IXA==", + "version": "7.13.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.15.tgz", + "integrity": "sha512-VapibkWzFeoa6ubXy/NgV5U2U4MVnUlvnx6wo1XhlsaTrLYWE0UFpDQsVrmn22q5CzeloqJ8gEMHSKxuee6ZdA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.13.0", @@ -535,13 +534,26 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.13.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.13.5.tgz", - "integrity": "sha512-i0GDfVNuoapwiheevUOuSW67mInqJ8qw7uWfpjNVeHMn143kXblEy/bmL9AdZ/0yf/4BMQeWXezK0tQIvNPqag==", + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.13.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.13.11.tgz", + "integrity": "sha512-fJTdFI4bfnMjvxJyNuaf8i9mVcZ0UhetaGEUHaHV9KEnibLugJkZAtXikR8KcYj+NYmI4DZMS8yQAyg+hvfSqg==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-class-static-block": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.13.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.13.15.tgz", + "integrity": "sha512-ibAMAqUm97yzi+LPgdr5Nqb9CMkeieGHvwPg1ywSGjZrZHQEGqE01HmOio8kxRpA/+VtOHouIVy2FMpBbtltjA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.13.11", "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-decorators": "^7.12.13" }, @@ -696,6 +708,21 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.0.tgz", + "integrity": "sha512-59ANdmEwwRUkLjB7CRtwJxxwtjESw+X2IePItA+RGQh+oy5RmpCh/EvVVvh5XQc3yxsm5gtv0+i9oBZhaDNVTg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-create-class-features-plugin": "^7.14.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-private-property-in-object": "^7.14.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-proposal-unicode-property-regex": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", @@ -748,6 +775,18 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.12.13.tgz", + "integrity": "sha512-ZmKQ0ZXR0nYpHZIIuj9zE7oIqCx2hw9TKi+lIo73NNrMPAZGHfS92/VRV0ZmPj6H2ffBgyFHXvJ5NYsNeEaP2A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-decorators": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz", @@ -904,6 +943,18 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.0.tgz", + "integrity": "sha512-bda3xF8wGl5/5btF794utNOL0Jw+9jE5C1sLZcoK7c4uonE/y3iQiyG+KbkF3WBV/paX58VCpjhxLPkdj5Fe4w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.13.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", @@ -967,12 +1018,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz", - "integrity": "sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.1.tgz", + "integrity": "sha512-2mQXd0zBrwfp0O1moWIhPpEeTKDvxyHcnma3JATVP1l+CctWBuot6OJG8LQ4DnBj4ZZPSmlb/fm4mu47EOAnVA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.13.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -1009,9 +1060,9 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz", - "integrity": "sha512-zym5em7tePoNT9s964c0/KU3JPPnuq7VhIxPRefJ4/s82cD+q1mgKfuGRDMCPL0HTyKz4dISuQlCusfgCJ86HA==", + "version": "7.13.17", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz", + "integrity": "sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.13.0" @@ -1121,12 +1172,12 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz", - "integrity": "sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.0.tgz", + "integrity": "sha512-CF4c5LX4LQ03LebQxJ5JZes2OYjzBuk1TdiF7cG7d5dK4lAdw9NZmaxq5K/mouUdNeqwz3TNjnW6v01UqUNgpQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-module-transforms": "^7.14.0", "@babel/helper-plugin-utils": "^7.13.0", "babel-plugin-dynamic-import-node": "^2.3.3" }, @@ -1135,14 +1186,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz", - "integrity": "sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.0.tgz", + "integrity": "sha512-EX4QePlsTaRZQmw9BsoPeyh5OCtRGIhwfLquhxGp5e32w+dyL8htOcDwamlitmNFK6xBZYlygjdye9dbd9rUlQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-module-transforms": "^7.14.0", "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-simple-access": "^7.13.12", "babel-plugin-dynamic-import-node": "^2.3.3" }, "peerDependencies": { @@ -1166,12 +1217,12 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz", - "integrity": "sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.0.tgz", + "integrity": "sha512-nPZdnWtXXeY7I87UZr9VlsWme3Y0cfFFE41Wbxz4bbaexAjNMInXPFUpRRUJ8NoMm0Cw+zxbqjdPmLhcjfazMw==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-module-transforms": "^7.14.0", "@babel/helper-plugin-utils": "^7.13.0" }, "peerDependencies": { @@ -1240,9 +1291,9 @@ } }, "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.13.10.tgz", - "integrity": "sha512-E+aCW9j7mLq01tOuGV08YzLBt+vSyr4bOPT75B6WrAlrUfmOYOZ/yWk847EH0dv0xXiCihWLEmlX//O30YhpIw==", + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.13.13.tgz", + "integrity": "sha512-SNJU53VM/SjQL0bZhyU+f4kJQz7bQQajnrZRSaU21hruG/NWY41AEM9AWXeXX90pYr/C2yAmTgI6yW3LlLrAUQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.13.0" @@ -1329,9 +1380,9 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz", - "integrity": "sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==", + "version": "7.13.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz", + "integrity": "sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==", "dev": true, "dependencies": { "regenerator-transform": "^0.14.2" @@ -1477,18 +1528,19 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.13.12.tgz", - "integrity": "sha512-JzElc6jk3Ko6zuZgBtjOd01pf9yYDEIH8BcqVuYIuOkzOwDesoa/Nz4gIo4lBG6K861KTV9TvIgmFuT6ytOaAA==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.1.tgz", + "integrity": "sha512-0M4yL1l7V4l+j/UHvxcdvNfLB9pPtIooHTbEhgD/6UGyh8Hy3Bm1Mj0buzjDXATCSz3JFibVdnoJZCrlUCanrQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.13.12", - "@babel/helper-compilation-targets": "^7.13.10", + "@babel/compat-data": "^7.14.0", + "@babel/helper-compilation-targets": "^7.13.16", "@babel/helper-plugin-utils": "^7.13.0", "@babel/helper-validator-option": "^7.12.17", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-async-generator-functions": "^7.13.8", + "@babel/plugin-proposal-async-generator-functions": "^7.13.15", "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-class-static-block": "^7.13.11", "@babel/plugin-proposal-dynamic-import": "^7.13.8", "@babel/plugin-proposal-export-namespace-from": "^7.12.13", "@babel/plugin-proposal-json-strings": "^7.13.8", @@ -1499,9 +1551,11 @@ "@babel/plugin-proposal-optional-catch-binding": "^7.13.8", "@babel/plugin-proposal-optional-chaining": "^7.13.12", "@babel/plugin-proposal-private-methods": "^7.13.0", + "@babel/plugin-proposal-private-property-in-object": "^7.14.0", "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.12.13", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.3", @@ -1511,14 +1565,15 @@ "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.0", "@babel/plugin-syntax-top-level-await": "^7.12.13", "@babel/plugin-transform-arrow-functions": "^7.13.0", "@babel/plugin-transform-async-to-generator": "^7.13.0", "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.12.13", + "@babel/plugin-transform-block-scoping": "^7.14.1", "@babel/plugin-transform-classes": "^7.13.0", "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.0", + "@babel/plugin-transform-destructuring": "^7.13.17", "@babel/plugin-transform-dotall-regex": "^7.12.13", "@babel/plugin-transform-duplicate-keys": "^7.12.13", "@babel/plugin-transform-exponentiation-operator": "^7.12.13", @@ -1526,16 +1581,16 @@ "@babel/plugin-transform-function-name": "^7.12.13", "@babel/plugin-transform-literals": "^7.12.13", "@babel/plugin-transform-member-expression-literals": "^7.12.13", - "@babel/plugin-transform-modules-amd": "^7.13.0", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/plugin-transform-modules-amd": "^7.14.0", + "@babel/plugin-transform-modules-commonjs": "^7.14.0", "@babel/plugin-transform-modules-systemjs": "^7.13.8", - "@babel/plugin-transform-modules-umd": "^7.13.0", + "@babel/plugin-transform-modules-umd": "^7.14.0", "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", "@babel/plugin-transform-new-target": "^7.12.13", "@babel/plugin-transform-object-super": "^7.12.13", "@babel/plugin-transform-parameters": "^7.13.0", "@babel/plugin-transform-property-literals": "^7.12.13", - "@babel/plugin-transform-regenerator": "^7.12.13", + "@babel/plugin-transform-regenerator": "^7.13.15", "@babel/plugin-transform-reserved-words": "^7.12.13", "@babel/plugin-transform-shorthand-properties": "^7.12.13", "@babel/plugin-transform-spread": "^7.13.0", @@ -1545,10 +1600,10 @@ "@babel/plugin-transform-unicode-escapes": "^7.12.13", "@babel/plugin-transform-unicode-regex": "^7.12.13", "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.13.12", - "babel-plugin-polyfill-corejs2": "^0.1.4", - "babel-plugin-polyfill-corejs3": "^0.1.3", - "babel-plugin-polyfill-regenerator": "^0.1.2", + "@babel/types": "^7.14.1", + "babel-plugin-polyfill-corejs2": "^0.2.0", + "babel-plugin-polyfill-corejs3": "^0.2.0", + "babel-plugin-polyfill-regenerator": "^0.2.0", "core-js-compat": "^3.9.0", "semver": "^6.3.0" }, @@ -1557,13 +1612,14 @@ } }, "node_modules/@babel/preset-flow": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.12.13.tgz", - "integrity": "sha512-gcEjiwcGHa3bo9idURBp5fmJPcyFPOszPQjztXrOjUE2wWVqc6fIVJPgWPIQksaQ5XZ2HWiRsf2s1fRGVjUtVw==", + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.13.13.tgz", + "integrity": "sha512-MDtwtamMifqq3R2mC7l3A3uFalUb3NH5TIBQWjN/epEPlZktcLq4se3J+ivckKrLMGsR7H9LW8+pYuIUN9tsKg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/plugin-transform-flow-strip-types": "^7.12.13" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-option": "^7.12.17", + "@babel/plugin-transform-flow-strip-types": "^7.13.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -1586,15 +1642,16 @@ } }, "node_modules/@babel/preset-react": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.13.tgz", - "integrity": "sha512-TYM0V9z6Abb6dj1K7i5NrEhA13oS5ujUYQYDfqIBXYHOc2c2VkFgc+q9kyssIyUfy4/hEwqrgSlJ/Qgv8zJLsA==", + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.13.13.tgz", + "integrity": "sha512-gx+tDLIE06sRjKJkVtpZ/t3mzCDOnPG+ggHZG9lffUbX8+wC739x20YQc9V35Do6ZAxaUc/HhVHIiOzz5MvDmA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-option": "^7.12.17", "@babel/plugin-transform-react-display-name": "^7.12.13", - "@babel/plugin-transform-react-jsx": "^7.12.13", - "@babel/plugin-transform-react-jsx-development": "^7.12.12", + "@babel/plugin-transform-react-jsx": "^7.13.12", + "@babel/plugin-transform-react-jsx-development": "^7.12.17", "@babel/plugin-transform-react-pure-annotations": "^7.12.1" }, "peerDependencies": { @@ -1616,13 +1673,13 @@ } }, "node_modules/@babel/register": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.13.8.tgz", - "integrity": "sha512-yCVtABcmvQjRsX2elcZFUV5Q5kDDpHdtXKKku22hNDma60lYuhKmtp1ykZ/okRCPLT2bR5S+cA1kvtBdAFlDTQ==", + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.13.16.tgz", + "integrity": "sha512-dh2t11ysujTwByQjXNgJ48QZ2zcXKQVdV8s0TbeMI0flmtGWCdTwK9tJiACHXPLmncm5+ktNn/diojA45JE4jg==", "dev": true, "dependencies": { + "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", - "lodash": "^4.17.19", "make-dir": "^2.1.0", "pirates": "^4.0.0", "source-map-support": "^0.5.16" @@ -1632,17 +1689,17 @@ } }, "node_modules/@babel/runtime": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz", - "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz", + "integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==", "dependencies": { "regenerator-runtime": "^0.13.4" } }, "node_modules/@babel/runtime-corejs3": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.13.10.tgz", - "integrity": "sha512-x/XYVQ1h684pp1mJwOV4CyvqZXqbc8CMsMGUnAbuc82ZCdv1U63w5RSUzgDSXQHG5Rps/kiksH6g2D5BuaKyXg==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.0.tgz", + "integrity": "sha512-0R0HTZWHLk6G8jIk0FtoX+AatCtKnswS98VhXwGImFc759PJRp4Tru0PQYZofyijTFUr+gT8Mu7sgXVJLQ0ceg==", "dev": true, "dependencies": { "core-js-pure": "^3.0.0", @@ -1661,30 +1718,28 @@ } }, "node_modules/@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", - "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.0.tgz", + "integrity": "sha512-dZ/a371EE5XNhTHomvtuLTUyx6UEoJmYX+DT5zBCQN3McHemsuIaKKYqsc/fs26BEkHs/lBZy0J571LP5z9kQA==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", + "@babel/generator": "^7.14.0", "@babel/helper-function-name": "^7.12.13", "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", + "@babel/parser": "^7.14.0", + "@babel/types": "^7.14.0", "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" + "globals": "^11.1.0" } }, "node_modules/@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.1.tgz", + "integrity": "sha512-S13Qe85fzLs3gYRUnrpyeIrBJIMYv33qSTg1qoBwiG6nPKwUWAD9odSzWhEedpwOIzSEI6gbdQIWEMiCI42iBA==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", + "@babel/helper-validator-identifier": "^7.14.0", "to-fast-properties": "^2.0.0" } }, @@ -1966,15 +2021,6 @@ "react": ">=0.14.0" } }, - "node_modules/@icons/material": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@icons/material/-/material-0.2.4.tgz", - "integrity": "sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==", - "dev": true, - "peerDependencies": { - "react": "*" - } - }, "node_modules/@jest/console": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", @@ -2075,15 +2121,6 @@ "node": ">=0.10.0" } }, - "node_modules/@jest/core/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@jest/core/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -2307,15 +2344,6 @@ "node": ">=0.10.0" } }, - "node_modules/@jest/transform/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@jest/transform/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -2532,9 +2560,9 @@ } }, "node_modules/@popperjs/core": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.1.tgz", - "integrity": "sha512-DvJbbn3dUgMxDnJLH+RZQPnXak1h4ZVYQ7CWiFWjQwBFkVajT4rfw2PdpHLTSTwxrYfnoEXkuBiwkDm6tPMQeA==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.2.tgz", + "integrity": "sha512-VZMYa7+fXHdwIq1TDhSXoVmSPEGM/aa+6Aiq3nVVJ9bXr24zScr+NlKFKC3iPljA7ho/GAZr+d2jOf5GIRC30Q==", "dev": true, "funding": { "type": "opencollective", @@ -2646,19 +2674,19 @@ } }, "node_modules/@storybook/addons": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.1.21.tgz", - "integrity": "sha512-xo5TGu9EZVCqgh3D1veVnfuGzyKDWWsvOMo18phVqRxj21G3/+hScVyfIYwNTv7Ys5/Ahp9JxJUMXL3V3ny+tw==", + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.2.9.tgz", + "integrity": "sha512-GnmEKbJwiN1jncN9NSA8CuR1i2XAlasPcl/Zn0jkfV9WitQeczVcJCPw86SGH84AD+tTBCyF2i9UC0KaOV1YBQ==", "dev": true, "dependencies": { - "@storybook/api": "6.1.21", - "@storybook/channels": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/core-events": "6.1.21", - "@storybook/router": "6.1.21", - "@storybook/theming": "6.1.21", - "core-js": "^3.0.1", - "global": "^4.3.2", + "@storybook/api": "6.2.9", + "@storybook/channels": "6.2.9", + "@storybook/client-logger": "6.2.9", + "@storybook/core-events": "6.2.9", + "@storybook/router": "6.2.9", + "@storybook/theming": "6.2.9", + "core-js": "^3.8.2", + "global": "^4.4.0", "regenerator-runtime": "^0.13.7" }, "peerDependencies": { @@ -2667,28 +2695,29 @@ } }, "node_modules/@storybook/api": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.1.21.tgz", - "integrity": "sha512-QjZk70VSXMw/wPPoWdMp5Bl9VmkfmGhIz8PALrFLLEZHjzptpfZE2qkGEEJHG0NAksFUv6NxGki2/632dzR7Ug==", + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.2.9.tgz", + "integrity": "sha512-okkA3HAScE9tGnYBrjTOcgzT+L1lRHNoEh3ZfGgh1u/XNEyHGNkj4grvkd6nX7BzRcYQ/l2VkcKCqmOjUnSkVQ==", "dev": true, "dependencies": { - "@reach/router": "^1.3.3", - "@storybook/channels": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/core-events": "6.1.21", + "@reach/router": "^1.3.4", + "@storybook/channels": "6.2.9", + "@storybook/client-logger": "6.2.9", + "@storybook/core-events": "6.2.9", "@storybook/csf": "0.0.1", - "@storybook/router": "6.1.21", + "@storybook/router": "6.2.9", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.1.21", + "@storybook/theming": "6.2.9", "@types/reach__router": "^1.3.7", - "core-js": "^3.0.1", - "fast-deep-equal": "^3.1.1", - "global": "^4.3.2", - "lodash": "^4.17.15", + "core-js": "^3.8.2", + "fast-deep-equal": "^3.1.3", + "global": "^4.4.0", + "lodash": "^4.17.20", "memoizerific": "^1.11.3", + "qs": "^6.10.0", "regenerator-runtime": "^0.13.7", - "store2": "^2.7.1", - "telejson": "^5.0.2", + "store2": "^2.12.0", + "telejson": "^5.1.0", "ts-dedent": "^2.0.0", "util-deprecate": "^1.0.2" }, @@ -2697,122 +2726,23 @@ "react-dom": "^16.8.0 || ^17.0.0" } }, - "node_modules/@storybook/channel-postmessage": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.1.21.tgz", - "integrity": "sha512-SuI/ffqcPT02VNda32k8V0D4XpLm5bIy8CLIs0OAnQg+zt5KjGBpQBngk3q4EaAiOoAhbMWAQiUzRUXfrgkgXg==", + "node_modules/@storybook/builder-webpack4": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.2.9.tgz", + "integrity": "sha512-swECic1huVdj+B+iRJIQ8ds59HuPVE4fmhI+j/nhw0CQCsgAEKqDlOQVYEimW6nZX8GO4WxNm6tiiRzxixejbw==", "dev": true, "dependencies": { - "@storybook/channels": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/core-events": "6.1.21", - "core-js": "^3.0.1", - "global": "^4.3.2", - "qs": "^6.6.0", - "telejson": "^5.0.2" - } - }, - "node_modules/@storybook/channels": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.1.21.tgz", - "integrity": "sha512-7WoizMjyHqCyvcWncLexSg9FLPIErWAZL4NvluEthwsHSO2sDybn9mh1pzsFHdYMuTP6ml06Zt9ayWMtIveHDg==", - "dev": true, - "dependencies": { - "core-js": "^3.0.1", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - } - }, - "node_modules/@storybook/client-api": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.1.21.tgz", - "integrity": "sha512-uLFXQ5z1LLWYnw1w+YUJPzIPRVlwCCvM2Si37aHDZn1F3fnbMg+huEhEqIQ1TTTw3wiJoTeGuShYvqyaiNwq/w==", - "dev": true, - "dependencies": { - "@storybook/addons": "6.1.21", - "@storybook/channel-postmessage": "6.1.21", - "@storybook/channels": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/core-events": "6.1.21", - "@storybook/csf": "0.0.1", - "@types/qs": "^6.9.0", - "@types/webpack-env": "^1.15.3", - "core-js": "^3.0.1", - "global": "^4.3.2", - "lodash": "^4.17.15", - "memoizerific": "^1.11.3", - "qs": "^6.6.0", - "regenerator-runtime": "^0.13.7", - "stable": "^0.1.8", - "store2": "^2.7.1", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - } - }, - "node_modules/@storybook/client-logger": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.1.21.tgz", - "integrity": "sha512-QJV+gnVM2fQ4M7lSkRLCXkOw/RU+aEtUefo9TAnXxPHK3UGG+DyvLmha6fHGaz9GAcFxyWtgqCyVOhMe03Q35g==", - "dev": true, - "dependencies": { - "core-js": "^3.0.1", - "global": "^4.3.2" - } - }, - "node_modules/@storybook/components": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.1.21.tgz", - "integrity": "sha512-2NjkyS1yeYXlRY7azt88woqd6eqJA00oloIxgMAFLVpRmvFxoHalY61wNrvxl2QSu9cNofp984AbGc8gPbizBA==", - "dev": true, - "dependencies": { - "@popperjs/core": "^2.5.4", - "@storybook/client-logger": "6.1.21", - "@storybook/csf": "0.0.1", - "@storybook/theming": "6.1.21", - "@types/overlayscrollbars": "^1.9.0", - "@types/react-color": "^3.0.1", - "@types/react-syntax-highlighter": "11.0.4", - "core-js": "^3.0.1", - "fast-deep-equal": "^3.1.1", - "global": "^4.3.2", - "lodash": "^4.17.15", - "markdown-to-jsx": "^6.11.4", - "memoizerific": "^1.11.3", - "overlayscrollbars": "^1.10.2", - "polished": "^3.4.4", - "react-color": "^2.17.0", - "react-popper-tooltip": "^3.1.1", - "react-syntax-highlighter": "^13.5.0", - "react-textarea-autosize": "^8.1.1", - "regenerator-runtime": "^0.13.7", - "ts-dedent": "^2.0.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" - } - }, - "node_modules/@storybook/core": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.1.21.tgz", - "integrity": "sha512-ITqSid3VVL5/fkx7Wwu7QfD2Y5xjl3V6p7yUpLSzP8GpBnCHKDvJ4pFJUdJlGQ0mnGz6ACa0qVnSc+V0hiy1sA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", + "@babel/core": "^7.12.10", "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-decorators": "^7.12.1", + "@babel/plugin-proposal-decorators": "^7.12.12", "@babel/plugin-proposal-export-default-from": "^7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", "@babel/plugin-proposal-private-methods": "^7.12.1", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.12", "@babel/plugin-transform-classes": "^7.12.1", "@babel/plugin-transform-destructuring": "^7.12.1", "@babel/plugin-transform-for-of": "^7.12.1", @@ -2820,86 +2750,55 @@ "@babel/plugin-transform-shorthand-properties": "^7.12.1", "@babel/plugin-transform-spread": "^7.12.1", "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.1", - "@babel/preset-typescript": "^7.12.1", - "@babel/register": "^7.12.1", - "@storybook/addons": "6.1.21", - "@storybook/api": "6.1.21", - "@storybook/channel-postmessage": "6.1.21", - "@storybook/channels": "6.1.21", - "@storybook/client-api": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/components": "6.1.21", - "@storybook/core-events": "6.1.21", - "@storybook/csf": "0.0.1", - "@storybook/node-logger": "6.1.21", - "@storybook/router": "6.1.21", + "@babel/preset-env": "^7.12.11", + "@babel/preset-react": "^7.12.10", + "@babel/preset-typescript": "^7.12.7", + "@storybook/addons": "6.2.9", + "@storybook/api": "6.2.9", + "@storybook/channel-postmessage": "6.2.9", + "@storybook/channels": "6.2.9", + "@storybook/client-api": "6.2.9", + "@storybook/client-logger": "6.2.9", + "@storybook/components": "6.2.9", + "@storybook/core-common": "6.2.9", + "@storybook/core-events": "6.2.9", + "@storybook/node-logger": "6.2.9", + "@storybook/router": "6.2.9", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.1.21", - "@storybook/ui": "6.1.21", - "@types/glob-base": "^0.3.0", - "@types/micromatch": "^4.0.1", - "@types/node-fetch": "^2.5.4", - "airbnb-js-shims": "^2.2.1", - "ansi-to-html": "^0.6.11", - "autoprefixer": "^9.7.2", - "babel-loader": "^8.0.6", - "babel-plugin-emotion": "^10.0.20", + "@storybook/theming": "6.2.9", + "@storybook/ui": "6.2.9", + "@types/node": "^14.0.10", + "@types/webpack": "^4.41.26", + "autoprefixer": "^9.8.6", + "babel-loader": "^8.2.2", "babel-plugin-macros": "^2.8.0", - "babel-preset-minify": "^0.5.0 || 0.6.0-alpha.5", - "better-opn": "^2.0.0", - "boxen": "^4.1.0", - "case-sensitive-paths-webpack-plugin": "^2.2.0", - "chalk": "^4.0.0", - "cli-table3": "0.6.0", - "commander": "^5.0.0", - "core-js": "^3.0.1", - "cpy": "^8.1.1", - "css-loader": "^3.5.3", - "detect-port": "^1.3.0", - "dotenv-webpack": "^1.7.0", - "ejs": "^3.1.2", - "express": "^4.17.0", - "file-loader": "^6.0.0", - "file-system-cache": "^1.0.5", - "find-up": "^4.1.0", - "fork-ts-checker-webpack-plugin": "^4.1.4", - "fs-extra": "^9.0.0", + "babel-plugin-polyfill-corejs3": "^0.1.0", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "core-js": "^3.8.2", + "css-loader": "^3.6.0", + "dotenv-webpack": "^1.8.0", + "file-loader": "^6.2.0", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^4.1.6", + "fs-extra": "^9.0.1", "glob": "^7.1.6", - "glob-base": "^0.3.0", "glob-promise": "^3.4.0", - "global": "^4.3.2", - "html-webpack-plugin": "^4.2.1", - "inquirer": "^7.0.0", - "interpret": "^2.0.0", - "ip": "^1.1.5", - "json5": "^2.1.1", - "lazy-universal-dotenv": "^3.0.1", - "micromatch": "^4.0.2", - "node-fetch": "^2.6.0", - "pkg-dir": "^4.2.0", + "global": "^4.4.0", + "html-webpack-plugin": "^4.0.0", "pnp-webpack-plugin": "1.6.4", - "postcss-flexbugs-fixes": "^4.1.0", - "postcss-loader": "^3.0.0", - "pretty-hrtime": "^1.0.3", - "qs": "^6.6.0", - "raw-loader": "^4.0.1", + "postcss": "^7.0.35", + "postcss-flexbugs-fixes": "^4.2.1", + "postcss-loader": "^4.2.0", + "raw-loader": "^4.0.2", "react-dev-utils": "^11.0.3", - "regenerator-runtime": "^0.13.7", - "resolve-from": "^5.0.0", - "serve-favicon": "^2.5.0", - "shelljs": "^0.8.4", "stable": "^0.1.8", - "style-loader": "^1.2.1", - "telejson": "^5.0.2", - "terser-webpack-plugin": "^3.0.0", + "style-loader": "^1.3.0", + "terser-webpack-plugin": "^3.1.0", "ts-dedent": "^2.0.0", - "unfetch": "^4.1.0", - "url-loader": "^4.0.0", + "url-loader": "^4.1.1", "util-deprecate": "^1.0.2", - "webpack": "^4.44.2", - "webpack-dev-middleware": "^3.7.0", + "webpack": "4", + "webpack-dev-middleware": "^3.7.3", "webpack-filter-warnings-plugin": "^1.2.1", "webpack-hot-middleware": "^2.25.0", "webpack-virtual-modules": "^0.2.2" @@ -2907,33 +2806,33 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0", "react-dom": "^16.8.0 || ^17.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@storybook/core-events": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.1.21.tgz", - "integrity": "sha512-KWqnh1C7M1pT//WfQb3AD60yTR8jL48AfaeLGto2gO9VK7VVgj/EGsrXZP/GTL90ygyExbbBI5gkr7EBTu/HYw==", + "node_modules/@storybook/builder-webpack4/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.5.tgz", + "integrity": "sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==", "dev": true, "dependencies": { - "core-js": "^3.0.1" + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" } }, - "node_modules/@storybook/core/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@storybook/core/node_modules/autoprefixer": { + "node_modules/@storybook/builder-webpack4/node_modules/autoprefixer": { "version": "9.8.6", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", @@ -2955,50 +2854,101 @@ "url": "https://tidelift.com/funding/github/npm/autoprefixer" } }, - "node_modules/@storybook/core/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "node_modules/@storybook/builder-webpack4/node_modules/babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" } }, - "node_modules/@storybook/core/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/@storybook/builder-webpack4/node_modules/babel-plugin-macros/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/@storybook/core/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@storybook/core/node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "node_modules/@storybook/builder-webpack4/node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz", + "integrity": "sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==", "dev": true, - "engines": { - "node": ">= 6" + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.1.5", + "core-js-compat": "^3.8.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@storybook/core/node_modules/html-webpack-plugin": { + "node_modules/@storybook/builder-webpack4/node_modules/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, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/fork-ts-checker-webpack-plugin": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz", + "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.5.5", + "chalk": "^2.4.1", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" + }, + "engines": { + "node": ">=6.11.5", + "yarn": ">=1.0.0" + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/html-webpack-plugin": { "version": "4.5.2", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz", "integrity": "sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==", @@ -3021,105 +2971,132 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/@storybook/core/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "node_modules/@storybook/builder-webpack4/node_modules/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, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "is-plain-object": "^2.0.4" }, "engines": { - "node": ">=6.0.0" + "node": ">=0.10.0" + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/postcss-loader": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.2.0.tgz", + "integrity": "sha512-mqgScxHqbiz1yxbnNcPdKYo/6aVt+XExURmEbQlviFVWogDbM4AJ0A/B+ZBpYsJrTRxKw7HyRazg9x0Q9SWwLA==", + "dev": true, + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.4" + }, + "engines": { + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/@storybook/core/node_modules/postcss-value-parser": { + "node_modules/@storybook/builder-webpack4/node_modules/postcss-loader/node_modules/loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/postcss-loader/node_modules/schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/postcss-loader/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/builder-webpack4/node_modules/postcss-value-parser": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "dev": true }, - "node_modules/@storybook/core/node_modules/postcss/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@storybook/core/node_modules/postcss/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@storybook/core/node_modules/postcss/node_modules/chalk/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@storybook/core/node_modules/postcss/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@storybook/core/node_modules/postcss/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/@storybook/core/node_modules/postcss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@storybook/core/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@storybook/core/node_modules/style-loader": { + "node_modules/@storybook/builder-webpack4/node_modules/style-loader": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz", "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==", @@ -3139,7 +3116,7 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/@storybook/core/node_modules/style-loader/node_modules/loader-utils": { + "node_modules/@storybook/builder-webpack4/node_modules/style-loader/node_modules/loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", @@ -3153,7 +3130,309 @@ "node": ">=8.9.0" } }, - "node_modules/@storybook/core/node_modules/supports-color": { + "node_modules/@storybook/builder-webpack4/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@storybook/channel-postmessage": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.2.9.tgz", + "integrity": "sha512-OqV+gLeeCHR0KExsIz0B7gD17Cjd9D+I75qnBsLWM9inWO5kc/WZ5svw8Bvjlcm6snWpvxUaT8L+svuqcPSmww==", + "dev": true, + "dependencies": { + "@storybook/channels": "6.2.9", + "@storybook/client-logger": "6.2.9", + "@storybook/core-events": "6.2.9", + "core-js": "^3.8.2", + "global": "^4.4.0", + "qs": "^6.10.0", + "telejson": "^5.1.0" + } + }, + "node_modules/@storybook/channels": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.2.9.tgz", + "integrity": "sha512-6dC8Fb2ipNyOQXnUZMDeEUaJGH5DMLzyHlGLhVyDtrO5WR6bO8mQdkzf4+5dSKXgCBNX0BSkssXth4pDjn18rg==", + "dev": true, + "dependencies": { + "core-js": "^3.8.2", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + } + }, + "node_modules/@storybook/client-api": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.2.9.tgz", + "integrity": "sha512-aLvEUVkbvv6Qo/2mF4rFCecdqi2CGOUDdsV1a6EFIVS/9gXFdpirsOwKHo9qNjacGdWPlBYGCUcbrw+DvNaSFA==", + "dev": true, + "dependencies": { + "@storybook/addons": "6.2.9", + "@storybook/channel-postmessage": "6.2.9", + "@storybook/channels": "6.2.9", + "@storybook/client-logger": "6.2.9", + "@storybook/core-events": "6.2.9", + "@storybook/csf": "0.0.1", + "@types/qs": "^6.9.5", + "@types/webpack-env": "^1.16.0", + "core-js": "^3.8.2", + "global": "^4.4.0", + "lodash": "^4.17.20", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "regenerator-runtime": "^0.13.7", + "stable": "^0.1.8", + "store2": "^2.12.0", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0", + "react-dom": "^16.8.0 || ^17.0.0" + } + }, + "node_modules/@storybook/client-logger": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.2.9.tgz", + "integrity": "sha512-IfOQZuvpjh66qBInQCJOb9S0dTGpzZ/Cxlcvokp+PYt95KztaWN3mPm+HaDQCeRsrWNe0Bpm1zuickcJ6dBOXg==", + "dev": true, + "dependencies": { + "core-js": "^3.8.2", + "global": "^4.4.0" + } + }, + "node_modules/@storybook/components": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.2.9.tgz", + "integrity": "sha512-hnV1MI2aB2g1sJ7NJphpxi7TwrMZQ/tpCJeHnkjmzyC6ez1MXqcBXGrEEdSXzRfAxjQTOEpu6H1mnns0xMP0Ag==", + "dev": true, + "dependencies": { + "@popperjs/core": "^2.6.0", + "@storybook/client-logger": "6.2.9", + "@storybook/csf": "0.0.1", + "@storybook/theming": "6.2.9", + "@types/color-convert": "^2.0.0", + "@types/overlayscrollbars": "^1.12.0", + "@types/react-syntax-highlighter": "11.0.5", + "color-convert": "^2.0.1", + "core-js": "^3.8.2", + "fast-deep-equal": "^3.1.3", + "global": "^4.4.0", + "lodash": "^4.17.20", + "markdown-to-jsx": "^7.1.0", + "memoizerific": "^1.11.3", + "overlayscrollbars": "^1.13.1", + "polished": "^4.0.5", + "prop-types": "^15.7.2", + "react-colorful": "^5.0.1", + "react-popper-tooltip": "^3.1.1", + "react-syntax-highlighter": "^13.5.3", + "react-textarea-autosize": "^8.3.0", + "regenerator-runtime": "^0.13.7", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0", + "react-dom": "^16.8.0 || ^17.0.0" + } + }, + "node_modules/@storybook/core": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.2.9.tgz", + "integrity": "sha512-pzbyjWvj0t8m0kR2pC9GQne4sZn7Y/zfcbm6/31CL+yhzOQjfJEj3n4ZFUlxikXqQJPg1aWfypfyaeaLL0QyuA==", + "dev": true, + "dependencies": { + "@storybook/core-client": "6.2.9", + "@storybook/core-server": "6.2.9" + }, + "peerDependencies": { + "@storybook/builder-webpack5": "6.2.9", + "react": "^16.8.0 || ^17.0.0", + "react-dom": "^16.8.0 || ^17.0.0" + }, + "peerDependenciesMeta": { + "@storybook/builder-webpack5": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@storybook/core-client": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.2.9.tgz", + "integrity": "sha512-jW841J5lCe1Ub5ZMtzYPgCy/OUddFxxVYeHLZyuNxlH5RoiQQxbDpuFlzuZMYGuIzD6eZw+ANE4w5vW/y5oBfA==", + "dev": true, + "dependencies": { + "@storybook/addons": "6.2.9", + "@storybook/channel-postmessage": "6.2.9", + "@storybook/client-api": "6.2.9", + "@storybook/client-logger": "6.2.9", + "@storybook/core-events": "6.2.9", + "@storybook/csf": "0.0.1", + "@storybook/ui": "6.2.9", + "ansi-to-html": "^0.6.11", + "core-js": "^3.8.2", + "global": "^4.4.0", + "lodash": "^4.17.20", + "qs": "^6.10.0", + "regenerator-runtime": "^0.13.7", + "ts-dedent": "^2.0.0", + "unfetch": "^4.2.0", + "util-deprecate": "^1.0.2" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0", + "react-dom": "^16.8.0 || ^17.0.0", + "webpack": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@storybook/core-common": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.2.9.tgz", + "integrity": "sha512-ve0Qb4EMit8jGibfZBprmaU2i4LtpB4vSMIzD9nB1YeBmw2cGhHubtmayZ0TwcV3fPQhtYH9wwRWuWyzzHyQyw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.10", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-decorators": "^7.12.12", + "@babel/plugin-proposal-export-default-from": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.12", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/preset-env": "^7.12.11", + "@babel/preset-react": "^7.12.10", + "@babel/preset-typescript": "^7.12.7", + "@babel/register": "^7.12.1", + "@storybook/node-logger": "6.2.9", + "@storybook/semver": "^7.3.2", + "@types/glob-base": "^0.3.0", + "@types/micromatch": "^4.0.1", + "@types/node": "^14.0.10", + "@types/pretty-hrtime": "^1.0.0", + "babel-loader": "^8.2.2", + "babel-plugin-macros": "^3.0.1", + "babel-plugin-polyfill-corejs3": "^0.1.0", + "chalk": "^4.1.0", + "core-js": "^3.8.2", + "express": "^4.17.1", + "file-system-cache": "^1.0.5", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.0.4", + "glob": "^7.1.6", + "glob-base": "^0.3.0", + "interpret": "^2.2.0", + "json5": "^2.1.3", + "lazy-universal-dotenv": "^3.0.1", + "micromatch": "^4.0.2", + "pkg-dir": "^5.0.0", + "pretty-hrtime": "^1.0.3", + "resolve-from": "^5.0.0", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2", + "webpack": "4" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0", + "react-dom": "^16.8.0 || ^17.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@storybook/core-common/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.5.tgz", + "integrity": "sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@storybook/core-common/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@storybook/core-common/node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz", + "integrity": "sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.1.5", + "core-js-compat": "^3.8.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@storybook/core-common/node_modules/chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@storybook/core-common/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/core-common/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", @@ -3165,7 +3444,130 @@ "node": ">=8" } }, - "node_modules/@storybook/core/node_modules/supports-color/node_modules/has-flag": { + "node_modules/@storybook/core-events": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.2.9.tgz", + "integrity": "sha512-xQmbX/oYQK1QsAGN8hriXX5SUKOoTUe3L4dVaVHxJqy7MReRWJpprJmCpbAPJzWS6WCbDFfCM5kVEexHLOzJlQ==", + "dev": true, + "dependencies": { + "core-js": "^3.8.2" + } + }, + "node_modules/@storybook/core-server": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.2.9.tgz", + "integrity": "sha512-DzihO73pj1Ro0Y4tq9hjw2mLMUYeSRPrx7CndCOBxcTHCKQ8Kd7Dee3wJ49t5/19V7TW1+4lYR59GAy73FeOAQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.10", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/preset-react": "^7.12.10", + "@storybook/addons": "6.2.9", + "@storybook/builder-webpack4": "6.2.9", + "@storybook/core-client": "6.2.9", + "@storybook/core-common": "6.2.9", + "@storybook/node-logger": "6.2.9", + "@storybook/semver": "^7.3.2", + "@storybook/theming": "6.2.9", + "@storybook/ui": "6.2.9", + "@types/node": "^14.0.10", + "@types/node-fetch": "^2.5.7", + "@types/pretty-hrtime": "^1.0.0", + "@types/webpack": "^4.41.26", + "airbnb-js-shims": "^2.2.1", + "babel-loader": "^8.2.2", + "better-opn": "^2.1.1", + "boxen": "^4.2.0", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "chalk": "^4.1.0", + "cli-table3": "0.6.0", + "commander": "^6.2.1", + "core-js": "^3.8.2", + "cpy": "^8.1.1", + "css-loader": "^3.6.0", + "detect-port": "^1.3.0", + "dotenv-webpack": "^1.8.0", + "express": "^4.17.1", + "file-loader": "^6.2.0", + "file-system-cache": "^1.0.5", + "find-up": "^5.0.0", + "fs-extra": "^9.0.1", + "global": "^4.4.0", + "html-webpack-plugin": "^4.0.0", + "ip": "^1.1.5", + "node-fetch": "^2.6.1", + "pnp-webpack-plugin": "1.6.4", + "pretty-hrtime": "^1.0.3", + "prompts": "^2.4.0", + "read-pkg-up": "^7.0.1", + "regenerator-runtime": "^0.13.7", + "resolve-from": "^5.0.0", + "serve-favicon": "^2.5.0", + "style-loader": "^1.3.0", + "telejson": "^5.1.0", + "terser-webpack-plugin": "^3.1.0", + "ts-dedent": "^2.0.0", + "url-loader": "^4.1.1", + "util-deprecate": "^1.0.2", + "webpack": "4", + "webpack-dev-middleware": "^3.7.3", + "webpack-virtual-modules": "^0.2.2" + }, + "peerDependencies": { + "@storybook/builder-webpack5": "6.2.9", + "react": "^16.8.0 || ^17.0.0", + "react-dom": "^16.8.0 || ^17.0.0" + }, + "peerDependenciesMeta": { + "@storybook/builder-webpack5": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/@storybook/core-server/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@storybook/core-server/node_modules/chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@storybook/core-server/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@storybook/core-server/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", @@ -3174,6 +3576,75 @@ "node": ">=8" } }, + "node_modules/@storybook/core-server/node_modules/html-webpack-plugin": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz", + "integrity": "sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==", + "dev": true, + "dependencies": { + "@types/html-minifier-terser": "^5.0.0", + "@types/tapable": "^1.0.5", + "@types/webpack": "^4.41.8", + "html-minifier-terser": "^5.0.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.20", + "pretty-error": "^2.1.1", + "tapable": "^1.1.3", + "util.promisify": "1.0.0" + }, + "engines": { + "node": ">=6.9" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/@storybook/core-server/node_modules/style-loader": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz", + "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^2.7.0" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/@storybook/core-server/node_modules/style-loader/node_modules/loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/@storybook/core-server/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@storybook/csf": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.1.tgz", @@ -3184,14 +3655,14 @@ } }, "node_modules/@storybook/node-logger": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.1.21.tgz", - "integrity": "sha512-wQZZw4n1PG3kGOsczWCBC6+8RagYkrGYDqsVOpUcs5shGbPg5beCXDuzP4nxz2IlsoP9ZtTSaX741H791OIOjA==", + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.2.9.tgz", + "integrity": "sha512-ryRBChWZf1A5hOVONErJZosS25IdMweoMVFAUAcj91iC0ynoSA6YL2jmoE71jQchxEXEgkDeRkX9lR/GlqFGZQ==", "dev": true, "dependencies": { "@types/npmlog": "^4.1.2", - "chalk": "^4.0.0", - "core-js": "^3.0.1", + "chalk": "^4.1.0", + "core-js": "^3.8.2", "npmlog": "^4.1.2", "pretty-hrtime": "^1.0.3" } @@ -3212,9 +3683,9 @@ } }, "node_modules/@storybook/node-logger/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -3227,24 +3698,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@storybook/node-logger/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@storybook/node-logger/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/@storybook/node-logger/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -3267,32 +3720,34 @@ } }, "node_modules/@storybook/react": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-6.1.21.tgz", - "integrity": "sha512-j3gq/ssWxRCCH5iCHbP3ihXSGS7lVWh1HpmBmGbbhHGHgdmSPsRjwDXiQGE81EmE7bzbC8NECBhU3zHJ6h1TvA==", + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-6.2.9.tgz", + "integrity": "sha512-glvw+o/Vek2oapYIXCYDK6gm3cuSnx0XdOpiJVcXk3KLb8JfLbdzGYYp6dcWUbyOBqGcGFRpXIgMmkcwgn+fvQ==", "dev": true, "dependencies": { "@babel/preset-flow": "^7.12.1", - "@babel/preset-react": "^7.12.1", - "@pmmmwh/react-refresh-webpack-plugin": "^0.4.2", - "@storybook/addons": "6.1.21", - "@storybook/core": "6.1.21", - "@storybook/node-logger": "6.1.21", + "@babel/preset-react": "^7.12.10", + "@pmmmwh/react-refresh-webpack-plugin": "^0.4.3", + "@storybook/addons": "6.2.9", + "@storybook/core": "6.2.9", + "@storybook/core-common": "6.2.9", + "@storybook/node-logger": "6.2.9", "@storybook/semver": "^7.3.2", - "@types/webpack-env": "^1.15.3", + "@types/webpack-env": "^1.16.0", "babel-plugin-add-react-displayname": "^0.0.5", "babel-plugin-named-asset-import": "^0.3.1", "babel-plugin-react-docgen": "^4.2.1", - "core-js": "^3.0.1", - "global": "^4.3.2", - "lodash": "^4.17.15", + "core-js": "^3.8.2", + "global": "^4.4.0", + "lodash": "^4.17.20", "prop-types": "^15.7.2", "react-dev-utils": "^11.0.3", "react-docgen-typescript-plugin": "^0.6.2", "react-refresh": "^0.8.3", + "read-pkg-up": "^7.0.1", "regenerator-runtime": "^0.13.7", "ts-dedent": "^2.0.0", - "webpack": "^4.44.2" + "webpack": "4" }, "bin": { "build-storybook": "bin/build.js", @@ -3300,26 +3755,38 @@ "storybook-server": "bin/index.js" }, "engines": { - "node": ">=8.0.0" + "node": ">=10.13.0" }, "peerDependencies": { "@babel/core": "^7.11.5", "react": "^16.8.0 || ^17.0.0", "react-dom": "^16.8.0 || ^17.0.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "typescript": { + "optional": true + } } }, "node_modules/@storybook/router": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.1.21.tgz", - "integrity": "sha512-m75WvUhoCBWDVekICAdbkidji/w5hCjHo+M8L13UghpwXWEnyr4/QqvkOb/PcSC8aZzxeMqSCpRQ1o6LWULneg==", + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.2.9.tgz", + "integrity": "sha512-7Bn1OFoItCl8whXRT8N1qp1Lky7kzXJ3aslWp5E8HcM8rxh4OYXfbaeiyJEJxBTGC5zxgY+tAEXHFjsAviFROg==", "dev": true, "dependencies": { - "@reach/router": "^1.3.3", + "@reach/router": "^1.3.4", + "@storybook/client-logger": "6.2.9", "@types/reach__router": "^1.3.7", - "core-js": "^3.0.1", - "global": "^4.3.2", + "core-js": "^3.8.2", + "fast-deep-equal": "^3.1.3", + "global": "^4.4.0", + "lodash": "^4.17.20", "memoizerific": "^1.11.3", - "qs": "^6.6.0" + "qs": "^6.10.0", + "ts-dedent": "^2.0.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0", @@ -3342,22 +3809,59 @@ "node": ">=10" } }, + "node_modules/@storybook/semver/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/semver/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/semver/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@storybook/theming": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.1.21.tgz", - "integrity": "sha512-yq7+/mpdljRdSRJYw/In/9tnDGXIUDe//mhyMftFfrB2mq6zi1yAZpowCerWhiDE2ipGkrfzIYx/Sn7bcaXgqg==", + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.2.9.tgz", + "integrity": "sha512-183oJW7AD7Fhqg5NT4ct3GJntwteAb9jZnQ6yhf9JSdY+fk8OhxRbPf7ov0au2gYACcGrWDd9K5pYQsvWlP5gA==", "dev": true, "dependencies": { "@emotion/core": "^10.1.1", "@emotion/is-prop-valid": "^0.8.6", - "@emotion/styled": "^10.0.23", - "@storybook/client-logger": "6.1.21", - "core-js": "^3.0.1", + "@emotion/styled": "^10.0.27", + "@storybook/client-logger": "6.2.9", + "core-js": "^3.8.2", "deep-object-diff": "^1.1.0", - "emotion-theming": "^10.0.19", - "global": "^4.3.2", + "emotion-theming": "^10.0.27", + "global": "^4.4.0", "memoizerific": "^1.11.3", - "polished": "^3.4.4", + "polished": "^4.0.5", "resolve-from": "^5.0.0", "ts-dedent": "^2.0.0" }, @@ -3367,47 +3871,62 @@ } }, "node_modules/@storybook/ui": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.1.21.tgz", - "integrity": "sha512-2nRb5egnSBKbosuR7g5PsuM4XnRLXZUf7TBjwT6eRlomnE2wrWM5DtTLpFeUpDob0SI5hPlOV1xCpPz3XmeyyA==", + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.2.9.tgz", + "integrity": "sha512-jq2xmw3reIqik/6ibUSbNKGR+Xvr9wkAEwexiOl+5WQ5BeYJpw4dmDmsFQf+SQuWaSEUUPolbzkakRQM778Kdg==", "dev": true, "dependencies": { "@emotion/core": "^10.1.1", - "@storybook/addons": "6.1.21", - "@storybook/api": "6.1.21", - "@storybook/channels": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/components": "6.1.21", - "@storybook/core-events": "6.1.21", - "@storybook/router": "6.1.21", + "@storybook/addons": "6.2.9", + "@storybook/api": "6.2.9", + "@storybook/channels": "6.2.9", + "@storybook/client-logger": "6.2.9", + "@storybook/components": "6.2.9", + "@storybook/core-events": "6.2.9", + "@storybook/router": "6.2.9", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.1.21", - "@types/markdown-to-jsx": "^6.11.0", - "copy-to-clipboard": "^3.0.8", - "core-js": "^3.0.1", - "core-js-pure": "^3.0.1", - "downshift": "^6.0.6", - "emotion-theming": "^10.0.19", + "@storybook/theming": "6.2.9", + "@types/markdown-to-jsx": "^6.11.3", + "copy-to-clipboard": "^3.3.1", + "core-js": "^3.8.2", + "core-js-pure": "^3.8.2", + "downshift": "^6.0.15", + "emotion-theming": "^10.0.27", "fuse.js": "^3.6.1", - "global": "^4.3.2", - "lodash": "^4.17.15", + "global": "^4.4.0", + "lodash": "^4.17.20", "markdown-to-jsx": "^6.11.4", "memoizerific": "^1.11.3", - "polished": "^3.4.4", - "qs": "^6.6.0", - "react-draggable": "^4.0.3", - "react-helmet-async": "^1.0.2", - "react-hotkeys": "2.0.0", - "react-sizeme": "^2.6.7", + "polished": "^4.0.5", + "qs": "^6.10.0", + "react-draggable": "^4.4.3", + "react-helmet-async": "^1.0.7", + "react-sizeme": "^3.0.1", "regenerator-runtime": "^0.13.7", "resolve-from": "^5.0.0", - "store2": "^2.7.1" + "store2": "^2.12.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0", "react-dom": "^16.8.0 || ^17.0.0" } }, + "node_modules/@storybook/ui/node_modules/markdown-to-jsx": { + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz", + "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==", + "dev": true, + "dependencies": { + "prop-types": "^15.6.2", + "unquote": "^1.1.0" + }, + "engines": { + "node": ">= 4" + }, + "peerDependencies": { + "react": ">= 0.14.0" + } + }, "node_modules/@svgr/babel-plugin-add-jsx-attribute": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz", @@ -3513,18 +4032,6 @@ "node": ">=8" } }, - "node_modules/@svgr/core/node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "dependencies": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@svgr/core/node_modules/cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", @@ -3616,18 +4123,6 @@ "node": ">=8" } }, - "node_modules/@svgr/plugin-svgo/node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "dependencies": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@svgr/plugin-svgo/node_modules/cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", @@ -3750,6 +4245,21 @@ "integrity": "sha512-TbH79tcyi9FHwbyboOKeRachRq63mSuWYXOflsNO9ZyE5ClQ/JaozNKl+aWUq87qPNsXasXxi2AbgfwIJ+8GQw==", "dev": true }, + "node_modules/@types/color-convert": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/color-convert/-/color-convert-2.0.0.tgz", + "integrity": "sha512-m7GG7IKKGuJUXvkZ1qqG3ChccdIM/qBBo913z+Xft0nKCX4hAU/IxKwZBU4cpRZ7GS5kV4vOblUkILtSShCPXQ==", + "dev": true, + "dependencies": { + "@types/color-name": "*" + } + }, + "node_modules/@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, "node_modules/@types/component-emitter": { "version": "1.2.10", "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz", @@ -3859,27 +4369,33 @@ } }, "node_modules/@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==", "dev": true }, "node_modules/@types/node": { - "version": "14.14.35", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz", - "integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==", + "version": "14.14.43", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.43.tgz", + "integrity": "sha512-3pwDJjp1PWacPTpH0LcfhgjvurQvrZFBrC6xxjaUEZ7ifUtT32jtjPxEMMblpqd2Mvx+k8haqQJLQxolyGN/cQ==", "dev": true }, "node_modules/@types/node-fetch": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.8.tgz", - "integrity": "sha512-fbjI6ja0N5ZA8TV53RUqzsKNkl9fv8Oj3T7zxW7FGv1GSH7gwJaNF8dzCjrqKaxKeUpTz4yT1DaJFq/omNpGfw==", + "version": "2.5.10", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.10.tgz", + "integrity": "sha512-IpkX0AasN44hgEad0gEF/V6EgR5n69VEqPEgnmoM8GsIGro3PowbWs4tR6IhxUTyPLpOn+fiGG6nrQhcmoCuIQ==", "dev": true, "dependencies": { "@types/node": "*", "form-data": "^3.0.0" } }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, "node_modules/@types/npmlog": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/@types/npmlog/-/npmlog-4.1.2.tgz", @@ -3898,6 +4414,12 @@ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", "dev": true }, + "node_modules/@types/pretty-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/pretty-hrtime/-/pretty-hrtime-1.0.0.tgz", + "integrity": "sha512-xl+5r2rcrxdLViAYkkiLMYsoUs3qEyrAnHFyEzYysgRxdVp3WbhysxIvJIxZp9FvZ2CYezh0TaHZorivH+voOQ==", + "dev": true + }, "node_modules/@types/prop-types": { "version": "15.7.3", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", @@ -3926,9 +4448,9 @@ } }, "node_modules/@types/react": { - "version": "17.0.3", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.3.tgz", - "integrity": "sha512-wYOUxIgs2HZZ0ACNiIayItyluADNbONl7kt8lkLjVK8IitMH5QMyAh75Fwhmo37r1m7L2JaFj03sIfxBVDvRAg==", + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.4.tgz", + "integrity": "sha512-onz2BqScSFMoTRdJUZUDD/7xrusM8hBA2Fktk2qgaTYPCgPvWnDEgkrOs8hhPUf2jfcIXkJ5yK6VfYormJS3Jw==", "dev": true, "dependencies": { "@types/prop-types": "*", @@ -3936,40 +4458,21 @@ "csstype": "^3.0.2" } }, - "node_modules/@types/react-color": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/react-color/-/react-color-3.0.4.tgz", - "integrity": "sha512-EswbYJDF1kkrx93/YU+BbBtb46CCtDMvTiGmcOa/c5PETnwTiSWoseJ1oSWeRl/4rUXkhME9bVURvvPg0W5YQw==", - "dev": true, - "dependencies": { - "@types/react": "*", - "@types/reactcss": "*" - } - }, "node_modules/@types/react-syntax-highlighter": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-11.0.4.tgz", - "integrity": "sha512-9GfTo3a0PHwQeTVoqs0g5bS28KkSY48pp5659wA+Dp4MqceDEa8EHBqrllJvvtyusszyJhViUEap0FDvlk/9Zg==", + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-11.0.5.tgz", + "integrity": "sha512-VIOi9i2Oj5XsmWWoB72p3KlZoEbdRAcechJa8Ztebw7bDl2YmR+odxIqhtJGp1q2EozHs02US+gzxJ9nuf56qg==", "dev": true, "dependencies": { "@types/react": "*" } }, "node_modules/@types/react/node_modules/csstype": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.7.tgz", - "integrity": "sha512-KxnUB0ZMlnUWCsx2Z8MUsr6qV6ja1w9ArPErJaJaF8a5SOWoHLIszeCTKGRGRgtLgYrs1E8CHkNSP1VZTTPc9g==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz", + "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==", "dev": true }, - "node_modules/@types/reactcss": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/reactcss/-/reactcss-1.2.3.tgz", - "integrity": "sha512-d2gQQ0IL6hXLnoRfVYZukQNWHuVsE75DzFTLPUuyyEhJS8G2VvlE+qfQQ91SJjaMqlURRCNIsX7Jcsw6cEuJlA==", - "dev": true, - "dependencies": { - "@types/react": "*" - } - }, "node_modules/@types/scheduler": { "version": "0.16.1", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.1.tgz", @@ -3989,9 +4492,9 @@ "dev": true }, "node_modules/@types/tapable": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz", - "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.7.tgz", + "integrity": "sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ==", "dev": true }, "node_modules/@types/uglify-js": { @@ -4019,14 +4522,14 @@ "dev": true }, "node_modules/@types/webpack": { - "version": "4.41.26", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.26.tgz", - "integrity": "sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA==", + "version": "4.41.27", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.27.tgz", + "integrity": "sha512-wK/oi5gcHi72VMTbOaQ70VcDxSQ1uX8S2tukBK9ARuGXrYM/+u4ou73roc7trXDNmCxCoerE8zruQqX/wuHszA==", "dev": true, "dependencies": { "@types/anymatch": "*", "@types/node": "*", - "@types/tapable": "*", + "@types/tapable": "^1", "@types/uglify-js": "*", "@types/webpack-sources": "*", "source-map": "^0.6.0" @@ -4073,6 +4576,34 @@ "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", "dev": true }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", + "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "2.34.0", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^2.0.0", + "eslint": "^5.0.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/@typescript-eslint/experimental-utils": { "version": "2.34.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", @@ -4095,17 +4626,31 @@ "eslint": "*" } }, - "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "node_modules/@typescript-eslint/parser": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", + "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", "dev": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.34.0", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-visitor-keys": "^1.1.0" }, "engines": { - "node": ">=8.0.0" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/@typescript-eslint/typescript-estree": { @@ -4375,10 +4920,9 @@ } }, "node_modules/acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "dev": true, + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "bin": { "acorn": "bin/acorn" }, @@ -4409,26 +4953,12 @@ } }, "node_modules/acorn-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", "dev": true, - "peer": true, - "dependencies": { - "acorn": "^3.0.4" - } - }, - "node_modules/acorn-jsx/node_modules/acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", - "dev": true, - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/acorn-node": { @@ -4441,17 +4971,6 @@ "xtend": "^4.0.2" } }, - "node_modules/acorn-node/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/acorn-node/node_modules/acorn-walk": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", @@ -4552,16 +5071,19 @@ } }, "node_modules/ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "peer": true, "dependencies": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/ajv-errors": { @@ -4574,22 +5096,14 @@ } }, "node_modules/ajv-keywords": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, - "peer": true, "peerDependencies": { - "ajv": "^5.0.0" + "ajv": "^6.9.1" } }, - "node_modules/ajv/node_modules/fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true, - "peer": true - }, "node_modules/alphanum-sort": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", @@ -4841,12 +5355,12 @@ } }, "node_modules/ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "dependencies": { - "type-fest": "^0.11.0" + "type-fest": "^0.21.3" }, "engines": { "node": ">=8" @@ -4856,12 +5370,12 @@ } }, "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5019,6 +5533,19 @@ "node": ">=4" } }, + "node_modules/ansi-styles/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/ansi-styles/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, "node_modules/ansi-to-html": { "version": "0.6.14", "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.14.tgz", @@ -5127,15 +5654,6 @@ "node": ">=0.10.0" } }, - "node_modules/anymatch/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/anymatch/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -5194,6 +5712,30 @@ "readable-stream": "^2.0.6" } }, + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/are-we-there-yet/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -5479,9 +6021,9 @@ "dev": true }, "node_modules/ast-types/node_modules/tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", "dev": true }, "node_modules/astral-regex": { @@ -5494,9 +6036,9 @@ } }, "node_modules/async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", + "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==", "dev": true }, "node_modules/async-each": { @@ -5569,11 +6111,35 @@ "browserslist": "cli.js" } }, - "node_modules/aws-sdk": { - "version": "2.870.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.870.0.tgz", - "integrity": "sha512-pbNO+RuEx45aaEZind0Tl9NADxncLJf0mRAwof0szyYMB+FZm165yz7FCxFLumU4R9qw8vOG5YFACBaNoQkJdg==", + "node_modules/autoprefixer/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/autoprefixer/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/aws-sdk": { + "version": "2.899.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.899.0.tgz", + "integrity": "sha512-k8jSANDQGvTyyj1f/7Hj4SWaV61/gjj/BopRmavAr6n1ayjXtUeVrV8G29+ABD3V82pHXDqLq47bqNmZ9m86xQ==", + "dev": true, + "hasInstallScript": true, "dependencies": { "buffer": "4.9.2", "events": "1.1.1", @@ -5605,9 +6171,9 @@ "dev": true }, "node_modules/axe-core": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.1.3.tgz", - "integrity": "sha512-vwPpH4Aj4122EW38mxO/fxhGKtwWTMLDIJfZ1He0Edbtjcfna/R3YB67yVhezUMzqc3Jr3+Ii50KRntlENL4xQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.2.0.tgz", + "integrity": "sha512-1uIESzroqpaTzt9uX48HO+6gfnKu3RwvWdCcWSrX4csMInJfCo1yvKPNXCwXFRpJqRW25tiASb6No0YH57PXqg==", "dev": true, "engines": { "node": ">=4" @@ -5630,15 +6196,6 @@ "js-tokens": "^3.0.2" } }, - "node_modules/babel-code-frame/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/babel-code-frame/node_modules/ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", @@ -5670,18 +6227,6 @@ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, - "node_modules/babel-code-frame/node_modules/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, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/babel-code-frame/node_modules/supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -5691,81 +6236,6 @@ "node": ">=0.8.0" } }, - "node_modules/babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "dev": true, - "peer": true, - "dependencies": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" - } - }, - "node_modules/babel-core/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "peer": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/babel-core/node_modules/json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true, - "peer": true, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/babel-core/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true, - "peer": true - }, - "node_modules/babel-core/node_modules/slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-core/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/babel-eslint": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", @@ -5799,96 +6269,6 @@ "node": ">=4" } }, - "node_modules/babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "dev": true, - "peer": true, - "dependencies": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - } - }, - "node_modules/babel-generator/node_modules/jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true, - "peer": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/babel-generator/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-helper-evaluate-path": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz", - "integrity": "sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==", - "dev": true - }, - "node_modules/babel-helper-flip-expressions": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz", - "integrity": "sha1-NpZzahKKwYvCUlS19AoizrPB0/0=", - "dev": true - }, - "node_modules/babel-helper-is-nodes-equiv": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz", - "integrity": "sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=", - "dev": true - }, - "node_modules/babel-helper-is-void-0": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz", - "integrity": "sha1-fZwBtFYee5Xb2g9u7kj1tg5nMT4=", - "dev": true - }, - "node_modules/babel-helper-mark-eval-scopes": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz", - "integrity": "sha1-0kSjvvmESHJgP/tG4izorN9VFWI=", - "dev": true - }, - "node_modules/babel-helper-remove-or-void": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz", - "integrity": "sha1-pPA7QAd6D/6I5F0HAQ3uJB/1rmA=", - "dev": true - }, - "node_modules/babel-helper-to-multiple-sequence-expressions": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz", - "integrity": "sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==", - "dev": true - }, - "node_modules/babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "dev": true, - "peer": true, - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, "node_modules/babel-jest": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", @@ -5946,6 +6326,31 @@ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, + "node_modules/babel-loader/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-loader/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/babel-loader/node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -5961,14 +6366,28 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "node_modules/babel-loader/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "peer": true, "dependencies": { - "babel-runtime": "^6.22.0" + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-loader/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/babel-plugin-add-react-displayname": { @@ -6004,6 +6423,33 @@ "source-map": "^0.5.7" } }, + "node_modules/babel-plugin-emotion/node_modules/babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + } + }, + "node_modules/babel-plugin-emotion/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/babel-plugin-emotion/node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -6065,6 +6511,15 @@ "node": ">=6" } }, + "node_modules/babel-plugin-istanbul/node_modules/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, + "engines": { + "node": ">=4" + } + }, "node_modules/babel-plugin-jest-hoist": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", @@ -6078,125 +6533,18 @@ } }, "node_modules/babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.0.1.tgz", + "integrity": "sha512-CKt4+Oy9k2wiN+hT1uZzOw7d8zb1anbQpf7KLwaaXRCi/4pzKdFKHf7v5mvoPmjkmxshh7eKZQuRop06r5WP4w==", "dev": true, "dependencies": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" - } - }, - "node_modules/babel-plugin-minify-builtins": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz", - "integrity": "sha512-wpqbN7Ov5hsNwGdzuzvFcjgRlzbIeVv1gMIlICbPj0xkexnfoIDe7q+AZHMkQmAE/F9R5jkrB6TLfTegImlXag==", - "dev": true - }, - "node_modules/babel-plugin-minify-constant-folding": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.5.0.tgz", - "integrity": "sha512-Vj97CTn/lE9hR1D+jKUeHfNy+m1baNiJ1wJvoGyOBUx7F7kJqDZxr9nCHjO/Ad+irbR3HzR6jABpSSA29QsrXQ==", - "dev": true, - "dependencies": { - "babel-helper-evaluate-path": "^0.5.0" - } - }, - "node_modules/babel-plugin-minify-dead-code-elimination": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.1.tgz", - "integrity": "sha512-x8OJOZIrRmQBcSqxBcLbMIK8uPmTvNWPXH2bh5MDCW1latEqYiRMuUkPImKcfpo59pTUB2FT7HfcgtG8ZlR5Qg==", - "dev": true, - "dependencies": { - "babel-helper-evaluate-path": "^0.5.0", - "babel-helper-mark-eval-scopes": "^0.4.3", - "babel-helper-remove-or-void": "^0.4.3", - "lodash": "^4.17.11" - } - }, - "node_modules/babel-plugin-minify-flip-comparisons": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz", - "integrity": "sha1-AMqHDLjxO0XAOLPB68DyJyk8llo=", - "dev": true, - "dependencies": { - "babel-helper-is-void-0": "^0.4.3" - } - }, - "node_modules/babel-plugin-minify-guarded-expressions": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.4.tgz", - "integrity": "sha512-RMv0tM72YuPPfLT9QLr3ix9nwUIq+sHT6z8Iu3sLbqldzC1Dls8DPCywzUIzkTx9Zh1hWX4q/m9BPoPed9GOfA==", - "dev": true, - "dependencies": { - "babel-helper-evaluate-path": "^0.5.0", - "babel-helper-flip-expressions": "^0.4.3" - } - }, - "node_modules/babel-plugin-minify-infinity": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz", - "integrity": "sha1-37h2obCKBldjhO8/kuZTumB7Oco=", - "dev": true - }, - "node_modules/babel-plugin-minify-mangle-names": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.0.tgz", - "integrity": "sha512-3jdNv6hCAw6fsX1p2wBGPfWuK69sfOjfd3zjUXkbq8McbohWy23tpXfy5RnToYWggvqzuMOwlId1PhyHOfgnGw==", - "dev": true, - "dependencies": { - "babel-helper-mark-eval-scopes": "^0.4.3" - } - }, - "node_modules/babel-plugin-minify-numeric-literals": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz", - "integrity": "sha1-jk/VYcefeAEob/YOjF/Z3u6TwLw=", - "dev": true - }, - "node_modules/babel-plugin-minify-replace": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz", - "integrity": "sha512-aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q==", - "dev": true - }, - "node_modules/babel-plugin-minify-simplify": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.1.tgz", - "integrity": "sha512-OSYDSnoCxP2cYDMk9gxNAed6uJDiDz65zgL6h8d3tm8qXIagWGMLWhqysT6DY3Vs7Fgq7YUDcjOomhVUb+xX6A==", - "dev": true, - "dependencies": { - "babel-helper-evaluate-path": "^0.5.0", - "babel-helper-flip-expressions": "^0.4.3", - "babel-helper-is-nodes-equiv": "^0.0.1", - "babel-helper-to-multiple-sequence-expressions": "^0.5.0" - } - }, - "node_modules/babel-plugin-minify-type-constructors": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz", - "integrity": "sha1-G8bxW4f3qxCF1CszC3F2V6IVZQA=", - "dev": true, - "dependencies": { - "babel-helper-is-void-0": "^0.4.3" - } - }, - "node_modules/babel-plugin-module-resolver": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.2.0.tgz", - "integrity": "sha512-tjR0GvSndzPew/Iayf4uICWZqjBwnlMWjSx6brryfQ81F9rxBVqwDJtFCV8oOs0+vJeefK9TmdZtkIFdFe1UnA==", - "dev": true, - "peer": true, - "dependencies": { - "find-babel-config": "^1.1.0", - "glob": "^7.1.2", - "pkg-up": "^2.0.0", - "reselect": "^3.0.1", - "resolve": "^1.4.0" + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" }, "engines": { - "node": ">= 6.0.0" + "node": ">=10", + "npm": ">=6" } }, "node_modules/babel-plugin-named-asset-import": { @@ -6209,13 +6557,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.1.10.tgz", - "integrity": "sha512-DO95wD4g0A8KRaHKi0D51NdGXzvpqVLnLu5BTvDlpqUEpTmeEtypgC1xqesORaWmiUOQI14UHKlzNd9iZ2G3ZA==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz", + "integrity": "sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.13.0", - "@babel/helper-define-polyfill-provider": "^0.1.5", + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.0", "semver": "^6.1.1" }, "peerDependencies": { @@ -6223,25 +6571,25 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz", - "integrity": "sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz", + "integrity": "sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.1.5", - "core-js-compat": "^3.8.1" + "@babel/helper-define-polyfill-provider": "^0.2.0", + "core-js-compat": "^3.9.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.1.6.tgz", - "integrity": "sha512-OUrYG9iKPKz8NxswXbRAdSwF0GhRdIEMTloQATJi4bDuFqrXaXcCUT/VGNrr8pBcjMh1RxZ7Xt9cytVJTJfvMg==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz", + "integrity": "sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.1.5" + "@babel/helper-define-polyfill-provider": "^0.2.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -6281,30 +6629,6 @@ "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", "dev": true }, - "node_modules/babel-plugin-transform-inline-consecutive-adds": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz", - "integrity": "sha1-Mj1Ho+pjqDp6w8gRro5pQfrysNE=", - "dev": true - }, - "node_modules/babel-plugin-transform-member-expression-literals": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz", - "integrity": "sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8=", - "dev": true - }, - "node_modules/babel-plugin-transform-merge-sibling-variables": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz", - "integrity": "sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4=", - "dev": true - }, - "node_modules/babel-plugin-transform-minify-booleans": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz", - "integrity": "sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg=", - "dev": true - }, "node_modules/babel-plugin-transform-object-rest-spread": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", @@ -6315,60 +6639,12 @@ "babel-runtime": "^6.26.0" } }, - "node_modules/babel-plugin-transform-property-literals": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz", - "integrity": "sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk=", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - } - }, "node_modules/babel-plugin-transform-react-remove-prop-types": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==", "dev": true }, - "node_modules/babel-plugin-transform-regexp-constructors": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz", - "integrity": "sha1-WLd3W2OvzzMyj66aX4j71PsLSWU=", - "dev": true - }, - "node_modules/babel-plugin-transform-remove-console": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz", - "integrity": "sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A=", - "dev": true - }, - "node_modules/babel-plugin-transform-remove-debugger": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz", - "integrity": "sha1-QrcnYxyXl44estGZp67IShgznvI=", - "dev": true - }, - "node_modules/babel-plugin-transform-remove-undefined": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz", - "integrity": "sha512-+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ==", - "dev": true, - "dependencies": { - "babel-helper-evaluate-path": "^0.5.0" - } - }, - "node_modules/babel-plugin-transform-simplify-comparison-operators": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz", - "integrity": "sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk=", - "dev": true - }, - "node_modules/babel-plugin-transform-undefined-to-void": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz", - "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=", - "dev": true - }, "node_modules/babel-preset-jest": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", @@ -6385,37 +6661,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/babel-preset-minify": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-minify/-/babel-preset-minify-0.5.1.tgz", - "integrity": "sha512-1IajDumYOAPYImkHbrKeiN5AKKP9iOmRoO2IPbIuVp0j2iuCcj0n7P260z38siKMZZ+85d3mJZdtW8IgOv+Tzg==", - "dev": true, - "dependencies": { - "babel-plugin-minify-builtins": "^0.5.0", - "babel-plugin-minify-constant-folding": "^0.5.0", - "babel-plugin-minify-dead-code-elimination": "^0.5.1", - "babel-plugin-minify-flip-comparisons": "^0.4.3", - "babel-plugin-minify-guarded-expressions": "^0.4.4", - "babel-plugin-minify-infinity": "^0.4.3", - "babel-plugin-minify-mangle-names": "^0.5.0", - "babel-plugin-minify-numeric-literals": "^0.4.3", - "babel-plugin-minify-replace": "^0.5.0", - "babel-plugin-minify-simplify": "^0.5.1", - "babel-plugin-minify-type-constructors": "^0.4.3", - "babel-plugin-transform-inline-consecutive-adds": "^0.4.3", - "babel-plugin-transform-member-expression-literals": "^6.9.4", - "babel-plugin-transform-merge-sibling-variables": "^6.9.4", - "babel-plugin-transform-minify-booleans": "^6.9.4", - "babel-plugin-transform-property-literals": "^6.9.4", - "babel-plugin-transform-regexp-constructors": "^0.4.3", - "babel-plugin-transform-remove-console": "^6.9.4", - "babel-plugin-transform-remove-debugger": "^6.9.4", - "babel-plugin-transform-remove-undefined": "^0.5.0", - "babel-plugin-transform-simplify-comparison-operators": "^6.9.4", - "babel-plugin-transform-undefined-to-void": "^6.9.4", - "lodash": "^4.17.11" - } - }, "node_modules/babel-preset-react-app": { "version": "9.1.2", "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-9.1.2.tgz", @@ -6671,6 +6916,33 @@ "regenerator-runtime": "^0.13.4" } }, + "node_modules/babel-preset-react-app/node_modules/babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + } + }, + "node_modules/babel-preset-react-app/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/babel-preset-react-app/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -6689,51 +6961,6 @@ "node": ">=0.10.0" } }, - "node_modules/babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "dev": true, - "peer": true, - "dependencies": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" - } - }, - "node_modules/babel-register/node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.", - "dev": true, - "hasInstallScript": true, - "peer": true - }, - "node_modules/babel-register/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-register/node_modules/source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "peer": true, - "dependencies": { - "source-map": "^0.5.6" - } - }, "node_modules/babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", @@ -6747,7 +6974,7 @@ "version": "2.6.12", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.", + "deprecated": "core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", "hasInstallScript": true }, "node_modules/babel-runtime/node_modules/regenerator-runtime": { @@ -6755,88 +6982,6 @@ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" }, - "node_modules/babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "peer": true, - "dependencies": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "node_modules/babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "peer": true, - "dependencies": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - } - }, - "node_modules/babel-traverse/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "peer": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/babel-traverse/node_modules/globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-traverse/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true, - "peer": true - }, - "node_modules/babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "peer": true, - "dependencies": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "node_modules/babel-types/node_modules/to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/babylon": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", @@ -6852,9 +6997,9 @@ "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" }, "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base": { "version": "0.11.2", @@ -7005,6 +7150,35 @@ "node": ">= 6" } }, + "node_modules/block-stream2/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/block-stream2/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -7138,24 +7312,6 @@ "node": ">=8" } }, - "node_modules/boxen/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/boxen/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/boxen/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -7221,6 +7377,28 @@ "brfs": "bin/cmd.js" } }, + "node_modules/brfs/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "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" + } + }, + "node_modules/brfs/node_modules/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==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/brfs/node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -7355,6 +7533,15 @@ } ] }, + "node_modules/browserify-sign/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/browserify-zlib": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", @@ -7365,15 +7552,15 @@ } }, "node_modules/browserslist": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", - "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", + "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", "dependencies": { - "caniuse-lite": "^1.0.30001181", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.649", + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", "escalade": "^3.1.1", - "node-releases": "^1.1.70" + "node-releases": "^1.1.71" }, "bin": { "browserslist": "cli.js" @@ -7548,26 +7735,15 @@ } }, "node_modules/caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "dev": true, - "peer": true, "dependencies": { - "callsites": "^0.2.0" + "caller-callsite": "^2.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/caller-path/node_modules/callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/callsites": { @@ -7619,9 +7795,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001204", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001204.tgz", - "integrity": "sha512-JUdjWpcxfJ9IPamy2f5JaRDCaqJOxDzOSKtbdx4rH9VivMd1vIzoPumsJa9LoMIi4Fx2BV2KZOxWhNkBjaYivQ==" + "version": "1.0.30001221", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001221.tgz", + "integrity": "sha512-b9TOZfND3uGSLjMOrLh8XxSQ41x8mX+9MLJYDM4AAHLfaZHttrLNPrScWjVnBITRZbY5sPpCt7X85n7VSLZ+/g==" }, "node_modules/capture-exit": { "version": "2.0.0", @@ -7756,9 +7932,9 @@ } }, "node_modules/chokidar/node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "dependencies": { "normalize-path": "^3.0.0", @@ -7865,13 +8041,10 @@ "dev": true }, "node_modules/chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, "engines": { "node": ">=6.0" } @@ -7904,14 +8077,6 @@ "webpack": ">=4.0.1" } }, - "node_modules/circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "deprecated": "CircularJSON is in maintenance only, flatted is its successor.", - "dev": true, - "peer": true - }, "node_modules/class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", @@ -7951,6 +8116,18 @@ "node": ">=0.10.0" } }, + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/class-utils/node_modules/is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -7963,6 +8140,18 @@ "node": ">=0.10.0" } }, + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/class-utils/node_modules/is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", @@ -7977,7 +8166,7 @@ "node": ">=0.10.0" } }, - "node_modules/class-utils/node_modules/is-descriptor/node_modules/kind-of": { + "node_modules/class-utils/node_modules/kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", @@ -7987,9 +8176,9 @@ } }, "node_modules/classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" }, "node_modules/clean-css": { "version": "4.2.3", @@ -8127,27 +8316,17 @@ } }, "node_modules/clone-deep": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-1.0.0.tgz", - "integrity": "sha512-hmJRX8x1QOJVV+GUjOBzi6iauhPqc9hIF6xitWRBbiPZOBb6vGo/mDRIK9P74RTKSQK7AE8B0DDWY/vpRrPmQw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "dependencies": { - "for-own": "^1.0.0", "is-plain-object": "^2.0.4", - "kind-of": "^5.0.0", - "shallow-clone": "^1.0.0" + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clone-deep/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, "node_modules/clsx": { @@ -8192,9 +8371,9 @@ } }, "node_modules/codemirror": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.60.0.tgz", - "integrity": "sha512-AEL7LhFOlxPlCL8IdTcJDblJm8yrAGib7I+DErJPdZd4l6imx8IMgKK3RblVgBQqz3TZJR4oknQ03bz+uNjBYA==" + "version": "5.61.0", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.61.0.tgz", + "integrity": "sha512-D3wYH90tYY1BsKlUe0oNj2JAhQ9TepkD51auk3N7q+4uz7A/cgJ5JsWHreT0PqieW1QhOuqxQ2reCXV1YXzecg==" }, "node_modules/collection-visit": { "version": "1.0.0", @@ -8219,17 +8398,20 @@ } }, "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { - "color-name": "1.1.3" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/color-string": { "version": "1.5.5", @@ -8240,6 +8422,19 @@ "simple-swizzle": "^0.2.2" } }, + "node_modules/color/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, "node_modules/colorette": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", @@ -8274,6 +8469,21 @@ "color-string": "^1.5.2" } }, + "node_modules/colorspace/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/colorspace/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -8426,6 +8636,28 @@ "typedarray": "^0.0.6" } }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "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" + } + }, + "node_modules/concat-stream/node_modules/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==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/confusing-browser-globals": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", @@ -8575,37 +8807,6 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/copy-webpack-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/copy-webpack-plugin/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/copy-webpack-plugin/node_modules/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 - }, "node_modules/copy-webpack-plugin/node_modules/schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -8621,9 +8822,9 @@ } }, "node_modules/core-js": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.9.1.tgz", - "integrity": "sha512-gSjRvzkxQc1zjM/5paAmL4idJBFzuJoo+jDjF1tStYFMV2ERfD02HhahhCGXUyHxQRG4yFKVSdO6g62eoRMcDg==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.11.2.tgz", + "integrity": "sha512-3tfrrO1JpJSYGKnd9LKTBPqgUES/UYiCzMKeqwR1+jF16q4kD1BY2NvqkfuzXwQ6+CIWm55V9cjD7PQd+hijdw==", "dev": true, "hasInstallScript": true, "funding": { @@ -8632,12 +8833,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.9.1.tgz", - "integrity": "sha512-jXAirMQxrkbiiLsCx9bQPJFA6llDadKMpYrBJQJ3/c4/vsPP/fAf29h24tviRlvwUL6AmY5CHLu2GvjuYviQqA==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.11.2.tgz", + "integrity": "sha512-gYhNwu7AJjecNtRrIfyoBabQ3ZG+llfPmg9BifIX8yxIpDyfNLRM73zIjINSm6z3dMdI1nwNC9C7uiy4pIC6cw==", "dev": true, "dependencies": { - "browserslist": "^4.16.3", + "browserslist": "^4.16.6", "semver": "7.0.0" }, "funding": { @@ -8655,9 +8856,9 @@ } }, "node_modules/core-js-pure": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.9.1.tgz", - "integrity": "sha512-laz3Zx0avrw9a4QEIdmIblnVuJz8W51leY9iLThatCsFawWxC3sE4guASC78JbCin+DkwMpCdp1AVAuzL/GN7A==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.11.2.tgz", + "integrity": "sha512-DQxdEKm+zFsnON7ZGOgUAQXBt1UJJ01tOzN/HgQ7cNf0oEHW1tcBLfCQQd1q6otdLu5gAdvKYxKHAoXGwE/kiQ==", "dev": true, "hasInstallScript": true, "funding": { @@ -8671,19 +8872,19 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", "dev": true, "dependencies": { "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", + "import-fresh": "^3.2.1", "parse-json": "^5.0.0", "path-type": "^4.0.0", - "yaml": "^1.7.2" + "yaml": "^1.10.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/country-data": { @@ -8841,15 +9042,6 @@ "node": ">=0.10.0" } }, - "node_modules/cpy/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/cpy/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -8950,43 +9142,27 @@ } }, "node_modules/cross-fetch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.2.tgz", - "integrity": "sha512-+JhD65rDNqLbGmB3Gzs3HrEKC0aQnD+XA3SY6RjgkF88jV2q5cTc5+CwxlS3sdmLk98gpPt5CF9XRnPdlxZe6w==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz", + "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==", "dependencies": { "node-fetch": "2.6.1" } }, "node_modules/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=", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "peer": true, "dependencies": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/cross-spawn/node_modules/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, - "peer": true, - "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "node_modules/cross-spawn/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true, - "peer": true - }, "node_modules/crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", @@ -9045,45 +9221,6 @@ "node": ">=6.0.0" } }, - "node_modules/css-blank-pseudo/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/css-blank-pseudo/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-blank-pseudo/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/css-color-names": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", @@ -9106,45 +9243,6 @@ "node": ">4" } }, - "node_modules/css-declaration-sorter/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/css-declaration-sorter/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-declaration-sorter/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/css-has-pseudo": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", @@ -9173,24 +9271,6 @@ "node": ">=4" } }, - "node_modules/css-has-pseudo/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", @@ -9205,27 +9285,6 @@ "node": ">=4" } }, - "node_modules/css-has-pseudo/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-has-pseudo/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/css-loader": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", @@ -9257,51 +9316,12 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/css-loader/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, "node_modules/css-loader/node_modules/postcss-value-parser": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "dev": true }, - "node_modules/css-loader/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-loader/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/css-prefers-color-scheme": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", @@ -9317,45 +9337,6 @@ "node": ">=6.0.0" } }, - "node_modules/css-prefers-color-scheme/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/css-prefers-color-scheme/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-prefers-color-scheme/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/css-select": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", @@ -9437,13 +9418,13 @@ } }, "node_modules/cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", + "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", "dev": true, "dependencies": { "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", + "cssnano-preset-default": "^4.0.8", "is-resolvable": "^1.0.0", "postcss": "^7.0.0" }, @@ -9452,9 +9433,9 @@ } }, "node_modules/cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", + "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", "dev": true, "dependencies": { "css-declaration-sorter": "^4.0.1", @@ -9485,52 +9466,13 @@ "postcss-ordered-values": "^4.1.2", "postcss-reduce-initial": "^4.0.3", "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", + "postcss-svgo": "^4.0.3", "postcss-unique-selectors": "^4.0.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/cssnano-preset-default/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/cssnano-preset-default/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cssnano-preset-default/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/cssnano-util-get-arguments": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", @@ -9561,45 +9503,6 @@ "node": ">=6.9.0" } }, - "node_modules/cssnano-util-raw-cache/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/cssnano-util-raw-cache/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cssnano-util-raw-cache/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/cssnano-util-same-parent": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", @@ -9609,18 +9512,6 @@ "node": ">=6.9.0" } }, - "node_modules/cssnano/node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "dependencies": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/cssnano/node_modules/cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", @@ -9662,24 +9553,6 @@ "node": ">=4" } }, - "node_modules/cssnano/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, "node_modules/cssnano/node_modules/resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", @@ -9689,27 +9562,6 @@ "node": ">=4" } }, - "node_modules/cssnano/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cssnano/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/csso": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", @@ -9723,9 +9575,9 @@ } }, "node_modules/csso/node_modules/css-tree": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", - "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "dev": true, "dependencies": { "mdn-data": "2.0.14", @@ -9766,9 +9618,9 @@ } }, "node_modules/csstype": { - "version": "2.6.16", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.16.tgz", - "integrity": "sha512-61FBWoDHp/gRtsoDkq/B1nWrCUG/ok1E3tUrcNbZjsE9Cxd9yzUirjS3+nAATB8U4cTtaQmAHbNndoFz5L6C9Q==", + "version": "2.6.17", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.17.tgz", + "integrity": "sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A==", "dev": true }, "node_modules/currency-symbol-map": { @@ -9928,9 +9780,9 @@ } }, "node_modules/date-fns": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.19.0.tgz", - "integrity": "sha512-X3bf2iTPgCAQp9wvjOQytnf5vO5rESYRXlPIVcgSbtT5OTScPcsf9eZU+B/YIkKAtYr5WeCii58BgATrNitlWg==", + "version": "2.21.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.21.1.tgz", + "integrity": "sha512-m1WR0xGiC6j6jNFAyW4Nvh4WxAi4JF4w9jRJwSI8nBmNcyZXPcP9VUQG+6gHQXAmqaGEKDKhOqAtENDC941UkA==", "engines": { "node": ">=0.11" }, @@ -10044,6 +9896,15 @@ "integrity": "sha512-b+QLs5vHgS+IoSNcUE4n9HP2NwcHj7aqnJWsjPtuG75Rh5TOaGt0OjAYInh77d5T16V5cRDC+Pw/6ZZZiETBGw==", "dev": true }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/default-gateway": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", @@ -10221,19 +10082,6 @@ "node": ">=0.10.0" } }, - "node_modules/detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, - "peer": true, - "dependencies": { - "repeating": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/detect-newline": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", @@ -10432,21 +10280,22 @@ } }, "node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "dependencies": { - "esutils": "^2.0.2" + "esutils": "^2.0.2", + "isarray": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/dom-align": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.0.tgz", - "integrity": "sha512-YkoezQuhp3SLFGdOlr5xkqZ640iXrnHAwVYcDg8ZKRUtO7mSzSC2BA5V0VuyAwPSJA4CLIc6EDDJh4bEsD2+zA==" + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.1.tgz", + "integrity": "sha512-CdTD9EdA5WviP8oO3n+okOm0Xt7dSuWxRTLcJiW0memwUr3Tvz66JDDCh9cb50IZFHXvBmLoyX454uJU/EVg+g==" }, "node_modules/dom-converter": { "version": "0.2.0", @@ -10458,18 +10307,18 @@ } }, "node_modules/dom-helpers": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.0.tgz", - "integrity": "sha512-Ru5o9+V8CpunKnz5LGgWXkmrH/20cGKwcHwS4m73zIvs54CN9epEmT/HLqFJW3kXpakAFkEdzgy1hzlJe3E4OQ==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", "dependencies": { "@babel/runtime": "^7.8.7", "csstype": "^3.0.2" } }, "node_modules/dom-helpers/node_modules/csstype": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.7.tgz", - "integrity": "sha512-KxnUB0ZMlnUWCsx2Z8MUsr6qV6ja1w9ArPErJaJaF8a5SOWoHLIszeCTKGRGRgtLgYrs1E8CHkNSP1VZTTPc9g==" + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz", + "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==" }, "node_modules/dom-serializer": { "version": "0.2.2", @@ -10481,9 +10330,9 @@ } }, "node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", - "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", "funding": [ { "type": "github", @@ -10576,9 +10425,9 @@ } }, "node_modules/dot-case/node_modules/tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", "dev": true }, "node_modules/dot-prop": { @@ -10639,15 +10488,15 @@ } }, "node_modules/downshift": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/downshift/-/downshift-6.1.1.tgz", - "integrity": "sha512-ch8Sh/j7gVqQd7Kcv3A5TkGfldmxmlQrRPZJYWEhzh24+h7WA4vXssuhcGNJrD8YPJlZYQGHcaX8BNhS0IcOvg==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/downshift/-/downshift-6.1.3.tgz", + "integrity": "sha512-RA1MuaNcTbt0j+sVLhSs8R2oZbBXYAtdQP/V+uHhT3DoDteZzJPjlC+LQVm9T07Wpvo84QXaZtUCePLDTDwGXg==", "dev": true, "dependencies": { - "@babel/runtime": "^7.12.5", + "@babel/runtime": "^7.13.10", "compute-scroll-into-view": "^1.0.17", "prop-types": "^15.7.2", - "react-is": "^17.0.1" + "react-is": "^17.0.2" }, "peerDependencies": { "react": ">=16.12.0" @@ -10667,6 +10516,28 @@ "readable-stream": "^2.0.2" } }, + "node_modules/duplexer2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "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" + } + }, + "node_modules/duplexer2/node_modules/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==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/duplexify": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", @@ -10679,6 +10550,30 @@ "stream-shift": "^1.0.0" } }, + "node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/duplexify/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -10696,24 +10591,19 @@ "dev": true }, "node_modules/ejs": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", - "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", "dev": true, - "dependencies": { - "jake": "^10.6.1" - }, - "bin": { - "ejs": "bin/cli.js" - }, + "hasInstallScript": true, "engines": { "node": ">=0.10.0" } }, "node_modules/electron-to-chromium": { - "version": "1.3.698", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.698.tgz", - "integrity": "sha512-VEXDzYblnlT+g8Q3gedwzgKOso1evkeJzV8lih7lV8mL8eAnGVnKyC3KsFT6S+R5PQO4ffdr1PI16/ElibY/kQ==" + "version": "1.3.726", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.726.tgz", + "integrity": "sha512-dw7WmrSu/JwtACiBzth8cuKf62NKL1xVJuNvyOg0jvruN/n4NLtGYoTzciQquCPNaS2eR+BT5GrxHbslfc/w1w==" }, "node_modules/element-resize-detector": { "version": "1.2.2", @@ -10811,9 +10701,9 @@ } }, "node_modules/engine.io-client": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-4.1.2.tgz", - "integrity": "sha512-1mwvwKYMa0AaCy+sPgvJ/SnKyO5MJZ1HEeXfA3Rm/KHkHGiYD5bQVq8QzvIrkI01FuVtOdZC5lWdRw1BGXB2NQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-4.1.3.tgz", + "integrity": "sha512-C3JYYyvna0FvSKOWGWpo0/EQ6MayO8uEKam1oedLZRpxLego9Fk6K3UH/Phieu1xPHauM7YqAygJ+6SraVc0Qg==", "dependencies": { "base64-arraybuffer": "0.1.4", "component-emitter": "~1.3.0", @@ -10828,9 +10718,9 @@ } }, "node_modules/engine.io-client/node_modules/ws": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz", - "integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz", + "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==", "engines": { "node": ">=8.3.0" }, @@ -10885,6 +10775,30 @@ "node": ">=4.3.0 <5.0.0 || >=5.10" } }, + "node_modules/enhanced-resolve/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/enhanced-resolve/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/entities": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", @@ -11111,56 +11025,57 @@ } }, "node_modules/eslint": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", - "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", "dev": true, - "peer": true, "dependencies": { - "ajv": "^5.3.0", - "babel-code-frame": "^6.22.0", + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", "chalk": "^2.1.0", - "concat-stream": "^1.6.0", - "cross-spawn": "^5.1.0", - "debug": "^3.1.0", - "doctrine": "^2.1.0", - "eslint-scope": "^3.7.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^3.5.4", - "esquery": "^1.0.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", + "file-entry-cache": "^5.0.1", "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.0.1", - "ignore": "^3.3.3", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", - "inquirer": "^3.0.6", - "is-resolvable": "^1.0.0", - "js-yaml": "^3.9.1", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.3.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.2", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "pluralize": "^7.0.0", + "optionator": "^0.8.3", "progress": "^2.0.0", - "regexpp": "^1.0.1", - "require-uncached": "^1.0.3", - "semver": "^5.3.0", - "strip-ansi": "^4.0.0", - "strip-json-comments": "~2.0.1", - "table": "4.0.2", - "text-table": "~0.2.0" + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": ">=4" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-config-airbnb": { @@ -11197,6 +11112,26 @@ "eslint-plugin-import": "^2.7.0" } }, + "node_modules/eslint-config-react-app": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz", + "integrity": "sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==", + "dev": true, + "dependencies": { + "confusing-browser-globals": "^1.0.9" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "2.x", + "@typescript-eslint/parser": "2.x", + "babel-eslint": "10.x", + "eslint": "6.x", + "eslint-plugin-flowtype": "3.x || 4.x", + "eslint-plugin-import": "2.x", + "eslint-plugin-jsx-a11y": "6.x", + "eslint-plugin-react": "7.x", + "eslint-plugin-react-hooks": "1.x || 2.x" + } + }, "node_modules/eslint-import-resolver-babel-module": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/eslint-import-resolver-babel-module/-/eslint-import-resolver-babel-module-4.0.0.tgz", @@ -11239,6 +11174,59 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, + "node_modules/eslint-loader": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-3.0.3.tgz", + "integrity": "sha512-+YRqB95PnNvxNp1HEjQmvf9KNvCin5HXYYseOXVC2U0KEcw4IkQ2IQEBG46j7+gW39bMzeu0GsUhVbBY3Votpw==", + "deprecated": "This loader has been deprecated. Please use eslint-webpack-plugin", + "dev": true, + "dependencies": { + "fs-extra": "^8.1.0", + "loader-fs-cache": "^1.0.2", + "loader-utils": "^1.2.3", + "object-hash": "^2.0.1", + "schema-utils": "^2.6.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0", + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/eslint-loader/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/eslint-loader/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/eslint-loader/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/eslint-module-utils": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", @@ -11325,6 +11313,15 @@ "node": ">=4" } }, + "node_modules/eslint-module-utils/node_modules/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, + "engines": { + "node": ">=4" + } + }, "node_modules/eslint-module-utils/node_modules/pkg-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", @@ -11337,6 +11334,21 @@ "node": ">=4" } }, + "node_modules/eslint-plugin-flowtype": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-4.6.0.tgz", + "integrity": "sha512-W5hLjpFfZyZsXfo5anlu7HM970JBDqbEshAJUkeczP6BFCIfJXuiIBQXyberLRtOStT0OGPF8efeTbxlHk4LpQ==", + "dev": true, + "dependencies": { + "lodash": "^4.17.15" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": ">=6.1.0" + } + }, "node_modules/eslint-plugin-import": { "version": "2.22.1", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", @@ -11373,17 +11385,29 @@ "ms": "2.0.0" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "node_modules/eslint-plugin-import/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "dependencies": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" + "locate-path": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, "node_modules/eslint-plugin-import/node_modules/ms": { @@ -11392,6 +11416,96 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, + "node_modules/eslint-plugin-import/node_modules/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, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "dependencies": { + "pify": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "dependencies": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-plugin-import/node_modules/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, + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/eslint-plugin-jsx-a11y": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz", @@ -11418,9 +11532,9 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.23.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.23.1.tgz", - "integrity": "sha512-MvFGhZjI8Z4HusajmSw0ougGrq3Gs4vT/0WgwksZgf5RrLrRa2oYAw56okU4tZJl8+j7IYNuTM+2RnFEuTSdRQ==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.23.2.tgz", + "integrity": "sha512-AfjgFQB+nYszudkxRkTFu0UR1zEQig0ArVMPloKhxwlwkzaw/fBiH0QWcBBhZONlXqQC51+nfqFrkn4EzHcGBw==", "dev": true, "dependencies": { "array-includes": "^3.1.3", @@ -11455,6 +11569,18 @@ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" } }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/eslint-plugin-react/node_modules/resolve": { "version": "2.0.0-next.3", "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", @@ -11475,17 +11601,16 @@ "dev": true }, "node_modules/eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "peer": true, "dependencies": { - "esrecurse": "^4.1.0", + "esrecurse": "^4.3.0", "estraverse": "^4.1.1" }, "engines": { - "node": ">=4.0.0" + "node": ">=8.0.0" } }, "node_modules/eslint-utils": { @@ -11512,196 +11637,180 @@ "node": ">=4" } }, - "node_modules/eslint/node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "node_modules/eslint/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", - "dev": true, - "peer": true - }, - "node_modules/eslint/node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "peer": true, "dependencies": { - "restore-cursor": "^2.0.0" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" }, "engines": { - "node": ">=4" + "node": ">=4.8" } }, - "node_modules/eslint/node_modules/cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true, - "peer": true - }, - "node_modules/eslint/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint/node_modules/external-editor": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", - "dev": true, - "peer": true, - "dependencies": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=0.12" - } - }, - "node_modules/eslint/node_modules/figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "peer": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/inquirer": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", - "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", - "dev": true, - "peer": true, - "dependencies": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.0.4", - "figures": "^2.0.0", - "lodash": "^4.3.0", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rx-lite": "^4.0.8", - "rx-lite-aggregates": "^4.0.8", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" - } - }, - "node_modules/eslint/node_modules/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, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/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, - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true, - "peer": true - }, - "node_modules/eslint/node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "peer": true, - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "peer": true, - "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/semver": { + "node_modules/eslint/node_modules/cross-spawn/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "peer": true, "bin": { "semver": "bin/semver" } }, - "node_modules/eslint/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "node_modules/eslint/node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "peer": true, "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "esutils": "^2.0.2" }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eslint/node_modules/eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/eslint/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, "engines": { "node": ">=4" } }, - "node_modules/espree": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", - "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "node_modules/eslint/node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true, + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/eslint/node_modules/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, - "peer": true, "dependencies": { - "acorn": "^5.5.0", - "acorn-jsx": "^3.0.0" + "shebang-regex": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, + "node_modules/eslint/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", @@ -11858,6 +11967,15 @@ "node": ">=4.8" } }, + "node_modules/execa/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/execa/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -11867,6 +11985,39 @@ "semver": "bin/semver" } }, + "node_modules/execa/node_modules/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, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/exenv": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", @@ -11931,6 +12082,18 @@ "node": ">=0.10.0" } }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/expand-brackets/node_modules/is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -11943,6 +12106,18 @@ "node": ">=0.10.0" } }, + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/expand-brackets/node_modules/is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", @@ -11957,7 +12132,7 @@ "node": ">=0.10.0" } }, - "node_modules/expand-brackets/node_modules/is-descriptor/node_modules/kind-of": { + "node_modules/expand-brackets/node_modules/kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", @@ -12159,17 +12334,6 @@ "node": ">=0.4.0" } }, - "node_modules/falafel/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/falafel/node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -12317,9 +12481,9 @@ "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" }, "node_modules/fecha": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz", - "integrity": "sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz", + "integrity": "sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==", "dev": true }, "node_modules/figgy-pudding": { @@ -12344,17 +12508,15 @@ } }, "node_modules/file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, - "peer": true, "dependencies": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" + "flat-cache": "^2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/file-loader": { @@ -12377,37 +12539,6 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/file-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/file-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/file-loader/node_modules/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 - }, "node_modules/file-loader/node_modules/loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -12479,15 +12610,6 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "dev": true }, - "node_modules/filelist": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", - "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==", - "dev": true, - "dependencies": { - "minimatch": "^3.0.4" - } - }, "node_modules/filesize": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz", @@ -12545,30 +12667,6 @@ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, - "node_modules/find-babel-config": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz", - "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==", - "dev": true, - "peer": true, - "dependencies": { - "json5": "^0.5.1", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/find-babel-config/node_modules/json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true, - "peer": true, - "bin": { - "json5": "lib/cli.js" - } - }, "node_modules/find-cache-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", @@ -12620,6 +12718,15 @@ "node": ">=6" } }, + "node_modules/find-cache-dir/node_modules/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, + "engines": { + "node": ">=4" + } + }, "node_modules/find-cache-dir/node_modules/pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", @@ -12639,25 +12746,19 @@ "dev": true }, "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "dependencies": { - "locate-path": "^5.0.0", + "locate-path": "^6.0.0", "path-exists": "^4.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/find-up/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/findup-sync": { @@ -12713,15 +12814,6 @@ "node": ">=0.10.0" } }, - "node_modules/findup-sync/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/findup-sync/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -12747,19 +12839,17 @@ } }, "node_modules/flat-cache": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", - "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, - "peer": true, "dependencies": { - "circular-json": "^0.3.1", - "graceful-fs": "^4.1.2", - "rimraf": "~2.6.2", - "write": "^0.2.1" + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/flat-cache/node_modules/rimraf": { @@ -12767,7 +12857,6 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, - "peer": true, "dependencies": { "glob": "^7.1.3" }, @@ -12809,6 +12898,30 @@ "readable-stream": "^2.3.6" } }, + "node_modules/flush-write-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/flush-write-stream/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/flux": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/flux/-/flux-4.0.1.tgz", @@ -12828,9 +12941,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz", - "integrity": "sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.0.tgz", + "integrity": "sha512-0vRwd7RKQBTt+mgu87mtYeofLFZpTas2S9zY+jIeuLJMNvudIgF52nr19q40HOwH5RrhWIPuj9puybzSJiRrVg==", "dev": true, "funding": [ { @@ -12857,9 +12970,9 @@ } }, "node_modules/for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "dependencies": { "for-in": "^1.0.1" @@ -12883,104 +12996,149 @@ } }, "node_modules/fork-ts-checker-webpack-plugin": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz", - "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==", + "version": "6.2.6", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.6.tgz", + "integrity": "sha512-f/oF2BFFPKEWQ3wgfq4bWALSDm7+f21shVONplo1xHKs1IdMfdmDa/aREgEurkIyrsyMFed42W7NVp4mh4DXzg==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.5.5", - "chalk": "^2.4.1", - "micromatch": "^3.1.10", + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", "minimatch": "^3.0.4", - "semver": "^5.6.0", - "tapable": "^1.0.0", - "worker-rpc": "^0.1.0" + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" }, "engines": { - "node": ">=6.11.5", + "node": ">=10", "yarn": ">=1.0.0" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", "dev": true, "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/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==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", "dev": true, "dependencies": { - "is-plain-object": "^2.0.4" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "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" + "yallist": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { - "semver": "bin/semver" + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/form-data": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", @@ -13044,6 +13202,30 @@ "readable-stream": "^2.0.0" } }, + "node_modules/from2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/from2/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -13071,6 +13253,12 @@ "node": ">= 8" } }, + "node_modules/fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, "node_modules/fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", @@ -13171,15 +13359,6 @@ "wide-align": "^1.1.0" } }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/gauge/node_modules/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", @@ -13206,18 +13385,6 @@ "node": ">=0.10.0" } }, - "node_modules/gauge/node_modules/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, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -13426,13 +13593,16 @@ "node": ">=6" } }, - "node_modules/global-prefix/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, "node_modules/globals": { @@ -13562,32 +13732,10 @@ "node": ">=6" } }, - "node_modules/har-validator/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/har-validator/node_modules/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 - }, "node_modules/harmony-reflect": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.1.tgz", - "integrity": "sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", "dev": true }, "node_modules/has": { @@ -13772,6 +13920,15 @@ } ] }, + "node_modules/hash-base/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/hash.js": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", @@ -13825,9 +13982,9 @@ "dev": true }, "node_modules/highlight.js": { - "version": "10.7.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.1.tgz", - "integrity": "sha512-S6G97tHGqJ/U8DsXcEdnACbirtbx58Bx9CzIVeYli8OuswCfYI/LsXH2EiGcoGio1KAC3x4mmUwulOllJ2ZyRA==", + "version": "10.7.2", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.2.tgz", + "integrity": "sha512-oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg==", "engines": { "node": "*" } @@ -13869,20 +14026,6 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, - "node_modules/home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dev": true, - "peer": true, - "dependencies": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/homedir-polyfill": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", @@ -13905,9 +14048,9 @@ } }, "node_modules/hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "node_modules/hpack.js": { @@ -13922,6 +14065,30 @@ "wbuf": "^1.1.0" } }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/hpack.js/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/hsl-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", @@ -13934,12 +14101,6 @@ "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", "dev": true }, - "node_modules/html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", - "dev": true - }, "node_modules/html-encoding-sniffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", @@ -14024,9 +14185,9 @@ } }, "node_modules/html-minifier-terser/node_modules/tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", "dev": true }, "node_modules/html-minifier/node_modules/commander": { @@ -14121,27 +14282,6 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=" }, - "node_modules/htmlparser2/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "node_modules/htmlparser2/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/htmlparser2/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -14243,15 +14383,6 @@ "node": ">=0.10.0" } }, - "node_modules/http-proxy-middleware/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/http-proxy-middleware/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -14321,45 +14452,6 @@ "node": ">= 6" } }, - "node_modules/icss-utils/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/icss-utils/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/identity-obj-proxy": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", @@ -14516,6 +14608,15 @@ "node": ">=6" } }, + "node_modules/import-local/node_modules/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, + "engines": { + "node": ">=4" + } + }, "node_modules/import-local/node_modules/pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", @@ -14549,7 +14650,8 @@ "node_modules/indexes-of": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true }, "node_modules/infer-owner": { "version": "1.0.4", @@ -14635,9 +14737,9 @@ } }, "node_modules/inquirer/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", "dev": true, "dependencies": { "ansi-styles": "^4.1.0", @@ -14650,24 +14752,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/inquirer/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/inquirer/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/inquirer/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -14790,15 +14874,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-alphabetical": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", @@ -14924,9 +14999,9 @@ } }, "node_modules/is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.3.0.tgz", + "integrity": "sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw==", "dependencies": { "has": "^1.0.3" }, @@ -14946,15 +15021,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-date-object": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", @@ -14990,15 +15056,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-descriptor/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-directory": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", @@ -15009,9 +15066,9 @@ } }, "node_modules/is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", - "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, "bin": { "is-docker": "cli.js" @@ -15041,19 +15098,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -15145,6 +15189,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", @@ -15277,18 +15333,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", - "dev": true, - "dependencies": { - "html-comment-regex": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/is-symbol": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", @@ -15466,24 +15510,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jake": { - "version": "10.8.2", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", - "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", - "dev": true, - "dependencies": { - "async": "0.9.x", - "chalk": "^2.4.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - }, - "bin": { - "jake": "bin/cli.js" - }, - "engines": { - "node": "*" - } - }, "node_modules/jest": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", @@ -15604,6 +15630,15 @@ "node": ">=6" } }, + "node_modules/jest-cli/node_modules/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, + "engines": { + "node": ">=4" + } + }, "node_modules/jest-cli/node_modules/string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -15738,15 +15773,6 @@ "node": ">=0.10.0" } }, - "node_modules/jest-config/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/jest-config/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -16027,15 +16053,6 @@ "node": ">=0.10.0" } }, - "node_modules/jest-haste-map/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/jest-haste-map/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -16172,15 +16189,6 @@ "node": ">=0.10.0" } }, - "node_modules/jest-message-util/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/jest-message-util/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -16403,6 +16411,15 @@ "node": ">=6" } }, + "node_modules/jest-runtime/node_modules/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, + "engines": { + "node": ">=4" + } + }, "node_modules/jest-runtime/node_modules/string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -16726,6 +16743,18 @@ "xml-name-validator": "^3.0.0" } }, + "node_modules/jsdom/node_modules/acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/jsdom/node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", @@ -16762,28 +16791,6 @@ "jshint": "bin/jshint" } }, - "node_modules/jshint/node_modules/shelljs": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", - "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/jshint/node_modules/strip-json-comments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", - "bin": { - "strip-json-comments": "cli.js" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -16803,11 +16810,10 @@ "dev": true }, "node_modules/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, - "peer": true + "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 }, "node_modules/json-stable-stringify": { "version": "1.0.1", @@ -16924,13 +16930,10 @@ "dev": true }, "node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, "engines": { "node": ">=0.10.0" } @@ -16953,6 +16956,15 @@ "node": ">=6" } }, + "node_modules/klona": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", + "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/koalas": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/koalas/-/koalas-1.0.2.tgz", @@ -17211,15 +17223,18 @@ } }, "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "dependencies": { - "p-locate": "^4.1.0" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/lodash": { @@ -17493,14 +17508,10 @@ } }, "node_modules/markdown-to-jsx": { - "version": "6.11.4", - "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz", - "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.1.2.tgz", + "integrity": "sha512-O8DMCl32V34RrD+ZHxcAPc2+kYytuDIoQYjY36RVdsLK7uHjgNVvFec4yv0X6LgB4YEZgSvK5QtFi5YVqEpoMA==", "dev": true, - "dependencies": { - "prop-types": "^15.6.2", - "unquote": "^1.1.0" - }, "engines": { "node": ">= 4" }, @@ -17508,12 +17519,6 @@ "react": ">= 0.14.0" } }, - "node_modules/material-colors": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz", - "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==", - "dev": true - }, "node_modules/math-expression-evaluator": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.3.7.tgz", @@ -17557,6 +17562,18 @@ "node": ">= 0.6" } }, + "node_modules/memfs": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.2.2.tgz", + "integrity": "sha512-RE0CwmIM3CEvpcdK3rZ19BC4E6hv9kADkMN5rPduRak58cNArWLi/9jFLsa4rhsjfVxMP3v0jO7FHXq7SvFY5Q==", + "dev": true, + "dependencies": { + "fs-monkey": "1.0.3" + }, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/memoizerific": { "version": "1.11.3", "resolved": "https://registry.npmjs.org/memoizerific/-/memoizerific-1.11.3.tgz", @@ -17576,6 +17593,30 @@ "readable-stream": "^2.0.1" } }, + "node_modules/memory-fs/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/memory-fs/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/merge-deep": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.3.tgz", @@ -17606,13 +17647,13 @@ "node": ">=0.10.0" } }, - "node_modules/merge-deep/node_modules/for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "node_modules/merge-deep/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "dependencies": { - "for-in": "^1.0.1" + "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" @@ -17716,16 +17757,16 @@ "dev": true }, "node_modules/micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "dev": true, "dependencies": { "braces": "^3.0.1", - "picomatch": "^2.0.5" + "picomatch": "^2.2.3" }, "engines": { - "node": ">=8" + "node": ">=8.6" } }, "node_modules/micromatch/node_modules/braces": { @@ -17805,21 +17846,21 @@ } }, "node_modules/mime-db": { - "version": "1.46.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", - "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==", + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.29", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", - "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", + "version": "2.1.30", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", + "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", "dev": true, "dependencies": { - "mime-db": "1.46.0" + "mime-db": "1.47.0" }, "engines": { "node": ">= 0.6" @@ -17870,37 +17911,6 @@ "webpack": "^4.4.0" } }, - "node_modules/mini-css-extract-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/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 - }, "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -17966,12 +17976,6 @@ "node": ">= 4" } }, - "node_modules/minio/node_modules/async": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", - "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==", - "dev": true - }, "node_modules/minipass": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", @@ -18066,6 +18070,30 @@ "node": ">=4.0.0" } }, + "node_modules/mississippi/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/mississippi/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/mississippi/node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -18136,9 +18164,9 @@ } }, "node_modules/mobx": { - "version": "6.1.8", - "resolved": "https://registry.npmjs.org/mobx/-/mobx-6.1.8.tgz", - "integrity": "sha512-U4yCvUeh6yKXRwFxm2lyJjXPVekOEar/R8ZKWAXem/3fthJqYflViawfjDAUh7lZEvbKqljC3NT/pSaUKpE+gg==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/mobx/-/mobx-6.3.0.tgz", + "integrity": "sha512-Aa1+VXsg4WxqJMTQfWoYuJi5UD10VZhiobSmcs5kcmI3BIT0aVtn7DysvCeDADCzl7dnbX+0BTHUj/v7gLlZpQ==", "funding": { "type": "opencollective", "url": "https://opencollective.com/mobx" @@ -18311,15 +18339,6 @@ "node": ">=0.10.0" } }, - "node_modules/nanomatch/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/native-url": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/native-url/-/native-url-0.2.6.tgz", @@ -18471,6 +18490,59 @@ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true }, + "node_modules/node-libs-browser/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/node-libs-browser/node_modules/readable-stream/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/node-libs-browser/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/node-libs-browser/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/node-libs-browser/node_modules/url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", @@ -18527,6 +18599,18 @@ "semver": "bin/semver" } }, + "node_modules/node-notifier/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/node-releases": { "version": "1.1.71", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", @@ -18585,19 +18669,6 @@ "node": ">=4" } }, - "node_modules/normalize-url/node_modules/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, - "dependencies": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/normalize.css": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", @@ -18615,6 +18686,15 @@ "node": ">=4" } }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/npmlog": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", @@ -18746,6 +18826,18 @@ "node": ">=0.10.0" } }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object-hash": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.1.1.tgz", @@ -18755,9 +18847,9 @@ } }, "node_modules/object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.2.tgz", + "integrity": "sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -19064,16 +19156,6 @@ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, - "node_modules/os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -19183,15 +19265,33 @@ } }, "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "dependencies": { - "p-limit": "^2.2.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-map": { @@ -19265,6 +19365,30 @@ "readable-stream": "^2.1.5" } }, + "node_modules/parallel-transform/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/parallel-transform/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/param-case": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", @@ -19399,9 +19523,9 @@ } }, "node_modules/pascal-case/node_modules/tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", "dev": true }, "node_modules/pascalcase": { @@ -19426,12 +19550,12 @@ "dev": true }, "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/path-is-absolute": { @@ -19449,12 +19573,12 @@ "dev": true }, "node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/path-parse": { @@ -19478,9 +19602,9 @@ } }, "node_modules/pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, "dependencies": { "create-hash": "^1.1.2", @@ -19499,9 +19623,9 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "node_modules/picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", + "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", "dev": true, "engines": { "node": ">=8.6" @@ -19553,15 +19677,15 @@ } }, "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", "dev": true, "dependencies": { - "find-up": "^4.0.0" + "find-up": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/pkg-up": { @@ -19634,12 +19758,11 @@ "node": ">=4" } }, - "node_modules/pluralize": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", - "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "node_modules/pkg-up/node_modules/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, - "peer": true, "engines": { "node": ">=4" } @@ -19672,12 +19795,12 @@ } }, "node_modules/polished": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/polished/-/polished-3.7.1.tgz", - "integrity": "sha512-/QgHrNGYwIA4mwxJ/7FSvalUJsm7KNfnXiScVSEG2Xa5qxDeBn4nmdjN2pW00mkM2Tts64ktc47U8F7Ed1BRAA==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.2.tgz", + "integrity": "sha512-jq4t3PJUpVRcveC53nnbEX35VyQI05x3tniwp26WFdm1dwaNUBHAi5awa/roBlwQxx1uRhwNSYeAi/aMbfiJCQ==", "dev": true, "dependencies": { - "@babel/runtime": "^7.12.5" + "@babel/runtime": "^7.13.17" }, "engines": { "node": ">=10" @@ -19735,33 +19858,9 @@ } }, "node_modules/postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dependencies": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/postcss-attribute-case-insensitive": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", - "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", - "dev": true, - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^6.0.2" - } - }, - "node_modules/postcss-attribute-case-insensitive/node_modules/postcss": { "version": "7.0.35", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, "dependencies": { "chalk": "^2.4.2", "source-map": "^0.6.1", @@ -19775,25 +19874,14 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/postcss-attribute-case-insensitive/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-attribute-case-insensitive/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "node_modules/postcss-attribute-case-insensitive": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", + "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" + "postcss": "^7.0.2", + "postcss-selector-parser": "^6.0.2" } }, "node_modules/postcss-browser-comments": { @@ -19811,45 +19899,6 @@ "browserslist": "^4" } }, - "node_modules/postcss-browser-comments/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-browser-comments/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-browser-comments/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-calc": { "version": "7.0.5", "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", @@ -19861,51 +19910,12 @@ "postcss-value-parser": "^4.0.2" } }, - "node_modules/postcss-calc/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, "node_modules/postcss-calc/node_modules/postcss-value-parser": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "dev": true }, - "node_modules/postcss-calc/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-calc/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-color-functional-notation": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", @@ -19919,45 +19929,6 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-color-functional-notation/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-color-functional-notation/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-color-functional-notation/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-color-gray": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", @@ -19972,45 +19943,6 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-color-gray/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-color-gray/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-color-gray/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-color-hex-alpha": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", @@ -20024,45 +19956,6 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-color-hex-alpha/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-color-hex-alpha/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-color-hex-alpha/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-color-mod-function": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", @@ -20077,45 +19970,6 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-color-mod-function/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-color-mod-function/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-color-mod-function/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-color-rebeccapurple": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", @@ -20129,45 +19983,6 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-color-rebeccapurple/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-color-rebeccapurple/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-color-rebeccapurple/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-colormin": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", @@ -20184,45 +19999,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-colormin/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-colormin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-colormin/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-convert-values": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", @@ -20236,45 +20012,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-convert-values/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-convert-values/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-convert-values/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-custom-media": { "version": "7.0.8", "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", @@ -20287,45 +20024,6 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-custom-media/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-custom-media/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-custom-media/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-custom-properties": { "version": "8.0.11", "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", @@ -20339,45 +20037,6 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-custom-properties/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-custom-properties/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-custom-properties/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-custom-selectors": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", @@ -20403,24 +20062,6 @@ "node": ">=4" } }, - "node_modules/postcss-custom-selectors/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", @@ -20435,27 +20076,6 @@ "node": ">=4" } }, - "node_modules/postcss-custom-selectors/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-custom-selectors/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-dir-pseudo-class": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", @@ -20481,24 +20101,6 @@ "node": ">=4" } }, - "node_modules/postcss-dir-pseudo-class/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", @@ -20513,27 +20115,6 @@ "node": ">=4" } }, - "node_modules/postcss-dir-pseudo-class/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-dir-pseudo-class/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-discard-comments": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", @@ -20546,45 +20127,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-discard-comments/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-discard-comments/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-discard-comments/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-discard-duplicates": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", @@ -20597,45 +20139,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-discard-duplicates/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-discard-duplicates/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-discard-duplicates/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-discard-empty": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", @@ -20648,45 +20151,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-discard-empty/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-discard-empty/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-discard-empty/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-discard-overridden": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", @@ -20699,45 +20163,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-discard-overridden/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-discard-overridden/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-discard-overridden/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-double-position-gradients": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", @@ -20751,45 +20176,6 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-double-position-gradients/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-double-position-gradients/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-double-position-gradients/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-env-function": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", @@ -20803,45 +20189,6 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-env-function/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-env-function/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-env-function/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-flexbugs-fixes": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz", @@ -20851,45 +20198,6 @@ "postcss": "^7.0.26" } }, - "node_modules/postcss-flexbugs-fixes/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-flexbugs-fixes/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-flexbugs-fixes/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-focus-visible": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", @@ -20902,45 +20210,6 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-focus-visible/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-focus-visible/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-focus-visible/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-focus-within": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", @@ -20953,45 +20222,6 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-focus-within/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-focus-within/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-focus-within/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-font-variant": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", @@ -21001,45 +20231,6 @@ "postcss": "^7.0.2" } }, - "node_modules/postcss-font-variant/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-font-variant/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-font-variant/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-functions": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-functions/-/postcss-functions-3.0.0.tgz", @@ -21051,6 +20242,27 @@ "postcss-value-parser": "^3.3.0" } }, + "node_modules/postcss-functions/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-functions/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/postcss-gap-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", @@ -21063,45 +20275,6 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-gap-properties/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-gap-properties/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-gap-properties/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-image-set-function": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", @@ -21115,45 +20288,6 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-image-set-function/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-image-set-function/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-image-set-function/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-import": { "version": "12.0.1", "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.1.tgz", @@ -21169,94 +20303,15 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-import/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-import/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-import/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-initial": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.2.tgz", - "integrity": "sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz", + "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==", "dev": true, "dependencies": { - "lodash.template": "^4.5.0", "postcss": "^7.0.2" } }, - "node_modules/postcss-initial/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-initial/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-initial/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-inline-svg": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/postcss-inline-svg/-/postcss-inline-svg-3.1.1.tgz", @@ -21294,6 +20349,20 @@ "readable-stream": "^3.1.1" } }, + "node_modules/postcss-inline-svg/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/postcss-inline-svg/node_modules/readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", @@ -21308,6 +20377,44 @@ "node": ">= 6" } }, + "node_modules/postcss-inline-svg/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/postcss-inline-svg/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-inline-svg/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/postcss-js": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-2.0.3.tgz", @@ -21317,42 +20424,6 @@ "postcss": "^7.0.18" } }, - "node_modules/postcss-js/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-js/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-js/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-lab-function": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", @@ -21367,45 +20438,6 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-lab-function/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-lab-function/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-lab-function/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-load-config": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", @@ -21423,18 +20455,6 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/postcss-load-config/node_modules/caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "dependencies": { - "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/postcss-load-config/node_modules/cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", @@ -21500,55 +20520,6 @@ "node": ">= 6" } }, - "node_modules/postcss-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/postcss-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/postcss-loader/node_modules/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 - }, - "node_modules/postcss-loader/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, "node_modules/postcss-loader/node_modules/schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -21563,27 +20534,6 @@ "node": ">= 4" } }, - "node_modules/postcss-loader/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-loader/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-logical": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", @@ -21596,45 +20546,6 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-logical/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-logical/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-logical/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-media-minmax": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", @@ -21647,45 +20558,6 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-media-minmax/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-media-minmax/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-media-minmax/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-merge-longhand": { "version": "4.0.11", "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", @@ -21701,45 +20573,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-merge-longhand/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-merge-longhand/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-merge-longhand/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-merge-rules": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", @@ -21757,24 +20590,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-merge-rules/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", @@ -21789,27 +20604,6 @@ "node": ">=8" } }, - "node_modules/postcss-merge-rules/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-merge-rules/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-minify-font-values": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", @@ -21823,45 +20617,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-minify-font-values/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-minify-font-values/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-minify-font-values/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-minify-gradients": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", @@ -21877,45 +20632,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-minify-gradients/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-minify-gradients/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-minify-gradients/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-minify-params": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", @@ -21933,45 +20649,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-minify-params/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-minify-params/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-minify-params/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-minify-selectors": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", @@ -21987,24 +20664,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-minify-selectors/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", @@ -22019,27 +20678,6 @@ "node": ">=8" } }, - "node_modules/postcss-minify-selectors/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-minify-selectors/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-mixins": { "version": "6.2.3", "resolved": "https://registry.npmjs.org/postcss-mixins/-/postcss-mixins-6.2.3.tgz", @@ -22157,15 +20795,6 @@ "node": ">=0.10.0" } }, - "node_modules/postcss-mixins/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/postcss-mixins/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -22202,24 +20831,6 @@ "node": ">=4" } }, - "node_modules/postcss-mixins/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, "node_modules/postcss-mixins/node_modules/postcss-simple-vars": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-simple-vars/-/postcss-simple-vars-5.0.2.tgz", @@ -22238,27 +20849,6 @@ "node": ">=0.10.0" } }, - "node_modules/postcss-mixins/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-mixins/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-modules-extract-imports": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", @@ -22271,45 +20861,6 @@ "node": ">= 6" } }, - "node_modules/postcss-modules-extract-imports/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-modules-extract-imports/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-modules-extract-imports/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-modules-local-by-default": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", @@ -22325,51 +20876,12 @@ "node": ">= 6" } }, - "node_modules/postcss-modules-local-by-default/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, "node_modules/postcss-modules-local-by-default/node_modules/postcss-value-parser": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "dev": true }, - "node_modules/postcss-modules-local-by-default/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-modules-local-by-default/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-modules-scope": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", @@ -22383,45 +20895,6 @@ "node": ">= 6" } }, - "node_modules/postcss-modules-scope/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-modules-scope/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-modules-scope/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-modules-values": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", @@ -22432,45 +20905,6 @@ "postcss": "^7.0.6" } }, - "node_modules/postcss-modules-values/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-modules-values/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-modules-values/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-nested": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-4.2.3.tgz", @@ -22480,42 +20914,6 @@ "postcss-selector-parser": "^6.0.2" } }, - "node_modules/postcss-nested/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-nested/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-nested/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-nesting": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-4.2.1.tgz", @@ -22528,6 +20926,29 @@ "node": ">=4.0.0" } }, + "node_modules/postcss-nesting/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-nesting/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/postcss-normalize": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-8.0.1.tgz", @@ -22556,45 +20977,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-normalize-charset/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-normalize-charset/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-normalize-charset/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-normalize-display-values": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", @@ -22609,45 +20991,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-normalize-display-values/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-normalize-display-values/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-normalize-display-values/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-normalize-positions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", @@ -22663,45 +21006,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-normalize-positions/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-normalize-positions/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-normalize-positions/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-normalize-repeat-style": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", @@ -22717,45 +21021,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-normalize-repeat-style/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-normalize-repeat-style/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-normalize-repeat-style/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-normalize-string": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", @@ -22770,45 +21035,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-normalize-string/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-normalize-string/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-normalize-string/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-normalize-timing-functions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", @@ -22823,45 +21049,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-normalize-timing-functions/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-normalize-timing-functions/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-normalize-timing-functions/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-normalize-unicode": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", @@ -22876,45 +21063,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-normalize-unicode/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-normalize-unicode/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-normalize-unicode/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-normalize-url": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", @@ -22939,45 +21087,6 @@ "node": ">=6" } }, - "node_modules/postcss-normalize-url/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-normalize-url/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-normalize-url/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-normalize-whitespace": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", @@ -22991,84 +21100,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-normalize-whitespace/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-normalize-whitespace/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-normalize-whitespace/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/postcss-normalize/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-normalize/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-normalize/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-ordered-values": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", @@ -23083,45 +21114,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-ordered-values/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-ordered-values/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-ordered-values/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-overflow-shorthand": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", @@ -23134,45 +21126,6 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-overflow-shorthand/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-overflow-shorthand/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-overflow-shorthand/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-page-break": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", @@ -23182,45 +21135,6 @@ "postcss": "^7.0.2" } }, - "node_modules/postcss-page-break/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-page-break/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-page-break/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-place": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", @@ -23234,45 +21148,6 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-place/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-place/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-place/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-preset-env": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", @@ -23343,24 +21218,6 @@ "url": "https://tidelift.com/funding/github/npm/autoprefixer" } }, - "node_modules/postcss-preset-env/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, "node_modules/postcss-preset-env/node_modules/postcss-nesting": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", @@ -23379,27 +21236,6 @@ "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "dev": true }, - "node_modules/postcss-preset-env/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-preset-env/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-pseudo-class-any-link": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", @@ -23425,24 +21261,6 @@ "node": ">=4" } }, - "node_modules/postcss-pseudo-class-any-link/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", @@ -23457,27 +21275,6 @@ "node": ">=4" } }, - "node_modules/postcss-pseudo-class-any-link/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-pseudo-class-any-link/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-reduce-initial": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", @@ -23493,45 +21290,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-reduce-initial/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-reduce-initial/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-reduce-initial/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-reduce-transforms": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", @@ -23547,45 +21305,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-reduce-transforms/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-reduce-transforms/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-reduce-transforms/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-replace-overflow-wrap": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", @@ -23595,45 +21314,6 @@ "postcss": "^7.0.2" } }, - "node_modules/postcss-replace-overflow-wrap/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-replace-overflow-wrap/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-replace-overflow-wrap/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-safe-parser": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz", @@ -23646,45 +21326,6 @@ "node": ">=6.0.0" } }, - "node_modules/postcss-safe-parser/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-safe-parser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-safe-parser/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-selector-matches": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", @@ -23695,45 +21336,6 @@ "postcss": "^7.0.2" } }, - "node_modules/postcss-selector-matches/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-selector-matches/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-selector-matches/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-selector-not": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", @@ -23744,53 +21346,12 @@ "postcss": "^7.0.2" } }, - "node_modules/postcss-selector-not/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-selector-not/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-selector-not/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.5.tgz", + "integrity": "sha512-aFYPoYmXbZ1V6HZaSvat08M97A8HqO6Pjz+PiNpw/DhuRrC72XWAdp3hL6wusDCN31sSmcZyMGa2hZEuX+Xfhg==", "dependencies": { "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", "util-deprecate": "^1.0.2" }, "engines": { @@ -23806,40 +21367,21 @@ "postcss": "^6.0.9" } }, - "node_modules/postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "node_modules/postcss-simple-vars/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "dependencies": { - "is-svg": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/postcss-svgo/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", + "chalk": "^2.4.1", "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "supports-color": "^5.4.0" }, "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">=4.0.0" } }, - "node_modules/postcss-svgo/node_modules/source-map": { + "node_modules/postcss-simple-vars/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", @@ -23848,16 +21390,18 @@ "node": ">=0.10.0" } }, - "node_modules/postcss-svgo/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "node_modules/postcss-svgo": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", + "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">=6.9.0" } }, "node_modules/postcss-unique-selectors": { @@ -23874,45 +21418,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-unique-selectors/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-unique-selectors/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss-unique-selectors/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", @@ -23940,6 +21445,17 @@ "node": ">=0.10.0" } }, + "node_modules/postcss/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", @@ -24017,16 +21533,6 @@ "clipboard": "^2.0.0" } }, - "node_modules/private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -24184,20 +21690,6 @@ "node": ">=4.0.0" } }, - "node_modules/prompt-choices/node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/prompt-choices/node_modules/define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", @@ -24220,27 +21712,6 @@ "node": ">=0.10.0" } }, - "node_modules/prompt-choices/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/prompt-choices/node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/prompt-confirm": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/prompt-confirm/-/prompt-confirm-2.0.4.tgz", @@ -24272,6 +21743,21 @@ "node": ">=4.0.0" } }, + "node_modules/prompt-question/node_modules/clone-deep": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-1.0.0.tgz", + "integrity": "sha512-hmJRX8x1QOJVV+GUjOBzi6iauhPqc9hIF6xitWRBbiPZOBb6vGo/mDRIK9P74RTKSQK7AE8B0DDWY/vpRrPmQw==", + "dev": true, + "dependencies": { + "for-own": "^1.0.0", + "is-plain-object": "^2.0.4", + "kind-of": "^5.0.0", + "shallow-clone": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/prompt-question/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", @@ -24281,6 +21767,18 @@ "ms": "^2.1.1" } }, + "node_modules/prompt-question/node_modules/for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/prompt-question/node_modules/kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", @@ -24290,10 +21788,24 @@ "node": ">=0.10.0" } }, + "node_modules/prompt-question/node_modules/shallow-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", + "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.1", + "kind-of": "^5.0.0", + "mixin-object": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/prompts": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", - "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", + "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", "dev": true, "dependencies": { "kleur": "^3.0.3", @@ -24350,13 +21862,6 @@ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", "dev": true }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true, - "peer": true - }, "node_modules/psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -24511,6 +22016,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/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, + "dependencies": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", @@ -24568,6 +22086,28 @@ "quote-stream": "bin/cmd.js" } }, + "node_modules/quote-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "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" + } + }, + "node_modules/quote-stream/node_modules/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==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/quote-stream/node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -24668,37 +22208,6 @@ "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/raw-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/raw-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/raw-loader/node_modules/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 - }, "node_modules/raw-loader/node_modules/loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -24871,11 +22380,11 @@ } }, "node_modules/react-circular-progressbar": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/react-circular-progressbar/-/react-circular-progressbar-2.0.3.tgz", - "integrity": "sha512-YKN+xAShXA3gYihevbQZbavfiJxo83Dt1cUxqg/cltj4VVsRQpDr7Fg1mvjDG3x1KHGtd9NmYKvJ2mMrPwbKyw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/react-circular-progressbar/-/react-circular-progressbar-2.0.4.tgz", + "integrity": "sha512-OfX0ThSxRYEVGaQSt0DlXfyl5w4DbXHsXetyeivmoQrh9xA9bzVPHNf8aAhOIiwiaxX2WYWpLDB3gcpsDJ9oww==", "peerDependencies": { - "react": "^0.14.0 || ^15.0.0 || ^16.0.0" + "react": "^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, "node_modules/react-codemirror2": { @@ -24887,22 +22396,14 @@ "react": ">=15.5 <=16.x" } }, - "node_modules/react-color": { - "version": "2.19.3", - "resolved": "https://registry.npmjs.org/react-color/-/react-color-2.19.3.tgz", - "integrity": "sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==", + "node_modules/react-colorful": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.1.4.tgz", + "integrity": "sha512-WOEpRNz8Oo2SEU4eYQ279jEKFSjpFPa9Vi2U/K0DGwP9wOQ8wYkJcNSd5Qbv1L8OFvyKDCbWekjftXaU5mbmtg==", "dev": true, - "dependencies": { - "@icons/material": "^0.2.4", - "lodash": "^4.17.15", - "lodash-es": "^4.17.15", - "material-colors": "^1.2.1", - "prop-types": "^15.5.10", - "reactcss": "^1.2.0", - "tinycolor2": "^1.4.1" - }, "peerDependencies": { - "react": "*" + "react": ">=16.8.0", + "react-dom": ">=16.8.0" } }, "node_modules/react-confirm": { @@ -25044,18 +22545,17 @@ "url": "https://tidelift.com/funding/github/npm/browserslist" } }, - "node_modules/react-dev-utils/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/react-dev-utils/node_modules/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, "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "engines": { - "node": ">= 8" + "node": ">=0.10.0" } }, "node_modules/react-dev-utils/node_modules/dir-glob": { @@ -25079,6 +22579,51 @@ "node": ">=8" } }, + "node_modules/react-dev-utils/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dev-utils/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/fork-ts-checker-webpack-plugin": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz", + "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.5.5", + "chalk": "^2.4.1", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" + }, + "engines": { + "node": ">=6.11.5", + "yarn": ">=1.0.0" + } + }, "node_modules/react-dev-utils/node_modules/globby": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", @@ -25108,6 +22653,18 @@ "node": ">= 4" } }, + "node_modules/react-dev-utils/node_modules/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, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/react-dev-utils/node_modules/loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -25123,35 +22680,49 @@ } }, "node_modules/react-dev-utils/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=6" + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "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" + }, + "engines": { + "node": ">=0.10.0" } }, "node_modules/react-dev-utils/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { - "p-limit": "^2.0.0" + "p-limit": "^2.2.0" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/react-dev-utils/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, "engines": { "node": ">=8" } @@ -25180,25 +22751,60 @@ "node": ">=6" } }, - "node_modules/react-dev-utils/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "node_modules/react-dev-utils/node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "dependencies": { - "shebang-regex": "^3.0.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/react-dev-utils/node_modules/shebang-regex": { + "node_modules/react-dev-utils/node_modules/pkg-up/node_modules/p-locate": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/react-dev-utils/node_modules/pkg-up/node_modules/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, "engines": { - "node": ">=8" + "node": ">=4" + } + }, + "node_modules/react-dev-utils/node_modules/prompts": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", + "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/react-dev-utils/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" } }, "node_modules/react-dev-utils/node_modules/slash": { @@ -25222,21 +22828,6 @@ "node": ">=8" } }, - "node_modules/react-dev-utils/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/react-dnd": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/react-dnd/-/react-dnd-2.6.0.tgz", @@ -25289,9 +22880,9 @@ } }, "node_modules/react-docgen-typescript": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-1.21.0.tgz", - "integrity": "sha512-E4y/OcXwHukgiVafCGlxwoNHr4BDmM70Ww7oimL/QkMo5dmGALhceewe/xmVjdMxxI7E5syOGOc9/tbHL742rg==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-1.22.0.tgz", + "integrity": "sha512-MPLbF8vzRwAG3GcjdL+OHQlhgtWsLTXs+7uJiHfEeT3Ur7IsZaNYqRTLQ9sj2nB6M6jylcPCeCmH7qbszJmecg==", "dev": true, "peerDependencies": { "typescript": ">= 3.x" @@ -25314,9 +22905,9 @@ } }, "node_modules/react-docgen-typescript-plugin/node_modules/tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", "dev": true }, "node_modules/react-docgen/node_modules/commander": { @@ -25414,18 +23005,6 @@ "react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/react-hotkeys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/react-hotkeys/-/react-hotkeys-2.0.0.tgz", - "integrity": "sha512-3n3OU8vLX/pfcJrR3xJ1zlww6KS1kEJt0Whxc4FiGV+MJrQ1mYSYI3qS/11d2MJDFm8IhOXMTFQirfu6AVOF6Q==", - "dev": true, - "dependencies": { - "prop-types": "^15.6.1" - }, - "peerDependencies": { - "react": ">= 0.14.0" - } - }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -25532,9 +23111,9 @@ } }, "node_modules/react-popper-tooltip/node_modules/react-popper": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.2.4.tgz", - "integrity": "sha512-NacOu4zWupdQjVXq02XpTD3yFPSfg5a7fex0wa3uGKVkFK7UN6LvVxgcb+xYr56UCuWiNPMH20tntdVdJRwYew==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.2.5.tgz", + "integrity": "sha512-kxGkS80eQGtLl18+uig1UIf9MKixFSyPxglsgLBxlYnyDf65BiY9B3nZSc6C9XUNDgStROB0fMQlTEz1KxGddw==", "dev": true, "dependencies": { "react-fast-compare": "^3.0.1", @@ -25777,61 +23356,6 @@ "node": ">= 6" } }, - "node_modules/react-scripts/node_modules/@typescript-eslint/eslint-plugin": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", - "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/experimental-utils": "2.34.0", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "tsutils": "^3.17.1" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^2.0.0", - "eslint": "^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/react-scripts/node_modules/@typescript-eslint/parser": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", - "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", - "dev": true, - "dependencies": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.34.0", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "node_modules/react-scripts/node_modules/@webassemblyjs/ast": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", @@ -26009,9 +23533,9 @@ } }, "node_modules/react-scripts/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -26020,40 +23544,6 @@ "node": ">=0.4.0" } }, - "node_modules/react-scripts/node_modules/acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/react-scripts/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/react-scripts/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, "node_modules/react-scripts/node_modules/aria-query": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", @@ -26141,18 +23631,6 @@ "node": ">= 8" } }, - "node_modules/react-scripts/node_modules/cacache/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, "node_modules/react-scripts/node_modules/case-sensitive-paths-webpack-plugin": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz", @@ -26193,6 +23671,18 @@ "node": ">=6" } }, + "node_modules/react-scripts/node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/react-scripts/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -26200,28 +23690,17 @@ "dev": true }, "node_modules/react-scripts/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", "dev": true, "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=4.8" - } - }, - "node_modules/react-scripts/node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" + "node": ">= 8" } }, "node_modules/react-scripts/node_modules/css-loader": { @@ -26313,116 +23792,6 @@ "node": ">=8" } }, - "node_modules/react-scripts/node_modules/eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/react-scripts/node_modules/eslint-config-react-app": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz", - "integrity": "sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==", - "dev": true, - "dependencies": { - "confusing-browser-globals": "^1.0.9" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "2.x", - "@typescript-eslint/parser": "2.x", - "babel-eslint": "10.x", - "eslint": "6.x", - "eslint-plugin-flowtype": "3.x || 4.x", - "eslint-plugin-import": "2.x", - "eslint-plugin-jsx-a11y": "6.x", - "eslint-plugin-react": "7.x", - "eslint-plugin-react-hooks": "1.x || 2.x" - } - }, - "node_modules/react-scripts/node_modules/eslint-loader": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-3.0.3.tgz", - "integrity": "sha512-+YRqB95PnNvxNp1HEjQmvf9KNvCin5HXYYseOXVC2U0KEcw4IkQ2IQEBG46j7+gW39bMzeu0GsUhVbBY3Votpw==", - "deprecated": "This loader has been deprecated. Please use eslint-webpack-plugin", - "dev": true, - "dependencies": { - "fs-extra": "^8.1.0", - "loader-fs-cache": "^1.0.2", - "loader-utils": "^1.2.3", - "object-hash": "^2.0.1", - "schema-utils": "^2.6.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0", - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/react-scripts/node_modules/eslint-plugin-flowtype": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-4.6.0.tgz", - "integrity": "sha512-W5hLjpFfZyZsXfo5anlu7HM970JBDqbEshAJUkeczP6BFCIfJXuiIBQXyberLRtOStT0OGPF8efeTbxlHk4LpQ==", - "dev": true, - "dependencies": { - "lodash": "^4.17.15" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": ">=6.1.0" - } - }, "node_modules/react-scripts/node_modules/eslint-plugin-import": { "version": "2.20.1", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.1.tgz", @@ -26458,19 +23827,6 @@ "ms": "2.0.0" } }, - "node_modules/react-scripts/node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "dependencies": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/react-scripts/node_modules/eslint-plugin-import/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -26526,6 +23882,18 @@ "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" } }, + "node_modules/react-scripts/node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/react-scripts/node_modules/eslint-plugin-react/node_modules/resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", @@ -26540,63 +23908,16 @@ } }, "node_modules/react-scripts/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "dependencies": { - "esrecurse": "^4.3.0", + "esrecurse": "^4.1.0", "estraverse": "^4.1.1" }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/react-scripts/node_modules/eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/react-scripts/node_modules/eslint/node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/react-scripts/node_modules/eslint/node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true, - "engines": { - "node": ">=6.5.0" - } - }, - "node_modules/react-scripts/node_modules/espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "dev": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0" + "node": ">=4.0.0" } }, "node_modules/react-scripts/node_modules/extend-shallow": { @@ -26629,40 +23950,6 @@ "node": ">=4.0.0" } }, - "node_modules/react-scripts/node_modules/fast-glob/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/react-scripts/node_modules/fast-glob/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-scripts/node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "dependencies": { - "flat-cache": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/react-scripts/node_modules/file-loader": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz", @@ -26688,18 +23975,17 @@ "node": ">= 0.4.0" } }, - "node_modules/react-scripts/node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "node_modules/react-scripts/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/react-scripts/node_modules/fork-ts-checker-webpack-plugin": { @@ -26760,33 +24046,6 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/react-scripts/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/react-scripts/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "dependencies": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/react-scripts/node_modules/globby": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", @@ -26805,12 +24064,6 @@ "node": ">=4" } }, - "node_modules/react-scripts/node_modules/globby/node_modules/ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true - }, "node_modules/react-scripts/node_modules/globby/node_modules/pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", @@ -26820,6 +24073,15 @@ "node": ">=4" } }, + "node_modules/react-scripts/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/react-scripts/node_modules/html-webpack-plugin": { "version": "4.0.0-beta.11", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.11.tgz", @@ -26841,15 +24103,6 @@ "webpack": "^4.0.0" } }, - "node_modules/react-scripts/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/react-scripts/node_modules/immer": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/immer/-/immer-1.10.0.tgz", @@ -26880,6 +24133,18 @@ "node": ">=6.0.0" } }, + "node_modules/react-scripts/node_modules/inquirer/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/react-scripts/node_modules/is-absolute-url": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", @@ -26932,33 +24197,6 @@ "node": ">= 8.3" } }, - "node_modules/react-scripts/node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-scripts/node_modules/jest-worker/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-scripts/node_modules/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 - }, "node_modules/react-scripts/node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -26981,26 +24219,16 @@ "node": ">=4.0" } }, - "node_modules/react-scripts/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/react-scripts/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, "node_modules/react-scripts/node_modules/make-dir": { @@ -27087,15 +24315,24 @@ } }, "node_modules/react-scripts/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { - "p-limit": "^2.0.0" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=6" + "node": ">=8" + } + }, + "node_modules/react-scripts/node_modules/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, + "engines": { + "node": ">=4" } }, "node_modules/react-scripts/node_modules/path-type": { @@ -27128,6 +24365,18 @@ "node": ">=6" } }, + "node_modules/react-scripts/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/react-scripts/node_modules/pkg-up": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", @@ -27152,22 +24401,38 @@ "node": ">=6" } }, - "node_modules/react-scripts/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "node_modules/react-scripts/node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=6" + } + }, + "node_modules/react-scripts/node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "engines": { + "node": ">=6" + } + }, + "node_modules/react-scripts/node_modules/pkg-up/node_modules/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, + "engines": { + "node": ">=4" } }, "node_modules/react-scripts/node_modules/postcss-flexbugs-fixes": { @@ -27185,15 +24450,6 @@ "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "dev": true }, - "node_modules/react-scripts/node_modules/postcss/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/react-scripts/node_modules/punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", @@ -27244,20 +24500,6 @@ "node": ">=8" } }, - "node_modules/react-scripts/node_modules/react-dev-utils/node_modules/cross-spawn": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", - "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/react-scripts/node_modules/react-dev-utils/node_modules/json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", @@ -27284,27 +24526,6 @@ "node": ">=4.0.0" } }, - "node_modules/react-scripts/node_modules/react-dev-utils/node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-scripts/node_modules/react-dev-utils/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/react-scripts/node_modules/react-dev-utils/node_modules/strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -27317,31 +24538,110 @@ "node": ">=8" } }, - "node_modules/react-scripts/node_modules/react-dev-utils/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/react-scripts/node_modules/read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" }, "engines": { - "node": ">= 8" + "node": ">=4" } }, - "node_modules/react-scripts/node_modules/regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "node_modules/react-scripts/node_modules/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, + "dependencies": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/react-scripts/node_modules/read-pkg-up/node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/react-scripts/node_modules/read-pkg-up/node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/react-scripts/node_modules/read-pkg-up/node_modules/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, + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/react-scripts/node_modules/read-pkg-up/node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/react-scripts/node_modules/read-pkg-up/node_modules/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, "engines": { - "node": ">=8" + "node": ">=4" + } + }, + "node_modules/react-scripts/node_modules/read-pkg/node_modules/path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "dependencies": { + "pify": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" + "engines": { + "node": ">=4" + } + }, + "node_modules/react-scripts/node_modules/read-pkg/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, "node_modules/react-scripts/node_modules/resolve": { @@ -27356,27 +24656,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/react-scripts/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/react-scripts/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/react-scripts/node_modules/slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", @@ -27386,20 +24665,6 @@ "node": ">=0.10.0" } }, - "node_modules/react-scripts/node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/react-scripts/node_modules/sockjs": { "version": "0.3.20", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", @@ -27468,69 +24733,16 @@ "node": ">= 8" } }, - "node_modules/react-scripts/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/react-scripts/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" + "has-flag": "^4.0.0" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/react-scripts/node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-scripts/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/react-scripts/node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/react-scripts/node_modules/table/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" } }, "node_modules/react-scripts/node_modules/terser-webpack-plugin": { @@ -27747,15 +24959,6 @@ } } }, - "node_modules/react-scripts/node_modules/webpack-dev-server/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/react-scripts/node_modules/webpack-dev-server/node_modules/chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -27798,26 +25001,13 @@ "node": ">= 4.0" } }, - "node_modules/react-scripts/node_modules/webpack-dev-server/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "node_modules/react-scripts/node_modules/webpack-dev-server/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/react-scripts/node_modules/webpack-dev-server/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/react-scripts/node_modules/webpack-dev-server/node_modules/schema-utils": { @@ -27834,28 +25024,16 @@ "node": ">= 4" } }, - "node_modules/react-scripts/node_modules/webpack-dev-server/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "node_modules/react-scripts/node_modules/webpack-dev-server/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, "dependencies": { - "ansi-regex": "^2.0.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-scripts/node_modules/webpack/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" + "node": ">=6" } }, "node_modules/react-scripts/node_modules/webpack/node_modules/cacache": { @@ -27881,19 +25059,6 @@ "y18n": "^4.0.0" } }, - "node_modules/react-scripts/node_modules/webpack/node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/react-scripts/node_modules/webpack/node_modules/schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -27918,9 +25083,9 @@ } }, "node_modules/react-scripts/node_modules/webpack/node_modules/ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, "dependencies": { "figgy-pudding": "^3.5.1" @@ -27989,16 +25154,16 @@ "node": ">=6" } }, - "node_modules/react-scripts/node_modules/write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "node_modules/react-scripts/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "dependencies": { - "mkdirp": "^0.5.1" + "ansi-regex": "^4.1.0" }, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/react-scripts/node_modules/ws": { @@ -28050,6 +25215,40 @@ "node": ">=6" } }, + "node_modules/react-scripts/node_modules/yargs/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/react-scripts/node_modules/yargs/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/react-scripts/node_modules/yargs/node_modules/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, + "engines": { + "node": ">=4" + } + }, "node_modules/react-scripts/node_modules/yargs/node_modules/string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -28064,20 +25263,32 @@ "node": ">=6" } }, - "node_modules/react-sizeme": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/react-sizeme/-/react-sizeme-2.6.12.tgz", - "integrity": "sha512-tL4sCgfmvapYRZ1FO2VmBmjPVzzqgHA7kI8lSJ6JS6L78jXFNRdOZFpXyK6P1NBZvKPPCZxReNgzZNUajAerZw==", + "node_modules/react-scripts/node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "dependencies": { - "element-resize-detector": "^1.2.1", + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/react-sizeme": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/react-sizeme/-/react-sizeme-3.0.1.tgz", + "integrity": "sha512-9Hf1NLgSbny1bha77l9HwvwwxQUJxFUqi44Ih+y3evA+PezBpGdCGlnvye6avss2cIgs9PgdYgMnfuzJWn/RUw==", + "dev": true, + "dependencies": { + "element-resize-detector": "^1.2.2", "invariant": "^2.2.4", "shallowequal": "^1.1.0", - "throttle-debounce": "^2.1.0" + "throttle-debounce": "^3.0.1" }, "peerDependencies": { - "react": "^0.14.0 || ^15.0.0-0 || ^16.0.0", - "react-dom": "^0.14.0 || ^15.0.0-0 || ^16.0.0" + "react": "^0.14.0 || ^15.0.0-0 || ^16.0.0 || ^17.0.0", + "react-dom": "^0.14.0 || ^15.0.0-0 || ^16.0.0 || ^17.0.0" } }, "node_modules/react-smooth": { @@ -28197,15 +25408,6 @@ "react-dom": "^15.3.0 || ^16.0.0-alpha" } }, - "node_modules/reactcss": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz", - "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==", - "dev": true, - "dependencies": { - "lodash": "^4.0.1" - } - }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -28225,125 +25427,99 @@ } }, "node_modules/read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, "dependencies": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/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=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/read-pkg-up/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "dependencies": { - "locate-path": "^2.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/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, - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "dependencies": { - "p-limit": "^1.1.0" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/read-pkg-up/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true, "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "dependencies": { - "pify": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dependencies": { "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" + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" } }, + "node_modules/readable-stream/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, "node_modules/readdirp": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", @@ -28396,15 +25572,6 @@ "node": ">=0.10.0" } }, - "node_modules/readdirp/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/readdirp/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -28429,6 +25596,30 @@ "node": ">=0.10.0" } }, + "node_modules/readdirp/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/readdirp/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/readline-ui": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/readline-ui/-/readline-ui-2.2.3.tgz", @@ -28444,6 +25635,15 @@ "node": ">=4.0" } }, + "node_modules/readline-ui/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/readline-ui/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -28481,6 +25681,18 @@ "node": ">=4" } }, + "node_modules/readline-ui/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/readline-utils": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/readline-utils/-/readline-utils-2.2.3.tgz", @@ -28542,9 +25754,9 @@ } }, "node_modules/recharts-scale": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.4.tgz", - "integrity": "sha512-e7MCnuD1+gtY9N7TYxzB+QXvi4s30kvNqVbI1p5m4rf47GusEQaEHxi8zvlZkdOOZ90UhpGHcnkYlyYkUJ2JoQ==", + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.5.tgz", + "integrity": "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==", "dependencies": { "decimal.js-light": "^2.4.1" } @@ -28553,21 +25765,9 @@ "version": "2.6.12", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.", + "deprecated": "core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", "hasInstallScript": true }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/recursive-readdir": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", @@ -28604,12 +25804,11 @@ } }, "node_modules/redux": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz", - "integrity": "sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.1.0.tgz", + "integrity": "sha512-uI2dQN43zqLWCt6B/BMGRMY6db7TTY4qeHHfGeKb3EOhmOKjU3KdWvNLJyqaHRksv/ErdNH7cFZWg9jXtewy4g==", "dependencies": { - "loose-envify": "^1.4.0", - "symbol-observable": "^1.2.0" + "@babel/runtime": "^7.9.2" } }, "node_modules/redux-immutable": { @@ -28732,13 +25931,15 @@ } }, "node_modules/regexpp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", - "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", "dev": true, - "peer": true, "engines": { - "node": ">=4.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, "node_modules/regexpu-core": { @@ -28813,15 +26014,6 @@ "strip-ansi": "^3.0.0" } }, - "node_modules/renderkid/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/renderkid/node_modules/css-select": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", @@ -28884,22 +26076,39 @@ "node": ">= 6" } }, - "node_modules/renderkid/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "node_modules/renderkid/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/renderkid/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" + "safe-buffer": "~5.2.0" } }, "node_modules/repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true, "engines": { "node": ">=0.10.0" @@ -28914,19 +26123,6 @@ "node": ">=0.10" } }, - "node_modules/repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "peer": true, - "dependencies": { - "is-finite": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -29030,43 +26226,12 @@ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, - "node_modules/require-uncached": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "dev": true, - "peer": true, - "dependencies": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-uncached/node_modules/resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, - "node_modules/reselect": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz", - "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc=", - "dev": true, - "peer": true - }, "node_modules/resize-observer-polyfill": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", @@ -29148,6 +26313,18 @@ "node": ">=0.10.0" } }, + "node_modules/resolve-dir/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -29412,27 +26589,10 @@ "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" }, - "node_modules/rx-lite": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", - "dev": true, - "peer": true - }, - "node_modules/rx-lite-aggregates": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", - "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", - "dev": true, - "peer": true, - "dependencies": { - "rx-lite": "*" - } - }, "node_modules/rxjs": { - "version": "6.6.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.6.tgz", - "integrity": "sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg==", + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "dependencies": { "tslib": "^1.9.0" @@ -29522,15 +26682,6 @@ "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/sane/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -29598,41 +26749,6 @@ } } }, - "node_modules/sass-loader/node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/sass-loader/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sass-loader/node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/sax": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", @@ -29678,37 +26794,6 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/schema-utils/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/schema-utils/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/schema-utils/node_modules/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 - }, "node_modules/select": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", @@ -29977,26 +27062,15 @@ } }, "node_modules/shallow-clone": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", - "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "dependencies": { - "is-extendable": "^0.1.1", - "kind-of": "^5.0.0", - "mixin-object": "^2.0.1" + "kind-of": "^6.0.2" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shallow-clone/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/shallow-copy": { @@ -30038,24 +27112,24 @@ } }, "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "dependencies": { - "shebang-regex": "^1.0.0" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/shell-quote": { @@ -30065,29 +27139,14 @@ "dev": true }, "node_modules/shelljs": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", - "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", - "dev": true, - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", + "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", "bin": { "shjs": "bin/shjs" }, "engines": { - "node": ">=4" - } - }, - "node_modules/shelljs/node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "engines": { - "node": ">= 0.10" + "node": ">=0.8.0" } }, "node_modules/shellwords": { @@ -30145,16 +27204,17 @@ } }, "node_modules/slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, - "peer": true, "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", "is-fullwidth-code-point": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": { @@ -30162,7 +27222,6 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true, - "peer": true, "engines": { "node": ">=4" } @@ -30212,6 +27271,18 @@ "node": ">=0.10.0" } }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/snapdragon/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -30245,6 +27316,18 @@ "node": ">=0.10.0" } }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/snapdragon/node_modules/is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -30257,6 +27340,18 @@ "node": ">=0.10.0" } }, + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/snapdragon/node_modules/is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", @@ -30271,7 +27366,7 @@ "node": ">=0.10.0" } }, - "node_modules/snapdragon/node_modules/is-descriptor/node_modules/kind-of": { + "node_modules/snapdragon/node_modules/kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", @@ -30337,9 +27432,9 @@ } }, "node_modules/sockjs-client": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", - "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz", + "integrity": "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==", "dev": true, "dependencies": { "debug": "^3.2.6", @@ -30347,7 +27442,7 @@ "faye-websocket": "^0.11.3", "inherits": "^2.0.4", "json3": "^3.3.3", - "url-parse": "^1.4.7" + "url-parse": "^1.5.1" } }, "node_modules/sockjs-client/node_modules/debug": { @@ -30518,6 +27613,35 @@ "node": ">= 6" } }, + "node_modules/spdy-transport/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/spdy-transport/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -30582,9 +27706,9 @@ } }, "node_modules/ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, "dependencies": { "figgy-pudding": "^3.5.1" @@ -30606,9 +27730,9 @@ } }, "node_modules/stack-utils": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.4.tgz", - "integrity": "sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", "dev": true, "dependencies": { "escape-string-regexp": "^2.0.0" @@ -30677,6 +27801,18 @@ "node": ">=0.10.0" } }, + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/static-extend/node_modules/is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -30689,6 +27825,18 @@ "node": ">=0.10.0" } }, + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/static-extend/node_modules/is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", @@ -30703,7 +27851,7 @@ "node": ">=0.10.0" } }, - "node_modules/static-extend/node_modules/is-descriptor/node_modules/kind-of": { + "node_modules/static-extend/node_modules/kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", @@ -30771,6 +27919,20 @@ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==" }, + "node_modules/static-module/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "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" + } + }, "node_modules/static-module/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -30780,6 +27942,14 @@ "node": ">=0.10.0" } }, + "node_modules/static-module/node_modules/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==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/static-module/node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -30823,6 +27993,30 @@ "readable-stream": "^2.0.2" } }, + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/stream-browserify/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/stream-each": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", @@ -30846,6 +28040,30 @@ "xtend": "^4.0.0" } }, + "node_modules/stream-http/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/stream-http/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/stream-shift": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", @@ -30862,12 +28080,9 @@ } }, "node_modules/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" }, "node_modules/string-length": { "version": "2.0.0", @@ -30882,6 +28097,27 @@ "node": ">=4" } }, + "node_modules/string-length/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/string-length/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/string-width": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", @@ -31016,24 +28252,24 @@ } }, "node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "dependencies": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, "node_modules/strip-bom": { @@ -31089,13 +28325,14 @@ } }, "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true, - "peer": true, + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", + "bin": { + "strip-json-comments": "cli.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=0.8.0" } }, "node_modules/style-loader": { @@ -31111,37 +28348,6 @@ "node": ">= 0.12.0" } }, - "node_modules/style-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/style-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/style-loader/node_modules/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 - }, "node_modules/style-loader/node_modules/schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -31170,24 +28376,6 @@ "node": ">=6.9.0" } }, - "node_modules/stylehacks/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, "node_modules/stylehacks/node_modules/postcss-selector-parser": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", @@ -31202,27 +28390,6 @@ "node": ">=8" } }, - "node_modules/stylehacks/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stylehacks/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/success-symbol": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/success-symbol/-/success-symbol-0.1.0.tgz", @@ -31241,45 +28408,6 @@ "postcss": "^7.0.2" } }, - "node_modules/sugarss/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/sugarss/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sugarss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -31402,42 +28530,59 @@ "integrity": "sha512-KHDsGQ4UcP+wSMaqH7wjH4DHxeHKRlmEO5jlSVCS+0x9xA4ZhdKYg/ameGF7RXaFDUcsti6Zj5s5W1Z4/YsbHA==" }, "node_modules/table": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", - "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, - "peer": true, "dependencies": { - "ajv": "^5.2.3", - "ajv-keywords": "^2.1.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", - "slice-ansi": "1.0.0", - "string-width": "^2.1.1" + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" } }, + "node_modules/table/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, "node_modules/table/node_modules/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, - "peer": true, "engines": { "node": ">=4" } }, "node_modules/table/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, - "peer": true, "dependencies": { + "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "strip-ansi": "^5.1.0" }, "engines": { - "node": ">=4" + "node": ">=6" + } + }, + "node_modules/table/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, "node_modules/tailwindcss": { @@ -31512,9 +28657,9 @@ } }, "node_modules/tailwindcss/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -31526,22 +28671,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/tailwindcss/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/tailwindcss/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, "node_modules/tailwindcss/node_modules/fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", @@ -31555,6 +28684,14 @@ "node": ">=6 <7 || >=8" } }, + "node_modules/tailwindcss/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/tailwindcss/node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -31563,87 +28700,11 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/tailwindcss/node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, "node_modules/tailwindcss/node_modules/postcss-value-parser": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" }, - "node_modules/tailwindcss/node_modules/postcss/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/tailwindcss/node_modules/postcss/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/tailwindcss/node_modules/postcss/node_modules/chalk/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/tailwindcss/node_modules/postcss/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/tailwindcss/node_modules/postcss/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/tailwindcss/node_modules/postcss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/tailwindcss/node_modules/reduce-css-calc": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", @@ -31658,14 +28719,6 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" }, - "node_modules/tailwindcss/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/tailwindcss/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -31677,14 +28730,6 @@ "node": ">=8" } }, - "node_modules/tailwindcss/node_modules/supports-color/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, "node_modules/tailwindcss/node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -31747,18 +28792,18 @@ "dev": true }, "node_modules/telejson": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/telejson/-/telejson-5.1.0.tgz", - "integrity": "sha512-Yy0N2OV0mosmr1SCZEm3Ezhu/oi5Dbao5RqauZu4+VI5I/XtVBHXajRk0txuqbFYtKdzzWGDZFGSif9ovVLjEA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/telejson/-/telejson-5.1.1.tgz", + "integrity": "sha512-aU7x+nwodmODJPXhU9sC/REOcX/dx1tNbyeOFV1PCTh6e9Mj+bnyfQ7sr13zfJYya9BtpGwnUNn9Fd76Ybj2eg==", "dev": true, "dependencies": { "@types/is-function": "^1.0.0", "global": "^4.4.0", "is-function": "^1.0.2", - "is-regex": "^1.1.1", + "is-regex": "^1.1.2", "is-symbol": "^1.0.3", "isobject": "^4.0.0", - "lodash": "^4.17.20", + "lodash": "^4.17.21", "memoizerific": "^1.11.3" } }, @@ -31910,6 +28955,19 @@ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, + "node_modules/terser-webpack-plugin/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/terser-webpack-plugin/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -31933,6 +28991,18 @@ "node": ">= 10.13.0" } }, + "node_modules/terser-webpack-plugin/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/terser-webpack-plugin/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -31987,6 +29057,33 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/terser-webpack-plugin/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/terser-webpack-plugin/node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/terser-webpack-plugin/node_modules/p-map": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", @@ -32002,6 +29099,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/terser-webpack-plugin/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/terser-webpack-plugin/node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -32151,6 +29260,15 @@ "node": ">=4" } }, + "node_modules/test-exclude/node_modules/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, + "engines": { + "node": ">=4" + } + }, "node_modules/test-exclude/node_modules/path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", @@ -32209,12 +29327,12 @@ "dev": true }, "node_modules/throttle-debounce": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.3.0.tgz", - "integrity": "sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-3.0.1.tgz", + "integrity": "sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==", "dev": true, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/through": { @@ -32233,6 +29351,49 @@ "readable-stream": "2 || 3" } }, + "node_modules/through2/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/through2/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/through2/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", @@ -32283,15 +29444,6 @@ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" }, - "node_modules/tinycolor2": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", - "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -32337,6 +29489,18 @@ "node": ">=0.10.0" } }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", @@ -32478,16 +29642,6 @@ "punycode": "^2.1.0" } }, - "node_modules/trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/triple-beam": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", @@ -32501,9 +29655,9 @@ "dev": true }, "node_modules/ts-dedent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.1.0.tgz", - "integrity": "sha512-HbmrG+lCgk5W8LQTALxBxQRBDeAhQKRzdqVhHLUkVd5nYT+b6zDzbRMjiA8wqrWDa33X09WdnW4zEsdwQArTaw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.1.1.tgz", + "integrity": "sha512-riHuwnzAUCfdIeTBNUq7+Yj+ANnrMXo/7+Z74dIdudS7ys2k8aSGMzpJRMFDF7CLwUTbtvi1ZZff/Wl+XxmqIA==", "dev": true, "engines": { "node": ">=6.10" @@ -32644,24 +29798,10 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, - "node_modules/typescript": { - "version": "3.9.9", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz", - "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==", - "dev": true, - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, "node_modules/ua-parser-js": { - "version": "0.7.25", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.25.tgz", - "integrity": "sha512-8NFExdfI24Ny8R3Vc6+uUytP/I7dpqk3JERlvxPWlrtx5YboqCgxAXYKPAifbPLV2zKbgmmPL53ufW7mUC/VOQ==", + "version": "0.7.28", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", + "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==", "funding": [ { "type": "opencollective", @@ -32708,21 +29848,24 @@ } }, "node_modules/unbox-primitive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.0.tgz", - "integrity": "sha512-P/51NX+JXyxK/aigg1/ZgyccdAxm5K1+n8+tvqSntjOivPt19gvm1VC49RWYetsiub8WViUchdxl/KWHHB0kzA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", "dev": true, "dependencies": { "function-bind": "^1.1.1", - "has-bigints": "^1.0.0", - "has-symbols": "^1.0.0", - "which-boxed-primitive": "^1.0.1" + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/underscore": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", + "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==", "dev": true }, "node_modules/unfetch": { @@ -32804,7 +29947,8 @@ "node_modules/uniq": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true }, "node_modules/uniqs": { "version": "2.0.0", @@ -32971,37 +30115,6 @@ } } }, - "node_modules/url-loader/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/url-loader/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/url-loader/node_modules/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 - }, "node_modules/url-loader/node_modules/loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -33422,18 +30535,6 @@ "node": ">= 6.14.4" } }, - "node_modules/webpack-bundle-analyzer/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/webpack-bundle-analyzer/node_modules/acorn-walk": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", @@ -33449,16 +30550,6 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, - "node_modules/webpack-bundle-analyzer/node_modules/ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "dev": true, - "hasInstallScript": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/webpack-bundle-analyzer/node_modules/filesize": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", @@ -33593,6 +30684,24 @@ "node": ">=6" } }, + "node_modules/webpack-cli/node_modules/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, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-cli/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/webpack-cli/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -33602,6 +30711,27 @@ "semver": "bin/semver" } }, + "node_modules/webpack-cli/node_modules/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, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-cli/node_modules/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, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/webpack-cli/node_modules/string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -33640,6 +30770,18 @@ "node": ">=6" } }, + "node_modules/webpack-cli/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/webpack-cli/node_modules/wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", @@ -33768,40 +30910,6 @@ } } }, - "node_modules/webpack-dev-server/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack-dev-server/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/webpack-dev-server/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/webpack-dev-server/node_modules/chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -33836,15 +30944,6 @@ "wrap-ansi": "^5.1.0" } }, - "node_modules/webpack-dev-server/node_modules/cliui/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/webpack-dev-server/node_modules/cliui/node_modules/strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -33912,12 +31011,6 @@ "node": ">=4" } }, - "node_modules/webpack-dev-server/node_modules/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 - }, "node_modules/webpack-dev-server/node_modules/locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -33943,6 +31036,15 @@ "node": ">=6" } }, + "node_modules/webpack-dev-server/node_modules/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, + "engines": { + "node": ">=4" + } + }, "node_modules/webpack-dev-server/node_modules/punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", @@ -33977,15 +31079,6 @@ "node": ">=6" } }, - "node_modules/webpack-dev-server/node_modules/string-width/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/webpack-dev-server/node_modules/string-width/node_modules/strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -33998,18 +31091,6 @@ "node": ">=6" } }, - "node_modules/webpack-dev-server/node_modules/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, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/webpack-dev-server/node_modules/supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", @@ -34046,15 +31127,6 @@ "node": ">=6" } }, - "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/webpack-dev-server/node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -34128,27 +31200,6 @@ "strip-ansi": "^3.0.0" } }, - "node_modules/webpack-hot-middleware/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-hot-middleware/node_modules/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, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/webpack-log": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", @@ -34270,31 +31321,6 @@ "node": ">=0.4.0" } }, - "node_modules/webpack/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, "node_modules/webpack/node_modules/define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", @@ -34355,21 +31381,6 @@ "node": ">=4" } }, - "node_modules/webpack/node_modules/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 - }, - "node_modules/webpack/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/webpack/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -34496,15 +31507,18 @@ } }, "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { - "which": "bin/which" + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, "node_modules/which-boxed-primitive": { @@ -34538,6 +31552,15 @@ "string-width": "^1.0.2 || 2" } }, + "node_modules/wide-align/node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/wide-align/node_modules/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", @@ -34560,6 +31583,18 @@ "node": ">=4" } }, + "node_modules/wide-align/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/widest-line": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", @@ -34621,11 +31656,29 @@ "node": ">= 6.4.0" } }, - "node_modules/winston/node_modules/async": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", - "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==", - "dev": true + "node_modules/winston-transport/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "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" + } + }, + "node_modules/winston-transport/node_modules/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, + "dependencies": { + "safe-buffer": "~5.1.0" + } }, "node_modules/winston/node_modules/is-stream": { "version": "2.0.0", @@ -34650,6 +31703,35 @@ "node": ">= 6" } }, + "node_modules/winston/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/winston/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -34928,24 +32010,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -34964,16 +32028,15 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "node_modules/write": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", "dev": true, - "peer": true, "dependencies": { "mkdirp": "^0.5.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/write-file-atomic": { @@ -35059,9 +32122,9 @@ } }, "node_modules/y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "node_modules/yallist": { @@ -35107,9 +32170,9 @@ } }, "node_modules/yargs/node_modules/y18n": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", - "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, "engines": { "node": ">=10" @@ -35135,9 +32198,9 @@ }, "dependencies": { "@babel/cli": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.13.10.tgz", - "integrity": "sha512-lYSBC7B4B9hJ7sv0Ojx1BrGhuzCoOIYfLjd+Xpd4rOzdS+a47yi8voV8vFkfjlZR1N5qZO7ixOCbobUdT304PQ==", + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.13.16.tgz", + "integrity": "sha512-cL9tllhqvsQ6r1+d9Invf7nNXg/3BlfL1vvvL/AdH9fZ2l5j0CeBcoq6UjsqHpvyN1v5nXSZgqJZoGeK+ZOAbw==", "dev": true, "requires": { "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents", @@ -35146,7 +32209,6 @@ "convert-source-map": "^1.1.0", "fs-readdir-recursive": "^1.1.0", "glob": "^7.0.0", - "lodash": "^4.17.19", "make-dir": "^2.1.0", "slash": "^2.0.0", "source-map": "^0.5.0" @@ -35170,31 +32232,30 @@ } }, "@babel/compat-data": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.12.tgz", - "integrity": "sha512-3eJJ841uKxeV8dcN/2yGEUy+RfgQspPEgQat85umsE1rotuquQ2AbIub4S6j7c50a2d+4myc+zSlnXeIHrOnhQ==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.0.tgz", + "integrity": "sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==", "dev": true }, "@babel/core": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.10.tgz", - "integrity": "sha512-bfIYcT0BdKeAZrovpMqX2Mx5NrgAckGbwT982AkdS5GNfn3KMGiprlBAtmBcFZRUmpaufS6WZFP8trvx8ptFDw==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.0.tgz", + "integrity": "sha512-8YqpRig5NmIHlMLw09zMlPTvUVMILjqCOtVgu+TVNWEBvy9b5I3RRyhqnrV4hjgEK7n8P9OqvkWJAFmEL6Wwfw==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.9", - "@babel/helper-compilation-targets": "^7.13.10", - "@babel/helper-module-transforms": "^7.13.0", - "@babel/helpers": "^7.13.10", - "@babel/parser": "^7.13.10", + "@babel/generator": "^7.14.0", + "@babel/helper-compilation-targets": "^7.13.16", + "@babel/helper-module-transforms": "^7.14.0", + "@babel/helpers": "^7.14.0", + "@babel/parser": "^7.14.0", "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0", + "@babel/traverse": "^7.14.0", + "@babel/types": "^7.14.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", - "lodash": "^4.17.19", "semver": "^6.3.0", "source-map": "^0.5.0" }, @@ -35208,12 +32269,12 @@ } }, "@babel/generator": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.9.tgz", - "integrity": "sha512-mHOOmY0Axl/JCTkxTU6Lf5sWOg/v8nUa+Xkt4zMTftX0wqmb6Sh7J8gvcehBw7q0AhrhAR+FDacKjCZ2X8K+Sw==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.1.tgz", + "integrity": "sha512-TMGhsXMXCP/O1WtQmZjpEYDhCYC9vFhayWZPJSZCGkPJgUqX0rF0wwtrYvnzVxIjcF80tkUertXVk5cwqi5cAQ==", "dev": true, "requires": { - "@babel/types": "^7.13.0", + "@babel/types": "^7.14.1", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, @@ -35246,27 +32307,28 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.10.tgz", - "integrity": "sha512-/Xju7Qg1GQO4mHZ/Kcs6Au7gfafgZnwm+a7sy/ow/tV1sHeraRUHbjdat8/UvDor4Tez+siGKDk6zIKtCPKVJA==", + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz", + "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==", "dev": true, "requires": { - "@babel/compat-data": "^7.13.8", + "@babel/compat-data": "^7.13.15", "@babel/helper-validator-option": "^7.12.17", "browserslist": "^4.14.5", "semver": "^6.3.0" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.13.11", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz", - "integrity": "sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.1.tgz", + "integrity": "sha512-r8rsUahG4ywm0QpGcCrLaUSOuNAISR3IZCg4Fx05Ozq31aCUrQsTLH6KPxy0N5ULoQ4Sn9qjNdGNtbPWAC6hYg==", "dev": true, "requires": { + "@babel/helper-annotate-as-pure": "^7.12.13", "@babel/helper-function-name": "^7.12.13", - "@babel/helper-member-expression-to-functions": "^7.13.0", + "@babel/helper-member-expression-to-functions": "^7.13.12", "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.0", + "@babel/helper-replace-supers": "^7.13.12", "@babel/helper-split-export-declaration": "^7.12.13" } }, @@ -35281,9 +32343,9 @@ } }, "@babel/helper-define-polyfill-provider": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.5.tgz", - "integrity": "sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz", + "integrity": "sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.13.0", @@ -35326,13 +32388,13 @@ } }, "@babel/helper-hoist-variables": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.0.tgz", - "integrity": "sha512-0kBzvXiIKfsCA0y6cFEIJf4OdzfpRuNk4+YTeHZpGGc666SATFKTz6sRncwFnQk7/ugJ4dSrCj6iJuvW4Qwr2g==", + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz", + "integrity": "sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==", "dev": true, "requires": { - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/traverse": "^7.13.15", + "@babel/types": "^7.13.16" } }, "@babel/helper-member-expression-to-functions": { @@ -35354,19 +32416,19 @@ } }, "@babel/helper-module-transforms": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.12.tgz", - "integrity": "sha512-7zVQqMO3V+K4JOOj40kxiCrMf6xlQAkewBB0eu2b03OO/Q21ZutOzjpfD79A5gtE/2OWi1nv625MrDlGlkbknQ==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.0.tgz", + "integrity": "sha512-L40t9bxIuGOfpIGA3HNkJhU9qYrf4y5A5LUSw7rGMSn+pcG8dfJ0g6Zval6YJGd2nEjI7oP00fRdnhLKndx6bw==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.13.12", "@babel/helper-replace-supers": "^7.13.12", "@babel/helper-simple-access": "^7.13.12", "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-validator-identifier": "^7.14.0", "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" + "@babel/traverse": "^7.14.0", + "@babel/types": "^7.14.0" } }, "@babel/helper-optimise-call-expression": { @@ -35435,9 +32497,9 @@ } }, "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz", + "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==", "dev": true }, "@babel/helper-validator-option": { @@ -35459,31 +32521,31 @@ } }, "@babel/helpers": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.10.tgz", - "integrity": "sha512-4VO883+MWPDUVRF3PhiLBUFHoX/bsLTGFpFK/HqvvfBZz2D57u9XzPVNFVBTc0PW/CWR9BXTOKt8NF4DInUHcQ==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.0.tgz", + "integrity": "sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==", "dev": true, "requires": { "@babel/template": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.0" + "@babel/traverse": "^7.14.0", + "@babel/types": "^7.14.0" } }, "@babel/highlight": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", - "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz", + "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.12.11", + "@babel/helper-validator-identifier": "^7.14.0", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.12.tgz", - "integrity": "sha512-4T7Pb244rxH24yR116LAuJ+adxXXnHhZaLJjegJVKSdoNCe4x1eDBaud5YIcQFcqzsaD5BHvJw5BQ0AZapdCRw==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.1.tgz", + "integrity": "sha512-muUGEKu8E/ftMTPlNp+mc6zL3E9zKWmF5sDHZ5MSsoTP9Wyz64AhEf9kD08xYJ7w6Hdcu8H550ircnPyWSIF0Q==", "dev": true }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { @@ -35498,9 +32560,9 @@ } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.8.tgz", - "integrity": "sha512-rPBnhj+WgoSmgq+4gQUtXx/vOcU+UYtjy1AA/aeD61Hwj410fwYyqfUcRP3lR8ucgliVJL/G7sXcNUecC75IXA==", + "version": "7.13.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.15.tgz", + "integrity": "sha512-VapibkWzFeoa6ubXy/NgV5U2U4MVnUlvnx6wo1XhlsaTrLYWE0UFpDQsVrmn22q5CzeloqJ8gEMHSKxuee6ZdA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.13.0", @@ -35518,13 +32580,23 @@ "@babel/helper-plugin-utils": "^7.13.0" } }, - "@babel/plugin-proposal-decorators": { - "version": "7.13.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.13.5.tgz", - "integrity": "sha512-i0GDfVNuoapwiheevUOuSW67mInqJ8qw7uWfpjNVeHMn143kXblEy/bmL9AdZ/0yf/4BMQeWXezK0tQIvNPqag==", + "@babel/plugin-proposal-class-static-block": { + "version": "7.13.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.13.11.tgz", + "integrity": "sha512-fJTdFI4bfnMjvxJyNuaf8i9mVcZ0UhetaGEUHaHV9KEnibLugJkZAtXikR8KcYj+NYmI4DZMS8yQAyg+hvfSqg==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-class-static-block": "^7.12.13" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.13.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.13.15.tgz", + "integrity": "sha512-ibAMAqUm97yzi+LPgdr5Nqb9CMkeieGHvwPg1ywSGjZrZHQEGqE01HmOio8kxRpA/+VtOHouIVy2FMpBbtltjA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.13.11", "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-decorators": "^7.12.13" } @@ -35643,6 +32715,18 @@ "@babel/helper-plugin-utils": "^7.13.0" } }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.0.tgz", + "integrity": "sha512-59ANdmEwwRUkLjB7CRtwJxxwtjESw+X2IePItA+RGQh+oy5RmpCh/EvVVvh5XQc3yxsm5gtv0+i9oBZhaDNVTg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-create-class-features-plugin": "^7.14.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-private-property-in-object": "^7.14.0" + } + }, "@babel/plugin-proposal-unicode-property-regex": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", @@ -35680,6 +32764,15 @@ "@babel/helper-plugin-utils": "^7.12.13" } }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.12.13.tgz", + "integrity": "sha512-ZmKQ0ZXR0nYpHZIIuj9zE7oIqCx2hw9TKi+lIo73NNrMPAZGHfS92/VRV0ZmPj6H2ffBgyFHXvJ5NYsNeEaP2A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, "@babel/plugin-syntax-decorators": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz", @@ -35797,6 +32890,15 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.0.tgz", + "integrity": "sha512-bda3xF8wGl5/5btF794utNOL0Jw+9jE5C1sLZcoK7c4uonE/y3iQiyG+KbkF3WBV/paX58VCpjhxLPkdj5Fe4w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0" + } + }, "@babel/plugin-syntax-top-level-await": { "version": "7.12.13", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", @@ -35845,12 +32947,12 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz", - "integrity": "sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.1.tgz", + "integrity": "sha512-2mQXd0zBrwfp0O1moWIhPpEeTKDvxyHcnma3JATVP1l+CctWBuot6OJG8LQ4DnBj4ZZPSmlb/fm4mu47EOAnVA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-classes": { @@ -35878,9 +32980,9 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz", - "integrity": "sha512-zym5em7tePoNT9s964c0/KU3JPPnuq7VhIxPRefJ4/s82cD+q1mgKfuGRDMCPL0HTyKz4dISuQlCusfgCJ86HA==", + "version": "7.13.17", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz", + "integrity": "sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.13.0" @@ -35963,25 +33065,25 @@ } }, "@babel/plugin-transform-modules-amd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz", - "integrity": "sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.0.tgz", + "integrity": "sha512-CF4c5LX4LQ03LebQxJ5JZes2OYjzBuk1TdiF7cG7d5dK4lAdw9NZmaxq5K/mouUdNeqwz3TNjnW6v01UqUNgpQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-module-transforms": "^7.14.0", "@babel/helper-plugin-utils": "^7.13.0", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz", - "integrity": "sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.0.tgz", + "integrity": "sha512-EX4QePlsTaRZQmw9BsoPeyh5OCtRGIhwfLquhxGp5e32w+dyL8htOcDwamlitmNFK6xBZYlygjdye9dbd9rUlQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-module-transforms": "^7.14.0", "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-simple-access": "^7.12.13", + "@babel/helper-simple-access": "^7.13.12", "babel-plugin-dynamic-import-node": "^2.3.3" } }, @@ -35999,12 +33101,12 @@ } }, "@babel/plugin-transform-modules-umd": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz", - "integrity": "sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.0.tgz", + "integrity": "sha512-nPZdnWtXXeY7I87UZr9VlsWme3Y0cfFFE41Wbxz4bbaexAjNMInXPFUpRRUJ8NoMm0Cw+zxbqjdPmLhcjfazMw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-module-transforms": "^7.14.0", "@babel/helper-plugin-utils": "^7.13.0" } }, @@ -36055,9 +33157,9 @@ } }, "@babel/plugin-transform-react-constant-elements": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.13.10.tgz", - "integrity": "sha512-E+aCW9j7mLq01tOuGV08YzLBt+vSyr4bOPT75B6WrAlrUfmOYOZ/yWk847EH0dv0xXiCihWLEmlX//O30YhpIw==", + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.13.13.tgz", + "integrity": "sha512-SNJU53VM/SjQL0bZhyU+f4kJQz7bQQajnrZRSaU21hruG/NWY41AEM9AWXeXX90pYr/C2yAmTgI6yW3LlLrAUQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.13.0" @@ -36123,9 +33225,9 @@ } }, "@babel/plugin-transform-regenerator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz", - "integrity": "sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA==", + "version": "7.13.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz", + "integrity": "sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" @@ -36237,18 +33339,19 @@ } }, "@babel/preset-env": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.13.12.tgz", - "integrity": "sha512-JzElc6jk3Ko6zuZgBtjOd01pf9yYDEIH8BcqVuYIuOkzOwDesoa/Nz4gIo4lBG6K861KTV9TvIgmFuT6ytOaAA==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.1.tgz", + "integrity": "sha512-0M4yL1l7V4l+j/UHvxcdvNfLB9pPtIooHTbEhgD/6UGyh8Hy3Bm1Mj0buzjDXATCSz3JFibVdnoJZCrlUCanrQ==", "dev": true, "requires": { - "@babel/compat-data": "^7.13.12", - "@babel/helper-compilation-targets": "^7.13.10", + "@babel/compat-data": "^7.14.0", + "@babel/helper-compilation-targets": "^7.13.16", "@babel/helper-plugin-utils": "^7.13.0", "@babel/helper-validator-option": "^7.12.17", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", - "@babel/plugin-proposal-async-generator-functions": "^7.13.8", + "@babel/plugin-proposal-async-generator-functions": "^7.13.15", "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-class-static-block": "^7.13.11", "@babel/plugin-proposal-dynamic-import": "^7.13.8", "@babel/plugin-proposal-export-namespace-from": "^7.12.13", "@babel/plugin-proposal-json-strings": "^7.13.8", @@ -36259,9 +33362,11 @@ "@babel/plugin-proposal-optional-catch-binding": "^7.13.8", "@babel/plugin-proposal-optional-chaining": "^7.13.12", "@babel/plugin-proposal-private-methods": "^7.13.0", + "@babel/plugin-proposal-private-property-in-object": "^7.14.0", "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.12.13", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-json-strings": "^7.8.3", @@ -36271,14 +33376,15 @@ "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.0", "@babel/plugin-syntax-top-level-await": "^7.12.13", "@babel/plugin-transform-arrow-functions": "^7.13.0", "@babel/plugin-transform-async-to-generator": "^7.13.0", "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.12.13", + "@babel/plugin-transform-block-scoping": "^7.14.1", "@babel/plugin-transform-classes": "^7.13.0", "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.0", + "@babel/plugin-transform-destructuring": "^7.13.17", "@babel/plugin-transform-dotall-regex": "^7.12.13", "@babel/plugin-transform-duplicate-keys": "^7.12.13", "@babel/plugin-transform-exponentiation-operator": "^7.12.13", @@ -36286,16 +33392,16 @@ "@babel/plugin-transform-function-name": "^7.12.13", "@babel/plugin-transform-literals": "^7.12.13", "@babel/plugin-transform-member-expression-literals": "^7.12.13", - "@babel/plugin-transform-modules-amd": "^7.13.0", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/plugin-transform-modules-amd": "^7.14.0", + "@babel/plugin-transform-modules-commonjs": "^7.14.0", "@babel/plugin-transform-modules-systemjs": "^7.13.8", - "@babel/plugin-transform-modules-umd": "^7.13.0", + "@babel/plugin-transform-modules-umd": "^7.14.0", "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", "@babel/plugin-transform-new-target": "^7.12.13", "@babel/plugin-transform-object-super": "^7.12.13", "@babel/plugin-transform-parameters": "^7.13.0", "@babel/plugin-transform-property-literals": "^7.12.13", - "@babel/plugin-transform-regenerator": "^7.12.13", + "@babel/plugin-transform-regenerator": "^7.13.15", "@babel/plugin-transform-reserved-words": "^7.12.13", "@babel/plugin-transform-shorthand-properties": "^7.12.13", "@babel/plugin-transform-spread": "^7.13.0", @@ -36305,22 +33411,23 @@ "@babel/plugin-transform-unicode-escapes": "^7.12.13", "@babel/plugin-transform-unicode-regex": "^7.12.13", "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.13.12", - "babel-plugin-polyfill-corejs2": "^0.1.4", - "babel-plugin-polyfill-corejs3": "^0.1.3", - "babel-plugin-polyfill-regenerator": "^0.1.2", + "@babel/types": "^7.14.1", + "babel-plugin-polyfill-corejs2": "^0.2.0", + "babel-plugin-polyfill-corejs3": "^0.2.0", + "babel-plugin-polyfill-regenerator": "^0.2.0", "core-js-compat": "^3.9.0", "semver": "^6.3.0" } }, "@babel/preset-flow": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.12.13.tgz", - "integrity": "sha512-gcEjiwcGHa3bo9idURBp5fmJPcyFPOszPQjztXrOjUE2wWVqc6fIVJPgWPIQksaQ5XZ2HWiRsf2s1fRGVjUtVw==", + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.13.13.tgz", + "integrity": "sha512-MDtwtamMifqq3R2mC7l3A3uFalUb3NH5TIBQWjN/epEPlZktcLq4se3J+ivckKrLMGsR7H9LW8+pYuIUN9tsKg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", - "@babel/plugin-transform-flow-strip-types": "^7.12.13" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-option": "^7.12.17", + "@babel/plugin-transform-flow-strip-types": "^7.13.0" } }, "@babel/preset-modules": { @@ -36337,15 +33444,16 @@ } }, "@babel/preset-react": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.13.tgz", - "integrity": "sha512-TYM0V9z6Abb6dj1K7i5NrEhA13oS5ujUYQYDfqIBXYHOc2c2VkFgc+q9kyssIyUfy4/hEwqrgSlJ/Qgv8zJLsA==", + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.13.13.tgz", + "integrity": "sha512-gx+tDLIE06sRjKJkVtpZ/t3mzCDOnPG+ggHZG9lffUbX8+wC739x20YQc9V35Do6ZAxaUc/HhVHIiOzz5MvDmA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-option": "^7.12.17", "@babel/plugin-transform-react-display-name": "^7.12.13", - "@babel/plugin-transform-react-jsx": "^7.12.13", - "@babel/plugin-transform-react-jsx-development": "^7.12.12", + "@babel/plugin-transform-react-jsx": "^7.13.12", + "@babel/plugin-transform-react-jsx-development": "^7.12.17", "@babel/plugin-transform-react-pure-annotations": "^7.12.1" } }, @@ -36361,30 +33469,30 @@ } }, "@babel/register": { - "version": "7.13.8", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.13.8.tgz", - "integrity": "sha512-yCVtABcmvQjRsX2elcZFUV5Q5kDDpHdtXKKku22hNDma60lYuhKmtp1ykZ/okRCPLT2bR5S+cA1kvtBdAFlDTQ==", + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.13.16.tgz", + "integrity": "sha512-dh2t11ysujTwByQjXNgJ48QZ2zcXKQVdV8s0TbeMI0flmtGWCdTwK9tJiACHXPLmncm5+ktNn/diojA45JE4jg==", "dev": true, "requires": { + "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", - "lodash": "^4.17.19", "make-dir": "^2.1.0", "pirates": "^4.0.0", "source-map-support": "^0.5.16" } }, "@babel/runtime": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz", - "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz", + "integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==", "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/runtime-corejs3": { - "version": "7.13.10", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.13.10.tgz", - "integrity": "sha512-x/XYVQ1h684pp1mJwOV4CyvqZXqbc8CMsMGUnAbuc82ZCdv1U63w5RSUzgDSXQHG5Rps/kiksH6g2D5BuaKyXg==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.0.tgz", + "integrity": "sha512-0R0HTZWHLk6G8jIk0FtoX+AatCtKnswS98VhXwGImFc759PJRp4Tru0PQYZofyijTFUr+gT8Mu7sgXVJLQ0ceg==", "dev": true, "requires": { "core-js-pure": "^3.0.0", @@ -36403,30 +33511,28 @@ } }, "@babel/traverse": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.0.tgz", - "integrity": "sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.0.tgz", + "integrity": "sha512-dZ/a371EE5XNhTHomvtuLTUyx6UEoJmYX+DT5zBCQN3McHemsuIaKKYqsc/fs26BEkHs/lBZy0J571LP5z9kQA==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@babel/generator": "^7.13.0", + "@babel/generator": "^7.14.0", "@babel/helper-function-name": "^7.12.13", "@babel/helper-split-export-declaration": "^7.12.13", - "@babel/parser": "^7.13.0", - "@babel/types": "^7.13.0", + "@babel/parser": "^7.14.0", + "@babel/types": "^7.14.0", "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" + "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.12.tgz", - "integrity": "sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==", + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.1.tgz", + "integrity": "sha512-S13Qe85fzLs3gYRUnrpyeIrBJIMYv33qSTg1qoBwiG6nPKwUWAD9odSzWhEedpwOIzSEI6gbdQIWEMiCI42iBA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", + "@babel/helper-validator-identifier": "^7.14.0", "to-fast-properties": "^2.0.0" } }, @@ -36668,13 +33774,6 @@ "warning": "^4.0.3" } }, - "@icons/material": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@icons/material/-/material-0.2.4.tgz", - "integrity": "sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==", - "dev": true, - "requires": {} - }, "@jest/console": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", @@ -36757,12 +33856,6 @@ "is-plain-object": "^2.0.4" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -36950,12 +34043,6 @@ "is-plain-object": "^2.0.4" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -37104,9 +34191,9 @@ } }, "@popperjs/core": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.1.tgz", - "integrity": "sha512-DvJbbn3dUgMxDnJLH+RZQPnXak1h4ZVYQ7CWiFWjQwBFkVajT4rfw2PdpHLTSTwxrYfnoEXkuBiwkDm6tPMQeA==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.2.tgz", + "integrity": "sha512-VZMYa7+fXHdwIq1TDhSXoVmSPEGM/aa+6Aiq3nVVJ9bXr24zScr+NlKFKC3iPljA7ho/GAZr+d2jOf5GIRC30Q==", "dev": true }, "@reach/router": { @@ -37188,157 +34275,67 @@ } }, "@storybook/addons": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.1.21.tgz", - "integrity": "sha512-xo5TGu9EZVCqgh3D1veVnfuGzyKDWWsvOMo18phVqRxj21G3/+hScVyfIYwNTv7Ys5/Ahp9JxJUMXL3V3ny+tw==", + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.2.9.tgz", + "integrity": "sha512-GnmEKbJwiN1jncN9NSA8CuR1i2XAlasPcl/Zn0jkfV9WitQeczVcJCPw86SGH84AD+tTBCyF2i9UC0KaOV1YBQ==", "dev": true, "requires": { - "@storybook/api": "6.1.21", - "@storybook/channels": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/core-events": "6.1.21", - "@storybook/router": "6.1.21", - "@storybook/theming": "6.1.21", - "core-js": "^3.0.1", - "global": "^4.3.2", + "@storybook/api": "6.2.9", + "@storybook/channels": "6.2.9", + "@storybook/client-logger": "6.2.9", + "@storybook/core-events": "6.2.9", + "@storybook/router": "6.2.9", + "@storybook/theming": "6.2.9", + "core-js": "^3.8.2", + "global": "^4.4.0", "regenerator-runtime": "^0.13.7" } }, "@storybook/api": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.1.21.tgz", - "integrity": "sha512-QjZk70VSXMw/wPPoWdMp5Bl9VmkfmGhIz8PALrFLLEZHjzptpfZE2qkGEEJHG0NAksFUv6NxGki2/632dzR7Ug==", + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.2.9.tgz", + "integrity": "sha512-okkA3HAScE9tGnYBrjTOcgzT+L1lRHNoEh3ZfGgh1u/XNEyHGNkj4grvkd6nX7BzRcYQ/l2VkcKCqmOjUnSkVQ==", "dev": true, "requires": { - "@reach/router": "^1.3.3", - "@storybook/channels": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/core-events": "6.1.21", + "@reach/router": "^1.3.4", + "@storybook/channels": "6.2.9", + "@storybook/client-logger": "6.2.9", + "@storybook/core-events": "6.2.9", "@storybook/csf": "0.0.1", - "@storybook/router": "6.1.21", + "@storybook/router": "6.2.9", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.1.21", + "@storybook/theming": "6.2.9", "@types/reach__router": "^1.3.7", - "core-js": "^3.0.1", - "fast-deep-equal": "^3.1.1", - "global": "^4.3.2", - "lodash": "^4.17.15", + "core-js": "^3.8.2", + "fast-deep-equal": "^3.1.3", + "global": "^4.4.0", + "lodash": "^4.17.20", "memoizerific": "^1.11.3", + "qs": "^6.10.0", "regenerator-runtime": "^0.13.7", - "store2": "^2.7.1", - "telejson": "^5.0.2", + "store2": "^2.12.0", + "telejson": "^5.1.0", "ts-dedent": "^2.0.0", "util-deprecate": "^1.0.2" } }, - "@storybook/channel-postmessage": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.1.21.tgz", - "integrity": "sha512-SuI/ffqcPT02VNda32k8V0D4XpLm5bIy8CLIs0OAnQg+zt5KjGBpQBngk3q4EaAiOoAhbMWAQiUzRUXfrgkgXg==", + "@storybook/builder-webpack4": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.2.9.tgz", + "integrity": "sha512-swECic1huVdj+B+iRJIQ8ds59HuPVE4fmhI+j/nhw0CQCsgAEKqDlOQVYEimW6nZX8GO4WxNm6tiiRzxixejbw==", "dev": true, "requires": { - "@storybook/channels": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/core-events": "6.1.21", - "core-js": "^3.0.1", - "global": "^4.3.2", - "qs": "^6.6.0", - "telejson": "^5.0.2" - } - }, - "@storybook/channels": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.1.21.tgz", - "integrity": "sha512-7WoizMjyHqCyvcWncLexSg9FLPIErWAZL4NvluEthwsHSO2sDybn9mh1pzsFHdYMuTP6ml06Zt9ayWMtIveHDg==", - "dev": true, - "requires": { - "core-js": "^3.0.1", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - } - }, - "@storybook/client-api": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.1.21.tgz", - "integrity": "sha512-uLFXQ5z1LLWYnw1w+YUJPzIPRVlwCCvM2Si37aHDZn1F3fnbMg+huEhEqIQ1TTTw3wiJoTeGuShYvqyaiNwq/w==", - "dev": true, - "requires": { - "@storybook/addons": "6.1.21", - "@storybook/channel-postmessage": "6.1.21", - "@storybook/channels": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/core-events": "6.1.21", - "@storybook/csf": "0.0.1", - "@types/qs": "^6.9.0", - "@types/webpack-env": "^1.15.3", - "core-js": "^3.0.1", - "global": "^4.3.2", - "lodash": "^4.17.15", - "memoizerific": "^1.11.3", - "qs": "^6.6.0", - "regenerator-runtime": "^0.13.7", - "stable": "^0.1.8", - "store2": "^2.7.1", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" - } - }, - "@storybook/client-logger": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.1.21.tgz", - "integrity": "sha512-QJV+gnVM2fQ4M7lSkRLCXkOw/RU+aEtUefo9TAnXxPHK3UGG+DyvLmha6fHGaz9GAcFxyWtgqCyVOhMe03Q35g==", - "dev": true, - "requires": { - "core-js": "^3.0.1", - "global": "^4.3.2" - } - }, - "@storybook/components": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.1.21.tgz", - "integrity": "sha512-2NjkyS1yeYXlRY7azt88woqd6eqJA00oloIxgMAFLVpRmvFxoHalY61wNrvxl2QSu9cNofp984AbGc8gPbizBA==", - "dev": true, - "requires": { - "@popperjs/core": "^2.5.4", - "@storybook/client-logger": "6.1.21", - "@storybook/csf": "0.0.1", - "@storybook/theming": "6.1.21", - "@types/overlayscrollbars": "^1.9.0", - "@types/react-color": "^3.0.1", - "@types/react-syntax-highlighter": "11.0.4", - "core-js": "^3.0.1", - "fast-deep-equal": "^3.1.1", - "global": "^4.3.2", - "lodash": "^4.17.15", - "markdown-to-jsx": "^6.11.4", - "memoizerific": "^1.11.3", - "overlayscrollbars": "^1.10.2", - "polished": "^3.4.4", - "react-color": "^2.17.0", - "react-popper-tooltip": "^3.1.1", - "react-syntax-highlighter": "^13.5.0", - "react-textarea-autosize": "^8.1.1", - "regenerator-runtime": "^0.13.7", - "ts-dedent": "^2.0.0" - } - }, - "@storybook/core": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.1.21.tgz", - "integrity": "sha512-ITqSid3VVL5/fkx7Wwu7QfD2Y5xjl3V6p7yUpLSzP8GpBnCHKDvJ4pFJUdJlGQ0mnGz6ACa0qVnSc+V0hiy1sA==", - "dev": true, - "requires": { - "@babel/core": "^7.12.3", + "@babel/core": "^7.12.10", "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-decorators": "^7.12.1", + "@babel/plugin-proposal-decorators": "^7.12.12", "@babel/plugin-proposal-export-default-from": "^7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", "@babel/plugin-proposal-private-methods": "^7.12.1", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.12", "@babel/plugin-transform-classes": "^7.12.1", "@babel/plugin-transform-destructuring": "^7.12.1", "@babel/plugin-transform-for-of": "^7.12.1", @@ -37346,98 +34343,74 @@ "@babel/plugin-transform-shorthand-properties": "^7.12.1", "@babel/plugin-transform-spread": "^7.12.1", "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.1", - "@babel/preset-typescript": "^7.12.1", - "@babel/register": "^7.12.1", - "@storybook/addons": "6.1.21", - "@storybook/api": "6.1.21", - "@storybook/channel-postmessage": "6.1.21", - "@storybook/channels": "6.1.21", - "@storybook/client-api": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/components": "6.1.21", - "@storybook/core-events": "6.1.21", - "@storybook/csf": "0.0.1", - "@storybook/node-logger": "6.1.21", - "@storybook/router": "6.1.21", + "@babel/preset-env": "^7.12.11", + "@babel/preset-react": "^7.12.10", + "@babel/preset-typescript": "^7.12.7", + "@storybook/addons": "6.2.9", + "@storybook/api": "6.2.9", + "@storybook/channel-postmessage": "6.2.9", + "@storybook/channels": "6.2.9", + "@storybook/client-api": "6.2.9", + "@storybook/client-logger": "6.2.9", + "@storybook/components": "6.2.9", + "@storybook/core-common": "6.2.9", + "@storybook/core-events": "6.2.9", + "@storybook/node-logger": "6.2.9", + "@storybook/router": "6.2.9", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.1.21", - "@storybook/ui": "6.1.21", - "@types/glob-base": "^0.3.0", - "@types/micromatch": "^4.0.1", - "@types/node-fetch": "^2.5.4", - "airbnb-js-shims": "^2.2.1", - "ansi-to-html": "^0.6.11", - "autoprefixer": "^9.7.2", - "babel-loader": "^8.0.6", - "babel-plugin-emotion": "^10.0.20", + "@storybook/theming": "6.2.9", + "@storybook/ui": "6.2.9", + "@types/node": "^14.0.10", + "@types/webpack": "^4.41.26", + "autoprefixer": "^9.8.6", + "babel-loader": "^8.2.2", "babel-plugin-macros": "^2.8.0", - "babel-preset-minify": "^0.5.0 || 0.6.0-alpha.5", - "better-opn": "^2.0.0", - "boxen": "^4.1.0", - "case-sensitive-paths-webpack-plugin": "^2.2.0", - "chalk": "^4.0.0", - "cli-table3": "0.6.0", - "commander": "^5.0.0", - "core-js": "^3.0.1", - "cpy": "^8.1.1", - "css-loader": "^3.5.3", - "detect-port": "^1.3.0", - "dotenv-webpack": "^1.7.0", - "ejs": "^3.1.2", - "express": "^4.17.0", - "file-loader": "^6.0.0", - "file-system-cache": "^1.0.5", - "find-up": "^4.1.0", - "fork-ts-checker-webpack-plugin": "^4.1.4", - "fs-extra": "^9.0.0", + "babel-plugin-polyfill-corejs3": "^0.1.0", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "core-js": "^3.8.2", + "css-loader": "^3.6.0", + "dotenv-webpack": "^1.8.0", + "file-loader": "^6.2.0", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^4.1.6", + "fs-extra": "^9.0.1", "glob": "^7.1.6", - "glob-base": "^0.3.0", "glob-promise": "^3.4.0", - "global": "^4.3.2", - "html-webpack-plugin": "^4.2.1", - "inquirer": "^7.0.0", - "interpret": "^2.0.0", - "ip": "^1.1.5", - "json5": "^2.1.1", - "lazy-universal-dotenv": "^3.0.1", - "micromatch": "^4.0.2", - "node-fetch": "^2.6.0", - "pkg-dir": "^4.2.0", + "global": "^4.4.0", + "html-webpack-plugin": "^4.0.0", "pnp-webpack-plugin": "1.6.4", - "postcss-flexbugs-fixes": "^4.1.0", - "postcss-loader": "^3.0.0", - "pretty-hrtime": "^1.0.3", - "qs": "^6.6.0", - "raw-loader": "^4.0.1", + "postcss": "^7.0.35", + "postcss-flexbugs-fixes": "^4.2.1", + "postcss-loader": "^4.2.0", + "raw-loader": "^4.0.2", "react-dev-utils": "^11.0.3", - "regenerator-runtime": "^0.13.7", - "resolve-from": "^5.0.0", - "serve-favicon": "^2.5.0", - "shelljs": "^0.8.4", "stable": "^0.1.8", - "style-loader": "^1.2.1", - "telejson": "^5.0.2", - "terser-webpack-plugin": "^3.0.0", + "style-loader": "^1.3.0", + "terser-webpack-plugin": "^3.1.0", "ts-dedent": "^2.0.0", - "unfetch": "^4.1.0", - "url-loader": "^4.0.0", + "url-loader": "^4.1.1", "util-deprecate": "^1.0.2", - "webpack": "^4.44.2", - "webpack-dev-middleware": "^3.7.0", + "webpack": "4", + "webpack-dev-middleware": "^3.7.3", "webpack-filter-warnings-plugin": "^1.2.1", "webpack-hot-middleware": "^2.25.0", "webpack-virtual-modules": "^0.2.2" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "@babel/helper-define-polyfill-provider": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.5.tgz", + "integrity": "sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==", "dev": true, "requires": { - "color-convert": "^2.0.1" + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" } }, "autoprefixer": { @@ -37455,36 +34428,84 @@ "postcss-value-parser": "^4.1.0" } }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", "dev": true, "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + } } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "babel-plugin-polyfill-corejs3": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz", + "integrity": "sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==", "dev": true, "requires": { - "color-name": "~1.1.4" + "@babel/helper-define-polyfill-provider": "^0.1.5", + "core-js-compat": "^3.8.1" } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "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" + } }, - "commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "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" + } + }, + "fork-ts-checker-webpack-plugin": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz", + "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "chalk": "^2.4.1", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } }, "html-webpack-plugin": { "version": "4.5.2", @@ -37503,70 +34524,87 @@ "util.promisify": "1.0.0" } }, - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "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": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "is-plain-object": "^2.0.4" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "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" + } + }, + "postcss-loader": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.2.0.tgz", + "integrity": "sha512-mqgScxHqbiz1yxbnNcPdKYo/6aVt+XExURmEbQlviFVWogDbM4AJ0A/B+ZBpYsJrTRxKw7HyRazg9x0Q9SWwLA==", + "dev": true, + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.4", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.4" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" } }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "schema-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "@types/json-schema": "^7.0.6", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" } }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" + "lru-cache": "^6.0.0" } } } @@ -37577,11 +34615,400 @@ "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "dev": true }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "style-loader": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz", + "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^2.7.0" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + } + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true + } + } + }, + "@storybook/channel-postmessage": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.2.9.tgz", + "integrity": "sha512-OqV+gLeeCHR0KExsIz0B7gD17Cjd9D+I75qnBsLWM9inWO5kc/WZ5svw8Bvjlcm6snWpvxUaT8L+svuqcPSmww==", + "dev": true, + "requires": { + "@storybook/channels": "6.2.9", + "@storybook/client-logger": "6.2.9", + "@storybook/core-events": "6.2.9", + "core-js": "^3.8.2", + "global": "^4.4.0", + "qs": "^6.10.0", + "telejson": "^5.1.0" + } + }, + "@storybook/channels": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.2.9.tgz", + "integrity": "sha512-6dC8Fb2ipNyOQXnUZMDeEUaJGH5DMLzyHlGLhVyDtrO5WR6bO8mQdkzf4+5dSKXgCBNX0BSkssXth4pDjn18rg==", + "dev": true, + "requires": { + "core-js": "^3.8.2", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + } + }, + "@storybook/client-api": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.2.9.tgz", + "integrity": "sha512-aLvEUVkbvv6Qo/2mF4rFCecdqi2CGOUDdsV1a6EFIVS/9gXFdpirsOwKHo9qNjacGdWPlBYGCUcbrw+DvNaSFA==", + "dev": true, + "requires": { + "@storybook/addons": "6.2.9", + "@storybook/channel-postmessage": "6.2.9", + "@storybook/channels": "6.2.9", + "@storybook/client-logger": "6.2.9", + "@storybook/core-events": "6.2.9", + "@storybook/csf": "0.0.1", + "@types/qs": "^6.9.5", + "@types/webpack-env": "^1.16.0", + "core-js": "^3.8.2", + "global": "^4.4.0", + "lodash": "^4.17.20", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "regenerator-runtime": "^0.13.7", + "stable": "^0.1.8", + "store2": "^2.12.0", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + } + }, + "@storybook/client-logger": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.2.9.tgz", + "integrity": "sha512-IfOQZuvpjh66qBInQCJOb9S0dTGpzZ/Cxlcvokp+PYt95KztaWN3mPm+HaDQCeRsrWNe0Bpm1zuickcJ6dBOXg==", + "dev": true, + "requires": { + "core-js": "^3.8.2", + "global": "^4.4.0" + } + }, + "@storybook/components": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.2.9.tgz", + "integrity": "sha512-hnV1MI2aB2g1sJ7NJphpxi7TwrMZQ/tpCJeHnkjmzyC6ez1MXqcBXGrEEdSXzRfAxjQTOEpu6H1mnns0xMP0Ag==", + "dev": true, + "requires": { + "@popperjs/core": "^2.6.0", + "@storybook/client-logger": "6.2.9", + "@storybook/csf": "0.0.1", + "@storybook/theming": "6.2.9", + "@types/color-convert": "^2.0.0", + "@types/overlayscrollbars": "^1.12.0", + "@types/react-syntax-highlighter": "11.0.5", + "color-convert": "^2.0.1", + "core-js": "^3.8.2", + "fast-deep-equal": "^3.1.3", + "global": "^4.4.0", + "lodash": "^4.17.20", + "markdown-to-jsx": "^7.1.0", + "memoizerific": "^1.11.3", + "overlayscrollbars": "^1.13.1", + "polished": "^4.0.5", + "prop-types": "^15.7.2", + "react-colorful": "^5.0.1", + "react-popper-tooltip": "^3.1.1", + "react-syntax-highlighter": "^13.5.3", + "react-textarea-autosize": "^8.3.0", + "regenerator-runtime": "^0.13.7", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + } + }, + "@storybook/core": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.2.9.tgz", + "integrity": "sha512-pzbyjWvj0t8m0kR2pC9GQne4sZn7Y/zfcbm6/31CL+yhzOQjfJEj3n4ZFUlxikXqQJPg1aWfypfyaeaLL0QyuA==", + "dev": true, + "requires": { + "@storybook/core-client": "6.2.9", + "@storybook/core-server": "6.2.9" + } + }, + "@storybook/core-client": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.2.9.tgz", + "integrity": "sha512-jW841J5lCe1Ub5ZMtzYPgCy/OUddFxxVYeHLZyuNxlH5RoiQQxbDpuFlzuZMYGuIzD6eZw+ANE4w5vW/y5oBfA==", + "dev": true, + "requires": { + "@storybook/addons": "6.2.9", + "@storybook/channel-postmessage": "6.2.9", + "@storybook/client-api": "6.2.9", + "@storybook/client-logger": "6.2.9", + "@storybook/core-events": "6.2.9", + "@storybook/csf": "0.0.1", + "@storybook/ui": "6.2.9", + "ansi-to-html": "^0.6.11", + "core-js": "^3.8.2", + "global": "^4.4.0", + "lodash": "^4.17.20", + "qs": "^6.10.0", + "regenerator-runtime": "^0.13.7", + "ts-dedent": "^2.0.0", + "unfetch": "^4.2.0", + "util-deprecate": "^1.0.2" + } + }, + "@storybook/core-common": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.2.9.tgz", + "integrity": "sha512-ve0Qb4EMit8jGibfZBprmaU2i4LtpB4vSMIzD9nB1YeBmw2cGhHubtmayZ0TwcV3fPQhtYH9wwRWuWyzzHyQyw==", + "dev": true, + "requires": { + "@babel/core": "^7.12.10", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-decorators": "^7.12.12", + "@babel/plugin-proposal-export-default-from": "^7.12.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", + "@babel/plugin-proposal-object-rest-spread": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.12.7", + "@babel/plugin-proposal-private-methods": "^7.12.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-arrow-functions": "^7.12.1", + "@babel/plugin-transform-block-scoping": "^7.12.12", + "@babel/plugin-transform-classes": "^7.12.1", + "@babel/plugin-transform-destructuring": "^7.12.1", + "@babel/plugin-transform-for-of": "^7.12.1", + "@babel/plugin-transform-parameters": "^7.12.1", + "@babel/plugin-transform-shorthand-properties": "^7.12.1", + "@babel/plugin-transform-spread": "^7.12.1", + "@babel/preset-env": "^7.12.11", + "@babel/preset-react": "^7.12.10", + "@babel/preset-typescript": "^7.12.7", + "@babel/register": "^7.12.1", + "@storybook/node-logger": "6.2.9", + "@storybook/semver": "^7.3.2", + "@types/glob-base": "^0.3.0", + "@types/micromatch": "^4.0.1", + "@types/node": "^14.0.10", + "@types/pretty-hrtime": "^1.0.0", + "babel-loader": "^8.2.2", + "babel-plugin-macros": "^3.0.1", + "babel-plugin-polyfill-corejs3": "^0.1.0", + "chalk": "^4.1.0", + "core-js": "^3.8.2", + "express": "^4.17.1", + "file-system-cache": "^1.0.5", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.0.4", + "glob": "^7.1.6", + "glob-base": "^0.3.0", + "interpret": "^2.2.0", + "json5": "^2.1.3", + "lazy-universal-dotenv": "^3.0.1", + "micromatch": "^4.0.2", + "pkg-dir": "^5.0.0", + "pretty-hrtime": "^1.0.3", + "resolve-from": "^5.0.0", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2", + "webpack": "4" + }, + "dependencies": { + "@babel/helper-define-polyfill-provider": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.5.tgz", + "integrity": "sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz", + "integrity": "sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.1.5", + "core-js-compat": "^3.8.1" + } + }, + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@storybook/core-events": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.2.9.tgz", + "integrity": "sha512-xQmbX/oYQK1QsAGN8hriXX5SUKOoTUe3L4dVaVHxJqy7MReRWJpprJmCpbAPJzWS6WCbDFfCM5kVEexHLOzJlQ==", + "dev": true, + "requires": { + "core-js": "^3.8.2" + } + }, + "@storybook/core-server": { + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.2.9.tgz", + "integrity": "sha512-DzihO73pj1Ro0Y4tq9hjw2mLMUYeSRPrx7CndCOBxcTHCKQ8Kd7Dee3wJ49t5/19V7TW1+4lYR59GAy73FeOAQ==", + "dev": true, + "requires": { + "@babel/core": "^7.12.10", + "@babel/plugin-transform-template-literals": "^7.12.1", + "@babel/preset-react": "^7.12.10", + "@storybook/addons": "6.2.9", + "@storybook/builder-webpack4": "6.2.9", + "@storybook/core-client": "6.2.9", + "@storybook/core-common": "6.2.9", + "@storybook/node-logger": "6.2.9", + "@storybook/semver": "^7.3.2", + "@storybook/theming": "6.2.9", + "@storybook/ui": "6.2.9", + "@types/node": "^14.0.10", + "@types/node-fetch": "^2.5.7", + "@types/pretty-hrtime": "^1.0.0", + "@types/webpack": "^4.41.26", + "airbnb-js-shims": "^2.2.1", + "babel-loader": "^8.2.2", + "better-opn": "^2.1.1", + "boxen": "^4.2.0", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "chalk": "^4.1.0", + "cli-table3": "0.6.0", + "commander": "^6.2.1", + "core-js": "^3.8.2", + "cpy": "^8.1.1", + "css-loader": "^3.6.0", + "detect-port": "^1.3.0", + "dotenv-webpack": "^1.8.0", + "express": "^4.17.1", + "file-loader": "^6.2.0", + "file-system-cache": "^1.0.5", + "find-up": "^5.0.0", + "fs-extra": "^9.0.1", + "global": "^4.4.0", + "html-webpack-plugin": "^4.0.0", + "ip": "^1.1.5", + "node-fetch": "^2.6.1", + "pnp-webpack-plugin": "1.6.4", + "pretty-hrtime": "^1.0.3", + "prompts": "^2.4.0", + "read-pkg-up": "^7.0.1", + "regenerator-runtime": "^0.13.7", + "resolve-from": "^5.0.0", + "serve-favicon": "^2.5.0", + "style-loader": "^1.3.0", + "telejson": "^5.1.0", + "terser-webpack-plugin": "^3.1.0", + "ts-dedent": "^2.0.0", + "url-loader": "^4.1.1", + "util-deprecate": "^1.0.2", + "webpack": "4", + "webpack-dev-middleware": "^3.7.3", + "webpack-virtual-modules": "^0.2.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "html-webpack-plugin": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz", + "integrity": "sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==", + "dev": true, + "requires": { + "@types/html-minifier-terser": "^5.0.0", + "@types/tapable": "^1.0.5", + "@types/webpack": "^4.41.8", + "html-minifier-terser": "^5.0.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.20", + "pretty-error": "^2.1.1", + "tapable": "^1.1.3", + "util.promisify": "1.0.0" + } }, "style-loader": { "version": "1.3.0", @@ -37613,27 +35040,10 @@ "dev": true, "requires": { "has-flag": "^4.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - } } } } }, - "@storybook/core-events": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.1.21.tgz", - "integrity": "sha512-KWqnh1C7M1pT//WfQb3AD60yTR8jL48AfaeLGto2gO9VK7VVgj/EGsrXZP/GTL90ygyExbbBI5gkr7EBTu/HYw==", - "dev": true, - "requires": { - "core-js": "^3.0.1" - } - }, "@storybook/csf": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.1.tgz", @@ -37644,14 +35054,14 @@ } }, "@storybook/node-logger": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.1.21.tgz", - "integrity": "sha512-wQZZw4n1PG3kGOsczWCBC6+8RagYkrGYDqsVOpUcs5shGbPg5beCXDuzP4nxz2IlsoP9ZtTSaX741H791OIOjA==", + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.2.9.tgz", + "integrity": "sha512-ryRBChWZf1A5hOVONErJZosS25IdMweoMVFAUAcj91iC0ynoSA6YL2jmoE71jQchxEXEgkDeRkX9lR/GlqFGZQ==", "dev": true, "requires": { "@types/npmlog": "^4.1.2", - "chalk": "^4.0.0", - "core-js": "^3.0.1", + "chalk": "^4.1.0", + "core-js": "^3.8.2", "npmlog": "^4.1.2", "pretty-hrtime": "^1.0.3" }, @@ -37666,30 +35076,15 @@ } }, "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -37708,46 +35103,52 @@ } }, "@storybook/react": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-6.1.21.tgz", - "integrity": "sha512-j3gq/ssWxRCCH5iCHbP3ihXSGS7lVWh1HpmBmGbbhHGHgdmSPsRjwDXiQGE81EmE7bzbC8NECBhU3zHJ6h1TvA==", + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-6.2.9.tgz", + "integrity": "sha512-glvw+o/Vek2oapYIXCYDK6gm3cuSnx0XdOpiJVcXk3KLb8JfLbdzGYYp6dcWUbyOBqGcGFRpXIgMmkcwgn+fvQ==", "dev": true, "requires": { "@babel/preset-flow": "^7.12.1", - "@babel/preset-react": "^7.12.1", - "@pmmmwh/react-refresh-webpack-plugin": "^0.4.2", - "@storybook/addons": "6.1.21", - "@storybook/core": "6.1.21", - "@storybook/node-logger": "6.1.21", + "@babel/preset-react": "^7.12.10", + "@pmmmwh/react-refresh-webpack-plugin": "^0.4.3", + "@storybook/addons": "6.2.9", + "@storybook/core": "6.2.9", + "@storybook/core-common": "6.2.9", + "@storybook/node-logger": "6.2.9", "@storybook/semver": "^7.3.2", - "@types/webpack-env": "^1.15.3", + "@types/webpack-env": "^1.16.0", "babel-plugin-add-react-displayname": "^0.0.5", "babel-plugin-named-asset-import": "^0.3.1", "babel-plugin-react-docgen": "^4.2.1", - "core-js": "^3.0.1", - "global": "^4.3.2", - "lodash": "^4.17.15", + "core-js": "^3.8.2", + "global": "^4.4.0", + "lodash": "^4.17.20", "prop-types": "^15.7.2", "react-dev-utils": "^11.0.3", "react-docgen-typescript-plugin": "^0.6.2", "react-refresh": "^0.8.3", + "read-pkg-up": "^7.0.1", "regenerator-runtime": "^0.13.7", "ts-dedent": "^2.0.0", - "webpack": "^4.44.2" + "webpack": "4" } }, "@storybook/router": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.1.21.tgz", - "integrity": "sha512-m75WvUhoCBWDVekICAdbkidji/w5hCjHo+M8L13UghpwXWEnyr4/QqvkOb/PcSC8aZzxeMqSCpRQ1o6LWULneg==", + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.2.9.tgz", + "integrity": "sha512-7Bn1OFoItCl8whXRT8N1qp1Lky7kzXJ3aslWp5E8HcM8rxh4OYXfbaeiyJEJxBTGC5zxgY+tAEXHFjsAviFROg==", "dev": true, "requires": { - "@reach/router": "^1.3.3", + "@reach/router": "^1.3.4", + "@storybook/client-logger": "6.2.9", "@types/reach__router": "^1.3.7", - "core-js": "^3.0.1", - "global": "^4.3.2", + "core-js": "^3.8.2", + "fast-deep-equal": "^3.1.3", + "global": "^4.4.0", + "lodash": "^4.17.20", "memoizerific": "^1.11.3", - "qs": "^6.6.0" + "qs": "^6.10.0", + "ts-dedent": "^2.0.0" } }, "@storybook/semver": { @@ -37758,64 +35159,105 @@ "requires": { "core-js": "^3.6.5", "find-up": "^4.1.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + } } }, "@storybook/theming": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.1.21.tgz", - "integrity": "sha512-yq7+/mpdljRdSRJYw/In/9tnDGXIUDe//mhyMftFfrB2mq6zi1yAZpowCerWhiDE2ipGkrfzIYx/Sn7bcaXgqg==", + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.2.9.tgz", + "integrity": "sha512-183oJW7AD7Fhqg5NT4ct3GJntwteAb9jZnQ6yhf9JSdY+fk8OhxRbPf7ov0au2gYACcGrWDd9K5pYQsvWlP5gA==", "dev": true, "requires": { "@emotion/core": "^10.1.1", "@emotion/is-prop-valid": "^0.8.6", - "@emotion/styled": "^10.0.23", - "@storybook/client-logger": "6.1.21", - "core-js": "^3.0.1", + "@emotion/styled": "^10.0.27", + "@storybook/client-logger": "6.2.9", + "core-js": "^3.8.2", "deep-object-diff": "^1.1.0", - "emotion-theming": "^10.0.19", - "global": "^4.3.2", + "emotion-theming": "^10.0.27", + "global": "^4.4.0", "memoizerific": "^1.11.3", - "polished": "^3.4.4", + "polished": "^4.0.5", "resolve-from": "^5.0.0", "ts-dedent": "^2.0.0" } }, "@storybook/ui": { - "version": "6.1.21", - "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.1.21.tgz", - "integrity": "sha512-2nRb5egnSBKbosuR7g5PsuM4XnRLXZUf7TBjwT6eRlomnE2wrWM5DtTLpFeUpDob0SI5hPlOV1xCpPz3XmeyyA==", + "version": "6.2.9", + "resolved": "https://registry.npmjs.org/@storybook/ui/-/ui-6.2.9.tgz", + "integrity": "sha512-jq2xmw3reIqik/6ibUSbNKGR+Xvr9wkAEwexiOl+5WQ5BeYJpw4dmDmsFQf+SQuWaSEUUPolbzkakRQM778Kdg==", "dev": true, "requires": { "@emotion/core": "^10.1.1", - "@storybook/addons": "6.1.21", - "@storybook/api": "6.1.21", - "@storybook/channels": "6.1.21", - "@storybook/client-logger": "6.1.21", - "@storybook/components": "6.1.21", - "@storybook/core-events": "6.1.21", - "@storybook/router": "6.1.21", + "@storybook/addons": "6.2.9", + "@storybook/api": "6.2.9", + "@storybook/channels": "6.2.9", + "@storybook/client-logger": "6.2.9", + "@storybook/components": "6.2.9", + "@storybook/core-events": "6.2.9", + "@storybook/router": "6.2.9", "@storybook/semver": "^7.3.2", - "@storybook/theming": "6.1.21", - "@types/markdown-to-jsx": "^6.11.0", - "copy-to-clipboard": "^3.0.8", - "core-js": "^3.0.1", - "core-js-pure": "^3.0.1", - "downshift": "^6.0.6", - "emotion-theming": "^10.0.19", + "@storybook/theming": "6.2.9", + "@types/markdown-to-jsx": "^6.11.3", + "copy-to-clipboard": "^3.3.1", + "core-js": "^3.8.2", + "core-js-pure": "^3.8.2", + "downshift": "^6.0.15", + "emotion-theming": "^10.0.27", "fuse.js": "^3.6.1", - "global": "^4.3.2", - "lodash": "^4.17.15", + "global": "^4.4.0", + "lodash": "^4.17.20", "markdown-to-jsx": "^6.11.4", "memoizerific": "^1.11.3", - "polished": "^3.4.4", - "qs": "^6.6.0", - "react-draggable": "^4.0.3", - "react-helmet-async": "^1.0.2", - "react-hotkeys": "2.0.0", - "react-sizeme": "^2.6.7", + "polished": "^4.0.5", + "qs": "^6.10.0", + "react-draggable": "^4.4.3", + "react-helmet-async": "^1.0.7", + "react-sizeme": "^3.0.1", "regenerator-runtime": "^0.13.7", "resolve-from": "^5.0.0", - "store2": "^2.7.1" + "store2": "^2.12.0" + }, + "dependencies": { + "markdown-to-jsx": { + "version": "6.11.4", + "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz", + "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==", + "dev": true, + "requires": { + "prop-types": "^15.6.2", + "unquote": "^1.1.0" + } + } } }, "@svgr/babel-plugin-add-jsx-attribute": { @@ -37893,15 +35335,6 @@ "cosmiconfig": "^5.2.1" }, "dependencies": { - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, "cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", @@ -37974,15 +35407,6 @@ "svgo": "^1.2.2" }, "dependencies": { - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, "cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", @@ -38092,6 +35516,21 @@ "integrity": "sha512-TbH79tcyi9FHwbyboOKeRachRq63mSuWYXOflsNO9ZyE5ClQ/JaozNKl+aWUq87qPNsXasXxi2AbgfwIJ+8GQw==", "dev": true }, + "@types/color-convert": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/color-convert/-/color-convert-2.0.0.tgz", + "integrity": "sha512-m7GG7IKKGuJUXvkZ1qqG3ChccdIM/qBBo913z+Xft0nKCX4hAU/IxKwZBU4cpRZ7GS5kV4vOblUkILtSShCPXQ==", + "dev": true, + "requires": { + "@types/color-name": "*" + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, "@types/component-emitter": { "version": "1.2.10", "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz", @@ -38201,27 +35640,33 @@ } }, "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==", "dev": true }, "@types/node": { - "version": "14.14.35", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz", - "integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==", + "version": "14.14.43", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.43.tgz", + "integrity": "sha512-3pwDJjp1PWacPTpH0LcfhgjvurQvrZFBrC6xxjaUEZ7ifUtT32jtjPxEMMblpqd2Mvx+k8haqQJLQxolyGN/cQ==", "dev": true }, "@types/node-fetch": { - "version": "2.5.8", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.8.tgz", - "integrity": "sha512-fbjI6ja0N5ZA8TV53RUqzsKNkl9fv8Oj3T7zxW7FGv1GSH7gwJaNF8dzCjrqKaxKeUpTz4yT1DaJFq/omNpGfw==", + "version": "2.5.10", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.10.tgz", + "integrity": "sha512-IpkX0AasN44hgEad0gEF/V6EgR5n69VEqPEgnmoM8GsIGro3PowbWs4tR6IhxUTyPLpOn+fiGG6nrQhcmoCuIQ==", "dev": true, "requires": { "@types/node": "*", "form-data": "^3.0.0" } }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, "@types/npmlog": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/@types/npmlog/-/npmlog-4.1.2.tgz", @@ -38240,6 +35685,12 @@ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", "dev": true }, + "@types/pretty-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/pretty-hrtime/-/pretty-hrtime-1.0.0.tgz", + "integrity": "sha512-xl+5r2rcrxdLViAYkkiLMYsoUs3qEyrAnHFyEzYysgRxdVp3WbhysxIvJIxZp9FvZ2CYezh0TaHZorivH+voOQ==", + "dev": true + }, "@types/prop-types": { "version": "15.7.3", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", @@ -38268,9 +35719,9 @@ } }, "@types/react": { - "version": "17.0.3", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.3.tgz", - "integrity": "sha512-wYOUxIgs2HZZ0ACNiIayItyluADNbONl7kt8lkLjVK8IitMH5QMyAh75Fwhmo37r1m7L2JaFj03sIfxBVDvRAg==", + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.4.tgz", + "integrity": "sha512-onz2BqScSFMoTRdJUZUDD/7xrusM8hBA2Fktk2qgaTYPCgPvWnDEgkrOs8hhPUf2jfcIXkJ5yK6VfYormJS3Jw==", "dev": true, "requires": { "@types/prop-types": "*", @@ -38279,36 +35730,17 @@ }, "dependencies": { "csstype": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.7.tgz", - "integrity": "sha512-KxnUB0ZMlnUWCsx2Z8MUsr6qV6ja1w9ArPErJaJaF8a5SOWoHLIszeCTKGRGRgtLgYrs1E8CHkNSP1VZTTPc9g==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz", + "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==", "dev": true } } }, - "@types/react-color": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/react-color/-/react-color-3.0.4.tgz", - "integrity": "sha512-EswbYJDF1kkrx93/YU+BbBtb46CCtDMvTiGmcOa/c5PETnwTiSWoseJ1oSWeRl/4rUXkhME9bVURvvPg0W5YQw==", - "dev": true, - "requires": { - "@types/react": "*", - "@types/reactcss": "*" - } - }, "@types/react-syntax-highlighter": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-11.0.4.tgz", - "integrity": "sha512-9GfTo3a0PHwQeTVoqs0g5bS28KkSY48pp5659wA+Dp4MqceDEa8EHBqrllJvvtyusszyJhViUEap0FDvlk/9Zg==", - "dev": true, - "requires": { - "@types/react": "*" - } - }, - "@types/reactcss": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/reactcss/-/reactcss-1.2.3.tgz", - "integrity": "sha512-d2gQQ0IL6hXLnoRfVYZukQNWHuVsE75DzFTLPUuyyEhJS8G2VvlE+qfQQ91SJjaMqlURRCNIsX7Jcsw6cEuJlA==", + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-11.0.5.tgz", + "integrity": "sha512-VIOi9i2Oj5XsmWWoB72p3KlZoEbdRAcechJa8Ztebw7bDl2YmR+odxIqhtJGp1q2EozHs02US+gzxJ9nuf56qg==", "dev": true, "requires": { "@types/react": "*" @@ -38333,9 +35765,9 @@ "dev": true }, "@types/tapable": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz", - "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.7.tgz", + "integrity": "sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ==", "dev": true }, "@types/uglify-js": { @@ -38362,14 +35794,14 @@ "dev": true }, "@types/webpack": { - "version": "4.41.26", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.26.tgz", - "integrity": "sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA==", + "version": "4.41.27", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.27.tgz", + "integrity": "sha512-wK/oi5gcHi72VMTbOaQ70VcDxSQ1uX8S2tukBK9ARuGXrYM/+u4ou73roc7trXDNmCxCoerE8zruQqX/wuHszA==", "dev": true, "requires": { "@types/anymatch": "*", "@types/node": "*", - "@types/tapable": "*", + "@types/tapable": "^1", "@types/uglify-js": "*", "@types/webpack-sources": "*", "source-map": "^0.6.0" @@ -38415,6 +35847,18 @@ "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", "dev": true }, + "@typescript-eslint/eslint-plugin": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", + "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "2.34.0", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" + } + }, "@typescript-eslint/experimental-utils": { "version": "2.34.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", @@ -38425,18 +35869,18 @@ "@typescript-eslint/typescript-estree": "2.34.0", "eslint-scope": "^5.0.0", "eslint-utils": "^2.0.0" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - } + } + }, + "@typescript-eslint/parser": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", + "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", + "dev": true, + "requires": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.34.0", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-visitor-keys": "^1.1.0" } }, "@typescript-eslint/typescript-estree": { @@ -38684,10 +36128,9 @@ } }, "acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", - "dev": true + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" }, "acorn-globals": { "version": "4.3.4", @@ -38708,23 +36151,10 @@ } }, "acorn-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", - "dev": true, - "peer": true, - "requires": { - "acorn": "^3.0.4" - }, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", - "dev": true, - "peer": true - } - } + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true }, "acorn-node": { "version": "1.8.2", @@ -38736,11 +36166,6 @@ "xtend": "^4.0.2" }, "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - }, "acorn-walk": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", @@ -38827,41 +36252,28 @@ } }, "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "peer": true, "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - }, - "dependencies": { - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", - "dev": true, - "peer": true - } + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, "ajv-errors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "requires": {} + "dev": true }, "ajv-keywords": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", - "dev": true, - "peer": true, - "requires": {} + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true }, "alphanum-sort": { "version": "1.0.2", @@ -39065,18 +36477,18 @@ } }, "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "requires": { - "type-fest": "^0.11.0" + "type-fest": "^0.21.3" }, "dependencies": { "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true } } @@ -39189,6 +36601,21 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { "color-convert": "^1.9.0" + }, + "dependencies": { + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + } } }, "ansi-to-html": { @@ -39272,12 +36699,6 @@ "is-plain-object": "^2.0.4" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -39330,6 +36751,32 @@ "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + } } }, "argparse": { @@ -39555,9 +37002,9 @@ }, "dependencies": { "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", "dev": true } } @@ -39575,9 +37022,9 @@ "dev": true }, "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", + "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==", "dev": true }, "async-each": { @@ -39633,13 +37080,30 @@ "caniuse-lite": "^1.0.30000792", "electron-to-chromium": "^1.3.30" } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, "aws-sdk": { - "version": "2.870.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.870.0.tgz", - "integrity": "sha512-pbNO+RuEx45aaEZind0Tl9NADxncLJf0mRAwof0szyYMB+FZm165yz7FCxFLumU4R9qw8vOG5YFACBaNoQkJdg==", + "version": "2.899.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.899.0.tgz", + "integrity": "sha512-k8jSANDQGvTyyj1f/7Hj4SWaV61/gjj/BopRmavAr6n1ayjXtUeVrV8G29+ABD3V82pHXDqLq47bqNmZ9m86xQ==", "dev": true, "requires": { "buffer": "4.9.2", @@ -39666,9 +37130,9 @@ "dev": true }, "axe-core": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.1.3.tgz", - "integrity": "sha512-vwPpH4Aj4122EW38mxO/fxhGKtwWTMLDIJfZ1He0Edbtjcfna/R3YB67yVhezUMzqc3Jr3+Ii50KRntlENL4xQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.2.0.tgz", + "integrity": "sha512-1uIESzroqpaTzt9uX48HO+6gfnKu3RwvWdCcWSrX4csMInJfCo1yvKPNXCwXFRpJqRW25tiASb6No0YH57PXqg==", "dev": true }, "axobject-query": { @@ -39688,12 +37152,6 @@ "js-tokens": "^3.0.2" }, "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", @@ -39719,15 +37177,6 @@ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, - "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" - } - }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -39736,74 +37185,6 @@ } } }, - "babel-core": { - "version": "6.26.3", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "dev": true, - "peer": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "peer": true, - "requires": { - "ms": "2.0.0" - } - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true, - "peer": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true, - "peer": true - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true, - "peer": 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, - "peer": true - } - } - }, "babel-eslint": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", @@ -39827,92 +37208,6 @@ "babylon": "^6.18.0" } }, - "babel-generator": { - "version": "6.26.1", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "dev": true, - "peer": true, - "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" - }, - "dependencies": { - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "dev": true, - "peer": 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, - "peer": true - } - } - }, - "babel-helper-evaluate-path": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz", - "integrity": "sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==", - "dev": true - }, - "babel-helper-flip-expressions": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz", - "integrity": "sha1-NpZzahKKwYvCUlS19AoizrPB0/0=", - "dev": true - }, - "babel-helper-is-nodes-equiv": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz", - "integrity": "sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=", - "dev": true - }, - "babel-helper-is-void-0": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz", - "integrity": "sha1-fZwBtFYee5Xb2g9u7kj1tg5nMT4=", - "dev": true - }, - "babel-helper-mark-eval-scopes": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz", - "integrity": "sha1-0kSjvvmESHJgP/tG4izorN9VFWI=", - "dev": true - }, - "babel-helper-remove-or-void": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz", - "integrity": "sha1-pPA7QAd6D/6I5F0HAQ3uJB/1rmA=", - "dev": true - }, - "babel-helper-to-multiple-sequence-expressions": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz", - "integrity": "sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==", - "dev": true - }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "dev": true, - "peer": true, - "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, "babel-jest": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", @@ -39951,6 +37246,25 @@ "pkg-dir": "^4.1.0" } }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, "make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -39959,19 +37273,27 @@ "requires": { "semver": "^6.0.0" } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } } } }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, - "peer": true, - "requires": { - "babel-runtime": "^6.22.0" - } - }, "babel-plugin-add-react-displayname": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz", @@ -40005,6 +37327,30 @@ "source-map": "^0.5.7" }, "dependencies": { + "babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + } + }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -40052,6 +37398,12 @@ "requires": { "p-limit": "^2.0.0" } + }, + "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 } } }, @@ -40065,159 +37417,50 @@ } }, "babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.0.1.tgz", + "integrity": "sha512-CKt4+Oy9k2wiN+hT1uZzOw7d8zb1anbQpf7KLwaaXRCi/4pzKdFKHf7v5mvoPmjkmxshh7eKZQuRop06r5WP4w==", "dev": true, "requires": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" - } - }, - "babel-plugin-minify-builtins": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz", - "integrity": "sha512-wpqbN7Ov5hsNwGdzuzvFcjgRlzbIeVv1gMIlICbPj0xkexnfoIDe7q+AZHMkQmAE/F9R5jkrB6TLfTegImlXag==", - "dev": true - }, - "babel-plugin-minify-constant-folding": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.5.0.tgz", - "integrity": "sha512-Vj97CTn/lE9hR1D+jKUeHfNy+m1baNiJ1wJvoGyOBUx7F7kJqDZxr9nCHjO/Ad+irbR3HzR6jABpSSA29QsrXQ==", - "dev": true, - "requires": { - "babel-helper-evaluate-path": "^0.5.0" - } - }, - "babel-plugin-minify-dead-code-elimination": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.1.tgz", - "integrity": "sha512-x8OJOZIrRmQBcSqxBcLbMIK8uPmTvNWPXH2bh5MDCW1latEqYiRMuUkPImKcfpo59pTUB2FT7HfcgtG8ZlR5Qg==", - "dev": true, - "requires": { - "babel-helper-evaluate-path": "^0.5.0", - "babel-helper-mark-eval-scopes": "^0.4.3", - "babel-helper-remove-or-void": "^0.4.3", - "lodash": "^4.17.11" - } - }, - "babel-plugin-minify-flip-comparisons": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz", - "integrity": "sha1-AMqHDLjxO0XAOLPB68DyJyk8llo=", - "dev": true, - "requires": { - "babel-helper-is-void-0": "^0.4.3" - } - }, - "babel-plugin-minify-guarded-expressions": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.4.tgz", - "integrity": "sha512-RMv0tM72YuPPfLT9QLr3ix9nwUIq+sHT6z8Iu3sLbqldzC1Dls8DPCywzUIzkTx9Zh1hWX4q/m9BPoPed9GOfA==", - "dev": true, - "requires": { - "babel-helper-evaluate-path": "^0.5.0", - "babel-helper-flip-expressions": "^0.4.3" - } - }, - "babel-plugin-minify-infinity": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz", - "integrity": "sha1-37h2obCKBldjhO8/kuZTumB7Oco=", - "dev": true - }, - "babel-plugin-minify-mangle-names": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.0.tgz", - "integrity": "sha512-3jdNv6hCAw6fsX1p2wBGPfWuK69sfOjfd3zjUXkbq8McbohWy23tpXfy5RnToYWggvqzuMOwlId1PhyHOfgnGw==", - "dev": true, - "requires": { - "babel-helper-mark-eval-scopes": "^0.4.3" - } - }, - "babel-plugin-minify-numeric-literals": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz", - "integrity": "sha1-jk/VYcefeAEob/YOjF/Z3u6TwLw=", - "dev": true - }, - "babel-plugin-minify-replace": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz", - "integrity": "sha512-aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q==", - "dev": true - }, - "babel-plugin-minify-simplify": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.1.tgz", - "integrity": "sha512-OSYDSnoCxP2cYDMk9gxNAed6uJDiDz65zgL6h8d3tm8qXIagWGMLWhqysT6DY3Vs7Fgq7YUDcjOomhVUb+xX6A==", - "dev": true, - "requires": { - "babel-helper-evaluate-path": "^0.5.0", - "babel-helper-flip-expressions": "^0.4.3", - "babel-helper-is-nodes-equiv": "^0.0.1", - "babel-helper-to-multiple-sequence-expressions": "^0.5.0" - } - }, - "babel-plugin-minify-type-constructors": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz", - "integrity": "sha1-G8bxW4f3qxCF1CszC3F2V6IVZQA=", - "dev": true, - "requires": { - "babel-helper-is-void-0": "^0.4.3" - } - }, - "babel-plugin-module-resolver": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.2.0.tgz", - "integrity": "sha512-tjR0GvSndzPew/Iayf4uICWZqjBwnlMWjSx6brryfQ81F9rxBVqwDJtFCV8oOs0+vJeefK9TmdZtkIFdFe1UnA==", - "dev": true, - "peer": true, - "requires": { - "find-babel-config": "^1.1.0", - "glob": "^7.1.2", - "pkg-up": "^2.0.0", - "reselect": "^3.0.1", - "resolve": "^1.4.0" + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" } }, "babel-plugin-named-asset-import": { "version": "0.3.7", "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz", "integrity": "sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw==", - "dev": true, - "requires": {} + "dev": true }, "babel-plugin-polyfill-corejs2": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.1.10.tgz", - "integrity": "sha512-DO95wD4g0A8KRaHKi0D51NdGXzvpqVLnLu5BTvDlpqUEpTmeEtypgC1xqesORaWmiUOQI14UHKlzNd9iZ2G3ZA==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz", + "integrity": "sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==", "dev": true, "requires": { - "@babel/compat-data": "^7.13.0", - "@babel/helper-define-polyfill-provider": "^0.1.5", + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.0", "semver": "^6.1.1" } }, "babel-plugin-polyfill-corejs3": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz", - "integrity": "sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz", + "integrity": "sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.1.5", - "core-js-compat": "^3.8.1" + "@babel/helper-define-polyfill-provider": "^0.2.0", + "core-js-compat": "^3.9.1" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.1.6.tgz", - "integrity": "sha512-OUrYG9iKPKz8NxswXbRAdSwF0GhRdIEMTloQATJi4bDuFqrXaXcCUT/VGNrr8pBcjMh1RxZ7Xt9cytVJTJfvMg==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz", + "integrity": "sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.1.5" + "@babel/helper-define-polyfill-provider": "^0.2.0" } }, "babel-plugin-react-docgen": { @@ -40254,30 +37497,6 @@ "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", "dev": true }, - "babel-plugin-transform-inline-consecutive-adds": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz", - "integrity": "sha1-Mj1Ho+pjqDp6w8gRro5pQfrysNE=", - "dev": true - }, - "babel-plugin-transform-member-expression-literals": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz", - "integrity": "sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8=", - "dev": true - }, - "babel-plugin-transform-merge-sibling-variables": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz", - "integrity": "sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4=", - "dev": true - }, - "babel-plugin-transform-minify-booleans": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz", - "integrity": "sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg=", - "dev": true - }, "babel-plugin-transform-object-rest-spread": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", @@ -40288,60 +37507,12 @@ "babel-runtime": "^6.26.0" } }, - "babel-plugin-transform-property-literals": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz", - "integrity": "sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk=", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, "babel-plugin-transform-react-remove-prop-types": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==", "dev": true }, - "babel-plugin-transform-regexp-constructors": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz", - "integrity": "sha1-WLd3W2OvzzMyj66aX4j71PsLSWU=", - "dev": true - }, - "babel-plugin-transform-remove-console": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz", - "integrity": "sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A=", - "dev": true - }, - "babel-plugin-transform-remove-debugger": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz", - "integrity": "sha1-QrcnYxyXl44estGZp67IShgznvI=", - "dev": true - }, - "babel-plugin-transform-remove-undefined": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz", - "integrity": "sha512-+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ==", - "dev": true, - "requires": { - "babel-helper-evaluate-path": "^0.5.0" - } - }, - "babel-plugin-transform-simplify-comparison-operators": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz", - "integrity": "sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk=", - "dev": true - }, - "babel-plugin-transform-undefined-to-void": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz", - "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=", - "dev": true - }, "babel-preset-jest": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", @@ -40352,37 +37523,6 @@ "babel-plugin-jest-hoist": "^24.9.0" } }, - "babel-preset-minify": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-minify/-/babel-preset-minify-0.5.1.tgz", - "integrity": "sha512-1IajDumYOAPYImkHbrKeiN5AKKP9iOmRoO2IPbIuVp0j2iuCcj0n7P260z38siKMZZ+85d3mJZdtW8IgOv+Tzg==", - "dev": true, - "requires": { - "babel-plugin-minify-builtins": "^0.5.0", - "babel-plugin-minify-constant-folding": "^0.5.0", - "babel-plugin-minify-dead-code-elimination": "^0.5.1", - "babel-plugin-minify-flip-comparisons": "^0.4.3", - "babel-plugin-minify-guarded-expressions": "^0.4.4", - "babel-plugin-minify-infinity": "^0.4.3", - "babel-plugin-minify-mangle-names": "^0.5.0", - "babel-plugin-minify-numeric-literals": "^0.4.3", - "babel-plugin-minify-replace": "^0.5.0", - "babel-plugin-minify-simplify": "^0.5.1", - "babel-plugin-minify-type-constructors": "^0.4.3", - "babel-plugin-transform-inline-consecutive-adds": "^0.4.3", - "babel-plugin-transform-member-expression-literals": "^6.9.4", - "babel-plugin-transform-merge-sibling-variables": "^6.9.4", - "babel-plugin-transform-minify-booleans": "^6.9.4", - "babel-plugin-transform-property-literals": "^6.9.4", - "babel-plugin-transform-regexp-constructors": "^0.4.3", - "babel-plugin-transform-remove-console": "^6.9.4", - "babel-plugin-transform-remove-debugger": "^6.9.4", - "babel-plugin-transform-remove-undefined": "^0.5.0", - "babel-plugin-transform-simplify-comparison-operators": "^6.9.4", - "babel-plugin-transform-undefined-to-void": "^6.9.4", - "lodash": "^4.17.11" - } - }, "babel-preset-react-app": { "version": "9.1.2", "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-9.1.2.tgz", @@ -40601,6 +37741,30 @@ "regenerator-runtime": "^0.13.4" } }, + "babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + } + }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -40615,48 +37779,6 @@ } } }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "dev": true, - "peer": true, - "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" - }, - "dependencies": { - "core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "dev": true, - "peer": 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, - "peer": true - }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "peer": true, - "requires": { - "source-map": "^0.5.6" - } - } - } - }, "babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", @@ -40678,86 +37800,6 @@ } } }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, - "peer": true, - "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, - "peer": true, - "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "peer": true, - "requires": { - "ms": "2.0.0" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true, - "peer": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true, - "peer": true - } - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, - "peer": true, - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - }, - "dependencies": { - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true, - "peer": true - } - } - }, "babylon": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", @@ -40770,9 +37812,9 @@ "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "base": { "version": "0.11.2", @@ -40887,6 +37929,21 @@ "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } } } }, @@ -41006,21 +38063,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -41076,6 +38118,28 @@ "through2": "^2.0.0" }, "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -41196,6 +38260,15 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } } } }, @@ -41209,15 +38282,15 @@ } }, "browserslist": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", - "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", + "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", "requires": { - "caniuse-lite": "^1.0.30001181", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.649", + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", "escalade": "^3.1.1", - "node-releases": "^1.1.70" + "node-releases": "^1.1.71" } }, "bser": { @@ -41365,22 +38438,12 @@ } }, "caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "dev": true, - "peer": true, "requires": { - "callsites": "^0.2.0" - }, - "dependencies": { - "callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", - "dev": true, - "peer": true - } + "caller-callsite": "^2.0.0" } }, "callsites": { @@ -41423,9 +38486,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001204", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001204.tgz", - "integrity": "sha512-JUdjWpcxfJ9IPamy2f5JaRDCaqJOxDzOSKtbdx4rH9VivMd1vIzoPumsJa9LoMIi4Fx2BV2KZOxWhNkBjaYivQ==" + "version": "1.0.30001221", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001221.tgz", + "integrity": "sha512-b9TOZfND3uGSLjMOrLh8XxSQ41x8mX+9MLJYDM4AAHLfaZHttrLNPrScWjVnBITRZbY5sPpCt7X85n7VSLZ+/g==" }, "capture-exit": { "version": "2.0.0", @@ -41533,9 +38596,9 @@ }, "dependencies": { "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "requires": { "normalize-path": "^3.0.0", @@ -41617,13 +38680,10 @@ "dev": true }, "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true }, "ci-info": { "version": "2.0.0", @@ -41645,15 +38705,7 @@ "version": "5.2.2", "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.2.tgz", "integrity": "sha512-g38K9Cm5WRwlaH6g03B9OEz/0qRizI+2I7n+Gz+L5DxXJAPAiWQvwlYNm1V1jkdpUv95bOe/ASm2vfi/G560jQ==", - "dev": true, - "requires": {} - }, - "circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "dev": true, - "peer": true + "dev": true }, "class-utils": { "version": "0.3.6", @@ -41683,6 +38735,17 @@ "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": { @@ -41692,6 +38755,17 @@ "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": { @@ -41703,22 +38777,20 @@ "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": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "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==" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" }, "clean-css": { "version": "4.2.3", @@ -41825,23 +38897,14 @@ } }, "clone-deep": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-1.0.0.tgz", - "integrity": "sha512-hmJRX8x1QOJVV+GUjOBzi6iauhPqc9hIF6xitWRBbiPZOBb6vGo/mDRIK9P74RTKSQK7AE8B0DDWY/vpRrPmQw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "requires": { - "for-own": "^1.0.0", "is-plain-object": "^2.0.4", - "kind-of": "^5.0.0", - "shallow-clone": "^1.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" } }, "clsx": { @@ -41873,9 +38936,9 @@ "dev": true }, "codemirror": { - "version": "5.60.0", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.60.0.tgz", - "integrity": "sha512-AEL7LhFOlxPlCL8IdTcJDblJm8yrAGib7I+DErJPdZd4l6imx8IMgKK3RblVgBQqz3TZJR4oknQ03bz+uNjBYA==" + "version": "5.61.0", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.61.0.tgz", + "integrity": "sha512-D3wYH90tYY1BsKlUe0oNj2JAhQ9TepkD51auk3N7q+4uz7A/cgJ5JsWHreT0PqieW1QhOuqxQ2reCXV1YXzecg==" }, "collection-visit": { "version": "1.0.0", @@ -41894,20 +38957,35 @@ "requires": { "color-convert": "^1.9.1", "color-string": "^1.5.4" + }, + "dependencies": { + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + } } }, "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { - "color-name": "1.1.3" + "color-name": "~1.1.4" } }, "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "color-string": { "version": "1.5.5", @@ -41948,6 +39026,21 @@ "color-convert": "^1.9.1", "color-string": "^1.5.2" } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true } } }, @@ -42078,6 +39171,30 @@ "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "confusing-browser-globals": { @@ -42201,31 +39318,6 @@ "webpack-log": "^2.0.0" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "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", @@ -42240,18 +39332,18 @@ } }, "core-js": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.9.1.tgz", - "integrity": "sha512-gSjRvzkxQc1zjM/5paAmL4idJBFzuJoo+jDjF1tStYFMV2ERfD02HhahhCGXUyHxQRG4yFKVSdO6g62eoRMcDg==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.11.2.tgz", + "integrity": "sha512-3tfrrO1JpJSYGKnd9LKTBPqgUES/UYiCzMKeqwR1+jF16q4kD1BY2NvqkfuzXwQ6+CIWm55V9cjD7PQd+hijdw==", "dev": true }, "core-js-compat": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.9.1.tgz", - "integrity": "sha512-jXAirMQxrkbiiLsCx9bQPJFA6llDadKMpYrBJQJ3/c4/vsPP/fAf29h24tviRlvwUL6AmY5CHLu2GvjuYviQqA==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.11.2.tgz", + "integrity": "sha512-gYhNwu7AJjecNtRrIfyoBabQ3ZG+llfPmg9BifIX8yxIpDyfNLRM73zIjINSm6z3dMdI1nwNC9C7uiy4pIC6cw==", "dev": true, "requires": { - "browserslist": "^4.16.3", + "browserslist": "^4.16.6", "semver": "7.0.0" }, "dependencies": { @@ -42264,9 +39356,9 @@ } }, "core-js-pure": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.9.1.tgz", - "integrity": "sha512-laz3Zx0avrw9a4QEIdmIblnVuJz8W51leY9iLThatCsFawWxC3sE4guASC78JbCin+DkwMpCdp1AVAuzL/GN7A==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.11.2.tgz", + "integrity": "sha512-DQxdEKm+zFsnON7ZGOgUAQXBt1UJJ01tOzN/HgQ7cNf0oEHW1tcBLfCQQd1q6otdLu5gAdvKYxKHAoXGwE/kiQ==", "dev": true }, "core-util-is": { @@ -42275,16 +39367,16 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", "dev": true, "requires": { "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", + "import-fresh": "^3.2.1", "parse-json": "^5.0.0", "path-type": "^4.0.0", - "yaml": "^1.7.2" + "yaml": "^1.10.0" } }, "country-data": { @@ -42408,12 +39500,6 @@ "is-plain-object": "^2.0.4" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -42508,43 +39594,22 @@ } }, "cross-fetch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.2.tgz", - "integrity": "sha512-+JhD65rDNqLbGmB3Gzs3HrEKC0aQnD+XA3SY6RjgkF88jV2q5cTc5+CwxlS3sdmLk98gpPt5CF9XRnPdlxZe6w==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz", + "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==", "requires": { "node-fetch": "2.6.1" } }, "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=", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "peer": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "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, - "peer": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true, - "peer": true - } + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, "crypto-browserify": { @@ -42602,34 +39667,6 @@ "dev": true, "requires": { "postcss": "^7.0.5" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "css-color-names": { @@ -42646,34 +39683,6 @@ "requires": { "postcss": "^7.0.1", "timsort": "^0.3.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "css-has-pseudo": { @@ -42692,17 +39701,6 @@ "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", "dev": true }, - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, "postcss-selector-parser": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", @@ -42713,21 +39711,6 @@ "indexes-of": "^1.0.1", "uniq": "^1.0.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -42752,37 +39735,11 @@ "semver": "^6.3.0" }, "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, "postcss-value-parser": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -42793,34 +39750,6 @@ "dev": true, "requires": { "postcss": "^7.0.5" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "css-select": { @@ -42882,26 +39811,17 @@ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" }, "cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", + "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", "dev": true, "requires": { "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", + "cssnano-preset-default": "^4.0.8", "is-resolvable": "^1.0.0", "postcss": "^7.0.0" }, "dependencies": { - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, "cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", @@ -42934,44 +39854,18 @@ "json-parse-better-errors": "^1.0.1" } }, - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, "resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, "cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", + "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", "dev": true, "requires": { "css-declaration-sorter": "^4.0.1", @@ -43002,36 +39896,8 @@ "postcss-ordered-values": "^4.1.2", "postcss-reduce-initial": "^4.0.3", "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", + "postcss-svgo": "^4.0.3", "postcss-unique-selectors": "^4.0.1" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "cssnano-util-get-arguments": { @@ -43053,34 +39919,6 @@ "dev": true, "requires": { "postcss": "^7.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "cssnano-util-same-parent": { @@ -43099,9 +39937,9 @@ }, "dependencies": { "css-tree": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", - "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "dev": true, "requires": { "mdn-data": "2.0.14", @@ -43138,9 +39976,9 @@ } }, "csstype": { - "version": "2.6.16", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.16.tgz", - "integrity": "sha512-61FBWoDHp/gRtsoDkq/B1nWrCUG/ok1E3tUrcNbZjsE9Cxd9yzUirjS3+nAATB8U4cTtaQmAHbNndoFz5L6C9Q==", + "version": "2.6.17", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.17.tgz", + "integrity": "sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A==", "dev": true }, "currency-symbol-map": { @@ -43299,9 +40137,9 @@ } }, "date-fns": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.19.0.tgz", - "integrity": "sha512-X3bf2iTPgCAQp9wvjOQytnf5vO5rESYRXlPIVcgSbtT5OTScPcsf9eZU+B/YIkKAtYr5WeCii58BgATrNitlWg==" + "version": "2.21.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.21.1.tgz", + "integrity": "sha512-m1WR0xGiC6j6jNFAyW4Nvh4WxAi4JF4w9jRJwSI8nBmNcyZXPcP9VUQG+6gHQXAmqaGEKDKhOqAtENDC941UkA==" }, "date-now": { "version": "0.1.4", @@ -43387,6 +40225,12 @@ "integrity": "sha512-b+QLs5vHgS+IoSNcUE4n9HP2NwcHj7aqnJWsjPtuG75Rh5TOaGt0OjAYInh77d5T16V5cRDC+Pw/6ZZZiETBGw==", "dev": true }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, "default-gateway": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", @@ -43532,16 +40376,6 @@ "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", "dev": true }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "dev": true, - "peer": true, - "requires": { - "repeating": "^2.0.0" - } - }, "detect-newline": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", @@ -43718,18 +40552,19 @@ } }, "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { - "esutils": "^2.0.2" + "esutils": "^2.0.2", + "isarray": "^1.0.0" } }, "dom-align": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.0.tgz", - "integrity": "sha512-YkoezQuhp3SLFGdOlr5xkqZ640iXrnHAwVYcDg8ZKRUtO7mSzSC2BA5V0VuyAwPSJA4CLIc6EDDJh4bEsD2+zA==" + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.1.tgz", + "integrity": "sha512-CdTD9EdA5WviP8oO3n+okOm0Xt7dSuWxRTLcJiW0memwUr3Tvz66JDDCh9cb50IZFHXvBmLoyX454uJU/EVg+g==" }, "dom-converter": { "version": "0.2.0", @@ -43741,18 +40576,18 @@ } }, "dom-helpers": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.0.tgz", - "integrity": "sha512-Ru5o9+V8CpunKnz5LGgWXkmrH/20cGKwcHwS4m73zIvs54CN9epEmT/HLqFJW3kXpakAFkEdzgy1hzlJe3E4OQ==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", "requires": { "@babel/runtime": "^7.8.7", "csstype": "^3.0.2" }, "dependencies": { "csstype": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.7.tgz", - "integrity": "sha512-KxnUB0ZMlnUWCsx2Z8MUsr6qV6ja1w9ArPErJaJaF8a5SOWoHLIszeCTKGRGRgtLgYrs1E8CHkNSP1VZTTPc9g==" + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz", + "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==" } } }, @@ -43766,9 +40601,9 @@ }, "dependencies": { "domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", - "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" }, "entities": { "version": "2.2.0", @@ -43850,9 +40685,9 @@ } }, "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", "dev": true } } @@ -43905,15 +40740,15 @@ } }, "downshift": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/downshift/-/downshift-6.1.1.tgz", - "integrity": "sha512-ch8Sh/j7gVqQd7Kcv3A5TkGfldmxmlQrRPZJYWEhzh24+h7WA4vXssuhcGNJrD8YPJlZYQGHcaX8BNhS0IcOvg==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/downshift/-/downshift-6.1.3.tgz", + "integrity": "sha512-RA1MuaNcTbt0j+sVLhSs8R2oZbBXYAtdQP/V+uHhT3DoDteZzJPjlC+LQVm9T07Wpvo84QXaZtUCePLDTDwGXg==", "dev": true, "requires": { - "@babel/runtime": "^7.12.5", + "@babel/runtime": "^7.13.10", "compute-scroll-into-view": "^1.0.17", "prop-types": "^15.7.2", - "react-is": "^17.0.1" + "react-is": "^17.0.2" } }, "duplexer": { @@ -43928,6 +40763,30 @@ "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", "requires": { "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "duplexify": { @@ -43940,6 +40799,32 @@ "inherits": "^2.0.1", "readable-stream": "^2.0.0", "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + } } }, "ecc-jsbn": { @@ -43959,18 +40844,15 @@ "dev": true }, "ejs": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", - "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", - "dev": true, - "requires": { - "jake": "^10.6.1" - } + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "dev": true }, "electron-to-chromium": { - "version": "1.3.698", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.698.tgz", - "integrity": "sha512-VEXDzYblnlT+g8Q3gedwzgKOso1evkeJzV8lih7lV8mL8eAnGVnKyC3KsFT6S+R5PQO4ffdr1PI16/ElibY/kQ==" + "version": "1.3.726", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.726.tgz", + "integrity": "sha512-dw7WmrSu/JwtACiBzth8cuKf62NKL1xVJuNvyOg0jvruN/n4NLtGYoTzciQquCPNaS2eR+BT5GrxHbslfc/w1w==" }, "element-resize-detector": { "version": "1.2.2", @@ -44060,9 +40942,9 @@ } }, "engine.io-client": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-4.1.2.tgz", - "integrity": "sha512-1mwvwKYMa0AaCy+sPgvJ/SnKyO5MJZ1HEeXfA3Rm/KHkHGiYD5bQVq8QzvIrkI01FuVtOdZC5lWdRw1BGXB2NQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-4.1.3.tgz", + "integrity": "sha512-C3JYYyvna0FvSKOWGWpo0/EQ6MayO8uEKam1oedLZRpxLego9Fk6K3UH/Phieu1xPHauM7YqAygJ+6SraVc0Qg==", "requires": { "base64-arraybuffer": "0.1.4", "component-emitter": "~1.3.0", @@ -44077,10 +40959,9 @@ }, "dependencies": { "ws": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz", - "integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==", - "requires": {} + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz", + "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==" } } }, @@ -44112,6 +40993,30 @@ "errno": "^0.1.3", "readable-stream": "^2.0.1" } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } } } }, @@ -44303,196 +41208,162 @@ } }, "eslint": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", - "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", "dev": true, - "peer": true, "requires": { - "ajv": "^5.3.0", - "babel-code-frame": "^6.22.0", + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", "chalk": "^2.1.0", - "concat-stream": "^1.6.0", - "cross-spawn": "^5.1.0", - "debug": "^3.1.0", - "doctrine": "^2.1.0", - "eslint-scope": "^3.7.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^3.5.4", - "esquery": "^1.0.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", + "file-entry-cache": "^5.0.1", "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.0.1", - "ignore": "^3.3.3", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", - "inquirer": "^3.0.6", - "is-resolvable": "^1.0.0", - "js-yaml": "^3.9.1", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.3.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.2", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "pluralize": "^7.0.0", + "optionator": "^0.8.3", "progress": "^2.0.0", - "regexpp": "^1.0.1", - "require-uncached": "^1.0.3", - "semver": "^5.3.0", - "strip-ansi": "^4.0.0", - "strip-json-comments": "~2.0.1", - "table": "4.0.2", - "text-table": "~0.2.0" + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" }, "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, - "peer": true - }, - "chardet": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", - "dev": true, - "peer": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "peer": true, "requires": { - "restore-cursor": "^2.0.0" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } } }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "peer": true - }, - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "peer": true, "requires": { - "ms": "^2.1.1" + "esutils": "^2.0.2" } }, - "external-editor": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, - "peer": true, "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" + "eslint-visitor-keys": "^1.1.0" } }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "peer": true, "requires": { - "escape-string-regexp": "^1.0.5" + "is-glob": "^4.0.1" } }, - "inquirer": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", - "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, - "peer": true, "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.0.4", - "figures": "^2.0.0", - "lodash": "^4.3.0", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rx-lite": "^4.0.8", - "rx-lite-aggregates": "^4.0.8", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" + "type-fest": "^0.8.1" } }, - "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, - "peer": true + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "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, - "peer": true - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true, - "peer": true - }, - "onetime": { + "path-key": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "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, - "peer": true, "requires": { - "mimic-fn": "^1.0.0" + "shebang-regex": "^1.0.0" } }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "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 + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, - "peer": true, "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "ansi-regex": "^4.1.0" } }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "peer": true + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "peer": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "isexe": "^2.0.0" } } } @@ -44515,6 +41386,15 @@ "eslint-restricted-globals": "^0.1.1" } }, + "eslint-config-react-app": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz", + "integrity": "sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==", + "dev": true, + "requires": { + "confusing-browser-globals": "^1.0.9" + } + }, "eslint-import-resolver-babel-module": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/eslint-import-resolver-babel-module/-/eslint-import-resolver-babel-module-4.0.0.tgz", @@ -44552,6 +41432,47 @@ } } }, + "eslint-loader": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-3.0.3.tgz", + "integrity": "sha512-+YRqB95PnNvxNp1HEjQmvf9KNvCin5HXYYseOXVC2U0KEcw4IkQ2IQEBG46j7+gW39bMzeu0GsUhVbBY3Votpw==", + "dev": true, + "requires": { + "fs-extra": "^8.1.0", + "loader-fs-cache": "^1.0.2", + "loader-utils": "^1.2.3", + "object-hash": "^2.0.1", + "schema-utils": "^2.6.1" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } + } + }, "eslint-module-utils": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", @@ -44620,6 +41541,12 @@ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, "pkg-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", @@ -44631,6 +41558,15 @@ } } }, + "eslint-plugin-flowtype": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-4.6.0.tgz", + "integrity": "sha512-W5hLjpFfZyZsXfo5anlu7HM970JBDqbEshAJUkeczP6BFCIfJXuiIBQXyberLRtOStT0OGPF8efeTbxlHk4LpQ==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, "eslint-plugin-import": { "version": "2.22.1", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", @@ -44661,14 +41597,23 @@ "ms": "2.0.0" } }, - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "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": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, "ms": { @@ -44676,6 +41621,72 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "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 + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "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" + } } } }, @@ -44699,9 +41710,9 @@ } }, "eslint-plugin-react": { - "version": "7.23.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.23.1.tgz", - "integrity": "sha512-MvFGhZjI8Z4HusajmSw0ougGrq3Gs4vT/0WgwksZgf5RrLrRa2oYAw56okU4tZJl8+j7IYNuTM+2RnFEuTSdRQ==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.23.2.tgz", + "integrity": "sha512-AfjgFQB+nYszudkxRkTFu0UR1zEQig0ArVMPloKhxwlwkzaw/fBiH0QWcBBhZONlXqQC51+nfqFrkn4EzHcGBw==", "dev": true, "requires": { "array-includes": "^3.1.3", @@ -44718,6 +41729,15 @@ "string.prototype.matchall": "^4.0.4" }, "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, "resolve": { "version": "2.0.0-next.3", "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", @@ -44734,8 +41754,7 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz", "integrity": "sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA==", - "dev": true, - "requires": {} + "dev": true }, "eslint-restricted-globals": { "version": "0.1.1", @@ -44744,13 +41763,12 @@ "dev": true }, "eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "peer": true, "requires": { - "esrecurse": "^4.1.0", + "esrecurse": "^4.3.0", "estraverse": "^4.1.1" } }, @@ -44770,14 +41788,14 @@ "dev": true }, "espree": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", - "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", "dev": true, - "peer": true, "requires": { - "acorn": "^5.5.0", - "acorn-jsx": "^3.0.0" + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" } }, "esprima": { @@ -44900,11 +41918,41 @@ "which": "^1.2.9" } }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "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 + }, + "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" + } } } }, @@ -44958,6 +42006,17 @@ "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": { @@ -44967,6 +42026,17 @@ "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": { @@ -44978,16 +42048,14 @@ "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": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } } }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -45160,11 +42228,6 @@ "object-keys": "^1.0.6" }, "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - }, "isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", @@ -45296,9 +42359,9 @@ "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" }, "fecha": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.0.tgz", - "integrity": "sha512-aN3pcx/DSmtyoovUudctc8+6Hl4T+hI9GBBHLjA76jdZl7+b1sgh5g4k+u/GL3dTy1/pnYzKp69FpJ0OicE3Wg==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz", + "integrity": "sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==", "dev": true }, "figgy-pudding": { @@ -45317,14 +42380,12 @@ } }, "file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, - "peer": true, "requires": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" + "flat-cache": "^2.0.1" } }, "file-loader": { @@ -45337,31 +42398,6 @@ "schema-utils": "^3.0.0" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "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 - }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -45427,15 +42463,6 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "dev": true }, - "filelist": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", - "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==", - "dev": true, - "requires": { - "minimatch": "^3.0.4" - } - }, "filesize": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz", @@ -45486,26 +42513,6 @@ } } }, - "find-babel-config": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz", - "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==", - "dev": true, - "peer": true, - "requires": { - "json5": "^0.5.1", - "path-exists": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true, - "peer": true - } - } - }, "find-cache-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", @@ -45545,6 +42552,12 @@ "p-limit": "^2.0.0" } }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, "pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", @@ -45563,21 +42576,13 @@ "dev": true }, "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "requires": { - "locate-path": "^5.0.0", + "locate-path": "^6.0.0", "path-exists": "^4.0.0" - }, - "dependencies": { - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - } } }, "findup-sync": { @@ -45621,12 +42626,6 @@ "is-plain-object": "^2.0.4" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -45651,16 +42650,14 @@ } }, "flat-cache": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", - "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, - "peer": true, "requires": { - "circular-json": "^0.3.1", - "graceful-fs": "^4.1.2", - "rimraf": "~2.6.2", - "write": "^0.2.1" + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" }, "dependencies": { "rimraf": { @@ -45668,7 +42665,6 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, - "peer": true, "requires": { "glob": "^7.1.3" } @@ -45701,6 +42697,32 @@ "requires": { "inherits": "^2.0.3", "readable-stream": "^2.3.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + } } }, "flux": { @@ -45719,9 +42741,9 @@ "dev": true }, "follow-redirects": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz", - "integrity": "sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.0.tgz", + "integrity": "sha512-0vRwd7RKQBTt+mgu87mtYeofLFZpTas2S9zY+jIeuLJMNvudIgF52nr19q40HOwH5RrhWIPuj9puybzSJiRrVg==", "dev": true }, "for-in": { @@ -45731,9 +42753,9 @@ "dev": true }, "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { "for-in": "^1.0.1" @@ -45751,80 +42773,106 @@ "dev": true }, "fork-ts-checker-webpack-plugin": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz", - "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==", + "version": "6.2.6", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.6.tgz", + "integrity": "sha512-f/oF2BFFPKEWQ3wgfq4bWALSDm7+f21shVONplo1xHKs1IdMfdmDa/aREgEurkIyrsyMFed42W7NVp4mh4DXzg==", "dev": true, "requires": { - "@babel/code-frame": "^7.5.5", - "chalk": "^2.4.1", - "micromatch": "^3.1.10", + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", "minimatch": "^3.0.4", - "semver": "^5.6.0", - "tapable": "^1.0.0", - "worker-rpc": "^0.1.0" + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" }, "dependencies": { - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "color-convert": "^2.0.1" } }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "chalk": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "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==", + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "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" + "yallist": "^4.0.0" + } + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } @@ -45875,6 +42923,32 @@ "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + } } }, "fs-extra": { @@ -45898,6 +42972,12 @@ "minipass": "^3.0.0" } }, + "fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, "fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", @@ -45979,12 +43059,6 @@ "wide-align": "^1.1.0" }, "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, "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", @@ -46004,15 +43078,6 @@ "is-fullwidth-code-point": "^1.0.0", "strip-ansi": "^3.0.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" - } } } }, @@ -46183,11 +43248,14 @@ "which": "^1.3.1" }, "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "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" + } } } }, @@ -46292,32 +43360,12 @@ "requires": { "ajv": "^6.12.3", "har-schema": "^2.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "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 - } } }, "harmony-reflect": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.1.tgz", - "integrity": "sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", "dev": true }, "has": { @@ -46451,6 +43499,15 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } } } }, @@ -46496,9 +43553,9 @@ "dev": true }, "highlight.js": { - "version": "10.7.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.1.tgz", - "integrity": "sha512-S6G97tHGqJ/U8DsXcEdnACbirtbx58Bx9CzIVeYli8OuswCfYI/LsXH2EiGcoGio1KAC3x4mmUwulOllJ2ZyRA==" + "version": "10.7.2", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.2.tgz", + "integrity": "sha512-oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg==" }, "history": { "version": "4.10.1", @@ -46539,17 +43596,6 @@ } } }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "dev": true, - "peer": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" - } - }, "homedir-polyfill": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", @@ -46566,9 +43612,9 @@ "dev": true }, "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "hpack.js": { @@ -46581,6 +43627,32 @@ "obuf": "^1.0.0", "readable-stream": "^2.0.1", "wbuf": "^1.1.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + } } }, "hsl-regex": { @@ -46595,12 +43667,6 @@ "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", "dev": true }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", - "dev": true - }, "html-encoding-sniffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", @@ -46681,9 +43747,9 @@ } }, "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", "dev": true } } @@ -46756,27 +43822,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=" - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" } } }, @@ -46865,12 +43910,6 @@ "is-plain-object": "^2.0.4" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -46927,34 +43966,6 @@ "dev": true, "requires": { "postcss": "^7.0.14" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "identity-obj-proxy": { @@ -47077,6 +44088,12 @@ "p-limit": "^2.0.0" } }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, "pkg-dir": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", @@ -47103,7 +44120,8 @@ "indexes-of": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true }, "infer-owner": { "version": "1.0.4", @@ -47174,30 +44192,15 @@ } }, "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -47290,14 +44293,6 @@ "dev": true, "requires": { "kind-of": "^6.0.0" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } } }, "is-alphabetical": { @@ -47390,9 +44385,9 @@ } }, "is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.3.0.tgz", + "integrity": "sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw==", "requires": { "has": "^1.0.3" } @@ -47404,14 +44399,6 @@ "dev": true, "requires": { "kind-of": "^6.0.0" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } } }, "is-date-object": { @@ -47434,14 +44421,6 @@ "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } } }, "is-directory": { @@ -47451,9 +44430,9 @@ "dev": true }, "is-docker": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", - "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true }, "is-extendable": { @@ -47468,13 +44447,6 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, - "is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", - "dev": true, - "peer": true - }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -47527,6 +44499,17 @@ "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-number-object": { @@ -47625,15 +44608,6 @@ "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", "dev": true }, - "is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", - "dev": true, - "requires": { - "html-comment-regex": "^1.1.0" - } - }, "is-symbol": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", @@ -47776,18 +44750,6 @@ "iterate-iterator": "^1.0.1" } }, - "jake": { - "version": "10.8.2", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", - "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", - "dev": true, - "requires": { - "async": "0.9.x", - "chalk": "^2.4.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" - } - }, "jest": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", @@ -47881,6 +44843,12 @@ "p-limit": "^2.0.0" } }, + "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 + }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -47996,12 +44964,6 @@ "is-plain-object": "^2.0.4" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -48234,12 +45196,6 @@ "is-plain-object": "^2.0.4" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -48354,12 +45310,6 @@ "is-plain-object": "^2.0.4" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -48396,8 +45346,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "requires": {} + "dev": true }, "jest-regex-util": { "version": "24.9.0", @@ -48538,6 +45487,12 @@ "p-limit": "^2.0.0" } }, + "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 + }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -48820,6 +45775,12 @@ "xml-name-validator": "^3.0.0" }, "dependencies": { + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true + }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", @@ -48847,18 +45808,6 @@ "minimatch": "~3.0.2", "shelljs": "0.3.x", "strip-json-comments": "1.0.x" - }, - "dependencies": { - "shelljs": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", - "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=" - }, - "strip-json-comments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=" - } } }, "json-parse-better-errors": { @@ -48880,11 +45829,10 @@ "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, - "peer": true + "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 }, "json-stable-stringify": { "version": "1.0.1", @@ -48984,13 +45932,10 @@ "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" - } + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true }, "klaw": { "version": "1.3.1", @@ -49007,6 +45952,12 @@ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true }, + "klona": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", + "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", + "dev": true + }, "koalas": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/koalas/-/koalas-1.0.2.tgz", @@ -49219,12 +46170,12 @@ } }, "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "requires": { - "p-locate": "^4.1.0" + "p-locate": "^5.0.0" } }, "lodash": { @@ -49462,19 +46413,9 @@ } }, "markdown-to-jsx": { - "version": "6.11.4", - "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-6.11.4.tgz", - "integrity": "sha512-3lRCD5Sh+tfA52iGgfs/XZiw33f7fFX9Bn55aNnVNUd2GzLDkOWyKYYD8Yju2B1Vn+feiEdgJs8T6Tg0xNokPw==", - "dev": true, - "requires": { - "prop-types": "^15.6.2", - "unquote": "^1.1.0" - } - }, - "material-colors": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz", - "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.1.2.tgz", + "integrity": "sha512-O8DMCl32V34RrD+ZHxcAPc2+kYytuDIoQYjY36RVdsLK7uHjgNVvFec4yv0X6LgB4YEZgSvK5QtFi5YVqEpoMA==", "dev": true }, "math-expression-evaluator": { @@ -49511,6 +46452,15 @@ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", "dev": true }, + "memfs": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.2.2.tgz", + "integrity": "sha512-RE0CwmIM3CEvpcdK3rZ19BC4E6hv9kADkMN5rPduRak58cNArWLi/9jFLsa4rhsjfVxMP3v0jO7FHXq7SvFY5Q==", + "dev": true, + "requires": { + "fs-monkey": "1.0.3" + } + }, "memoizerific": { "version": "1.11.3", "resolved": "https://registry.npmjs.org/memoizerific/-/memoizerific-1.11.3.tgz", @@ -49528,6 +46478,32 @@ "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + } } }, "merge-deep": { @@ -49554,13 +46530,13 @@ "shallow-clone": "^0.1.2" } }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "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": { - "for-in": "^1.0.1" + "is-buffer": "^1.1.5" } }, "lazy-cache": { @@ -49646,13 +46622,13 @@ "dev": true }, "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "dev": true, "requires": { "braces": "^3.0.1", - "picomatch": "^2.0.5" + "picomatch": "^2.2.3" }, "dependencies": { "braces": { @@ -49715,18 +46691,18 @@ "dev": true }, "mime-db": { - "version": "1.46.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", - "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==", + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", "dev": true }, "mime-types": { - "version": "2.1.29", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", - "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", + "version": "2.1.30", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", + "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", "dev": true, "requires": { - "mime-db": "1.46.0" + "mime-db": "1.47.0" } }, "mimic-fn": { @@ -49762,31 +46738,6 @@ "webpack-sources": "^1.1.0" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "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", @@ -49843,14 +46794,6 @@ "through2": "^3.0.1", "xml": "^1.0.0", "xml2js": "^0.4.15" - }, - "dependencies": { - "async": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", - "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==", - "dev": true - } } }, "minipass": { @@ -49933,6 +46876,30 @@ "through2": "^2.0.0" }, "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -49994,15 +46961,14 @@ } }, "mobx": { - "version": "6.1.8", - "resolved": "https://registry.npmjs.org/mobx/-/mobx-6.1.8.tgz", - "integrity": "sha512-U4yCvUeh6yKXRwFxm2lyJjXPVekOEar/R8ZKWAXem/3fthJqYflViawfjDAUh7lZEvbKqljC3NT/pSaUKpE+gg==" + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/mobx/-/mobx-6.3.0.tgz", + "integrity": "sha512-Aa1+VXsg4WxqJMTQfWoYuJi5UD10VZhiobSmcs5kcmI3BIT0aVtn7DysvCeDADCzl7dnbX+0BTHUj/v7gLlZpQ==" }, "mobx-react-lite": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-3.2.0.tgz", - "integrity": "sha512-q5+UHIqYCOpBoFm/PElDuOhbcatvTllgRp3M1s+Hp5j0Z6XNgDbgqxawJ0ZAUEyKM8X1zs70PCuhAIzX1f4Q/g==", - "requires": {} + "integrity": "sha512-q5+UHIqYCOpBoFm/PElDuOhbcatvTllgRp3M1s+Hp5j0Z6XNgDbgqxawJ0ZAUEyKM8X1zs70PCuhAIzX1f4Q/g==" }, "moment": { "version": "2.29.1", @@ -50121,12 +47087,6 @@ "requires": { "is-plain-object": "^2.0.4" } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true } } }, @@ -50266,6 +47226,49 @@ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + } + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, "url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", @@ -50316,6 +47319,15 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "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" + } } } }, @@ -50365,18 +47377,6 @@ "prepend-http": "^1.0.0", "query-string": "^4.1.0", "sort-keys": "^1.0.0" - }, - "dependencies": { - "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" - } - } } }, "normalize.css": { @@ -50391,6 +47391,14 @@ "dev": true, "requires": { "path-key": "^2.0.0" + }, + "dependencies": { + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + } } }, "npmlog": { @@ -50498,6 +47506,15 @@ "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" + } } } }, @@ -50507,9 +47524,9 @@ "integrity": "sha512-VOJmgmS+7wvXf8CjbQmimtCnEx3IAoLxI3fp2fbWehxrWBcAQFbk+vcwb6vzR0VZv/eNCJ/27j151ZTwqW/JeQ==" }, "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.2.tgz", + "integrity": "sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA==", "dev": true }, "object-is": { @@ -50740,13 +47757,6 @@ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true, - "peer": true - }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", @@ -50827,12 +47837,23 @@ } }, "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "requires": { - "p-limit": "^2.2.0" + "p-limit": "^3.0.2" + }, + "dependencies": { + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + } } }, "p-map": { @@ -50889,6 +47910,32 @@ "cyclist": "^1.0.1", "inherits": "^2.0.3", "readable-stream": "^2.1.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + } } }, "param-case": { @@ -51006,9 +48053,9 @@ } }, "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", "dev": true } } @@ -51032,9 +48079,9 @@ "dev": true }, "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-is-absolute": { @@ -51049,9 +48096,9 @@ "dev": true }, "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { @@ -51072,9 +48119,9 @@ "dev": true }, "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, "requires": { "create-hash": "^1.1.2", @@ -51090,9 +48137,9 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", + "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", "dev": true }, "pify": { @@ -51126,12 +48173,12 @@ } }, "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", "dev": true, "requires": { - "find-up": "^4.0.0" + "find-up": "^5.0.0" } }, "pkg-up": { @@ -51185,16 +48232,15 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true } } }, - "pluralize": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", - "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", - "dev": true, - "peer": true - }, "pn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", @@ -51217,12 +48263,12 @@ "dev": true }, "polished": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/polished/-/polished-3.7.1.tgz", - "integrity": "sha512-/QgHrNGYwIA4mwxJ/7FSvalUJsm7KNfnXiScVSEG2Xa5qxDeBn4nmdjN2pW00mkM2Tts64ktc47U8F7Ed1BRAA==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.2.tgz", + "integrity": "sha512-jq4t3PJUpVRcveC53nnbEX35VyQI05x3tniwp26WFdm1dwaNUBHAi5awa/roBlwQxx1uRhwNSYeAi/aMbfiJCQ==", "dev": true, "requires": { - "@babel/runtime": "^7.12.5" + "@babel/runtime": "^7.13.17" } }, "popper.js": { @@ -51268,19 +48314,27 @@ "dev": true }, "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", "requires": { - "chalk": "^2.4.1", + "chalk": "^2.4.2", "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "supports-color": "^6.1.0" }, "dependencies": { "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -51292,34 +48346,6 @@ "requires": { "postcss": "^7.0.2", "postcss-selector-parser": "^6.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-browser-comments": { @@ -51329,34 +48355,6 @@ "dev": true, "requires": { "postcss": "^7" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-calc": { @@ -51370,37 +48368,11 @@ "postcss-value-parser": "^4.0.2" }, "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, "postcss-value-parser": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -51412,34 +48384,6 @@ "requires": { "postcss": "^7.0.2", "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-color-gray": { @@ -51451,34 +48395,6 @@ "@csstools/convert-colors": "^1.4.0", "postcss": "^7.0.5", "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-color-hex-alpha": { @@ -51489,34 +48405,6 @@ "requires": { "postcss": "^7.0.14", "postcss-values-parser": "^2.0.1" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-color-mod-function": { @@ -51528,34 +48416,6 @@ "@csstools/convert-colors": "^1.4.0", "postcss": "^7.0.2", "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-color-rebeccapurple": { @@ -51566,34 +48426,6 @@ "requires": { "postcss": "^7.0.2", "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-colormin": { @@ -51607,34 +48439,6 @@ "has": "^1.0.0", "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-convert-values": { @@ -51645,34 +48449,6 @@ "requires": { "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-custom-media": { @@ -51682,34 +48458,6 @@ "dev": true, "requires": { "postcss": "^7.0.14" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-custom-properties": { @@ -51720,34 +48468,6 @@ "requires": { "postcss": "^7.0.17", "postcss-values-parser": "^2.0.1" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-custom-selectors": { @@ -51766,17 +48486,6 @@ "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", "dev": true }, - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, "postcss-selector-parser": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", @@ -51787,21 +48496,6 @@ "indexes-of": "^1.0.1", "uniq": "^1.0.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -51821,17 +48515,6 @@ "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", "dev": true }, - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, "postcss-selector-parser": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", @@ -51842,21 +48525,6 @@ "indexes-of": "^1.0.1", "uniq": "^1.0.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -51867,34 +48535,6 @@ "dev": true, "requires": { "postcss": "^7.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-discard-duplicates": { @@ -51904,34 +48544,6 @@ "dev": true, "requires": { "postcss": "^7.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-discard-empty": { @@ -51941,34 +48553,6 @@ "dev": true, "requires": { "postcss": "^7.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-discard-overridden": { @@ -51978,34 +48562,6 @@ "dev": true, "requires": { "postcss": "^7.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-double-position-gradients": { @@ -52016,34 +48572,6 @@ "requires": { "postcss": "^7.0.5", "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-env-function": { @@ -52054,34 +48582,6 @@ "requires": { "postcss": "^7.0.2", "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-flexbugs-fixes": { @@ -52091,34 +48591,6 @@ "dev": true, "requires": { "postcss": "^7.0.26" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-focus-visible": { @@ -52128,34 +48600,6 @@ "dev": true, "requires": { "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-focus-within": { @@ -52165,34 +48609,6 @@ "dev": true, "requires": { "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-font-variant": { @@ -52202,34 +48618,6 @@ "dev": true, "requires": { "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-functions": { @@ -52241,6 +48629,23 @@ "object-assign": "^4.1.1", "postcss": "^6.0.9", "postcss-value-parser": "^3.3.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } } }, "postcss-gap-properties": { @@ -52250,34 +48655,6 @@ "dev": true, "requires": { "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-image-set-function": { @@ -52288,34 +48665,6 @@ "requires": { "postcss": "^7.0.2", "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-import": { @@ -52328,72 +48677,15 @@ "postcss-value-parser": "^3.2.3", "read-cache": "^1.0.0", "resolve": "^1.1.7" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-initial": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.2.tgz", - "integrity": "sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz", + "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==", "dev": true, "requires": { - "lodash.template": "^4.5.0", "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-inline-svg": { @@ -52433,6 +48725,17 @@ "readable-stream": "^3.1.1" } }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", @@ -52443,6 +48746,27 @@ "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } } } }, @@ -52453,31 +48777,6 @@ "requires": { "camelcase-css": "^2.0.1", "postcss": "^7.0.18" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-lab-function": { @@ -52489,34 +48788,6 @@ "@csstools/convert-colors": "^1.4.0", "postcss": "^7.0.2", "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-load-config": { @@ -52529,15 +48800,6 @@ "import-cwd": "^2.0.0" }, "dependencies": { - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, "cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", @@ -52590,42 +48852,6 @@ "schema-utils": "^1.0.0" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "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 - }, - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -52636,21 +48862,6 @@ "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -52661,34 +48872,6 @@ "dev": true, "requires": { "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-media-minmax": { @@ -52698,34 +48881,6 @@ "dev": true, "requires": { "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-merge-longhand": { @@ -52738,34 +48893,6 @@ "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0", "stylehacks": "^4.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-merge-rules": { @@ -52782,17 +48909,6 @@ "vendors": "^1.0.0" }, "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, "postcss-selector-parser": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", @@ -52803,21 +48919,6 @@ "indexes-of": "^1.0.1", "uniq": "^1.0.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -52829,34 +48930,6 @@ "requires": { "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-minify-gradients": { @@ -52869,34 +48942,6 @@ "is-color-stop": "^1.0.0", "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-minify-params": { @@ -52911,34 +48956,6 @@ "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0", "uniqs": "^2.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-minify-selectors": { @@ -52953,17 +48970,6 @@ "postcss-selector-parser": "^3.0.0" }, "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, "postcss-selector-parser": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", @@ -52974,21 +48980,6 @@ "indexes-of": "^1.0.1", "uniq": "^1.0.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -53085,12 +49076,6 @@ "is-plain-object": "^2.0.4" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -53121,17 +49106,6 @@ "pify": "^3.0.0" } }, - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, "postcss-simple-vars": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-simple-vars/-/postcss-simple-vars-5.0.2.tgz", @@ -53146,21 +49120,6 @@ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -53171,34 +49130,6 @@ "dev": true, "requires": { "postcss": "^7.0.5" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-modules-local-by-default": { @@ -53213,37 +49144,11 @@ "postcss-value-parser": "^4.1.0" }, "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, "postcss-value-parser": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -53255,34 +49160,6 @@ "requires": { "postcss": "^7.0.6", "postcss-selector-parser": "^6.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-modules-values": { @@ -53293,34 +49170,6 @@ "requires": { "icss-utils": "^4.0.0", "postcss": "^7.0.6" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-nested": { @@ -53330,31 +49179,6 @@ "requires": { "postcss": "^7.0.32", "postcss-selector-parser": "^6.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-nesting": { @@ -53364,6 +49188,25 @@ "dev": true, "requires": { "postcss": "^6.0.11" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "postcss-normalize": { @@ -53377,34 +49220,6 @@ "postcss": "^7.0.17", "postcss-browser-comments": "^3.0.0", "sanitize.css": "^10.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-normalize-charset": { @@ -53414,34 +49229,6 @@ "dev": true, "requires": { "postcss": "^7.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-normalize-display-values": { @@ -53453,34 +49240,6 @@ "cssnano-util-get-match": "^4.0.0", "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-normalize-positions": { @@ -53493,34 +49252,6 @@ "has": "^1.0.0", "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-normalize-repeat-style": { @@ -53533,34 +49264,6 @@ "cssnano-util-get-match": "^4.0.0", "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-normalize-string": { @@ -53572,34 +49275,6 @@ "has": "^1.0.0", "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-normalize-timing-functions": { @@ -53611,34 +49286,6 @@ "cssnano-util-get-match": "^4.0.0", "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-normalize-unicode": { @@ -53650,34 +49297,6 @@ "browserslist": "^4.0.0", "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-normalize-url": { @@ -53697,32 +49316,6 @@ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", "dev": true - }, - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -53734,34 +49327,6 @@ "requires": { "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-ordered-values": { @@ -53773,34 +49338,6 @@ "cssnano-util-get-arguments": "^4.0.0", "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-overflow-shorthand": { @@ -53810,34 +49347,6 @@ "dev": true, "requires": { "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-page-break": { @@ -53847,34 +49356,6 @@ "dev": true, "requires": { "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-place": { @@ -53885,34 +49366,6 @@ "requires": { "postcss": "^7.0.2", "postcss-values-parser": "^2.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-preset-env": { @@ -53975,17 +49428,6 @@ "postcss-value-parser": "^4.1.0" } }, - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, "postcss-nesting": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", @@ -54000,21 +49442,6 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -54034,17 +49461,6 @@ "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", "dev": true }, - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, "postcss-selector-parser": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", @@ -54055,21 +49471,6 @@ "indexes-of": "^1.0.1", "uniq": "^1.0.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -54083,34 +49484,6 @@ "caniuse-api": "^3.0.0", "has": "^1.0.0", "postcss": "^7.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-reduce-transforms": { @@ -54123,34 +49496,6 @@ "has": "^1.0.0", "postcss": "^7.0.0", "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-replace-overflow-wrap": { @@ -54160,34 +49505,6 @@ "dev": true, "requires": { "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-safe-parser": { @@ -54197,34 +49514,6 @@ "dev": true, "requires": { "postcss": "^7.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-selector-matches": { @@ -54235,34 +49524,6 @@ "requires": { "balanced-match": "^1.0.0", "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-selector-not": { @@ -54273,44 +49534,14 @@ "requires": { "balanced-match": "^1.0.0", "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.5.tgz", + "integrity": "sha512-aFYPoYmXbZ1V6HZaSvat08M97A8HqO6Pjz+PiNpw/DhuRrC72XWAdp3hL6wusDCN31sSmcZyMGa2hZEuX+Xfhg==", "requires": { "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", "util-deprecate": "^1.0.2" } }, @@ -54321,29 +49552,17 @@ "dev": true, "requires": { "postcss": "^6.0.9" - } - }, - "postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", - "dev": true, - "requires": { - "is-svg": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" }, "dependencies": { "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { - "chalk": "^2.4.2", + "chalk": "^2.4.1", "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "supports-color": "^5.4.0" } }, "source-map": { @@ -54351,18 +49570,20 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, + "postcss-svgo": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", + "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + } + }, "postcss-unique-selectors": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", @@ -54372,34 +49593,6 @@ "alphanum-sort": "^1.0.0", "postcss": "^7.0.0", "uniqs": "^2.0.0" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "postcss-value-parser": { @@ -54479,13 +49672,6 @@ "clipboard": "^2.0.0" } }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true, - "peer": true - }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -54620,17 +49806,6 @@ "toggle-array": "^1.0.1" }, "dependencies": { - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, "define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", @@ -54646,21 +49821,6 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-6.0.0.tgz", "integrity": "sha512-Wu1VHeILBK8KAWJUAiSZQX94GmOE45Rg6/538fKwiloUu21KncEkYGPqob2oSZ5mUT73vLGrHQjKw3KMPwfDzg==", "dev": true - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } } } }, @@ -54689,6 +49849,18 @@ "prompt-choices": "^4.0.5" }, "dependencies": { + "clone-deep": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-1.0.0.tgz", + "integrity": "sha512-hmJRX8x1QOJVV+GUjOBzi6iauhPqc9hIF6xitWRBbiPZOBb6vGo/mDRIK9P74RTKSQK7AE8B0DDWY/vpRrPmQw==", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "is-plain-object": "^2.0.4", + "kind-of": "^5.0.0", + "shallow-clone": "^1.0.0" + } + }, "debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", @@ -54698,18 +49870,38 @@ "ms": "^2.1.1" } }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true + }, + "shallow-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", + "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "dev": true, + "requires": { + "is-extendable": "^0.1.1", + "kind-of": "^5.0.0", + "mixin-object": "^2.0.1" + } } } }, "prompts": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", - "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", + "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", "dev": true, "requires": { "kleur": "^3.0.3", @@ -54758,13 +49950,6 @@ "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, - "peer": true - }, "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", @@ -54893,6 +50078,16 @@ "side-channel": "^1.0.4" } }, + "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", @@ -54927,6 +50122,28 @@ "through2": "^2.0.0" }, "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -55010,31 +50227,6 @@ "schema-utils": "^3.0.0" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "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 - }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -55194,37 +50386,25 @@ } }, "react-circular-progressbar": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/react-circular-progressbar/-/react-circular-progressbar-2.0.3.tgz", - "integrity": "sha512-YKN+xAShXA3gYihevbQZbavfiJxo83Dt1cUxqg/cltj4VVsRQpDr7Fg1mvjDG3x1KHGtd9NmYKvJ2mMrPwbKyw==", - "requires": {} + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/react-circular-progressbar/-/react-circular-progressbar-2.0.4.tgz", + "integrity": "sha512-OfX0ThSxRYEVGaQSt0DlXfyl5w4DbXHsXetyeivmoQrh9xA9bzVPHNf8aAhOIiwiaxX2WYWpLDB3gcpsDJ9oww==" }, "react-codemirror2": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/react-codemirror2/-/react-codemirror2-5.1.0.tgz", - "integrity": "sha512-Cksbgbviuf2mJfMyrKmcu7ycK6zX/ukuQO8dvRZdFWqATf5joalhjFc6etnBdGCcPA2LbhIwz+OPnQxLN/j1Fw==", - "requires": {} + "integrity": "sha512-Cksbgbviuf2mJfMyrKmcu7ycK6zX/ukuQO8dvRZdFWqATf5joalhjFc6etnBdGCcPA2LbhIwz+OPnQxLN/j1Fw==" }, - "react-color": { - "version": "2.19.3", - "resolved": "https://registry.npmjs.org/react-color/-/react-color-2.19.3.tgz", - "integrity": "sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==", - "dev": true, - "requires": { - "@icons/material": "^0.2.4", - "lodash": "^4.17.15", - "lodash-es": "^4.17.15", - "material-colors": "^1.2.1", - "prop-types": "^15.5.10", - "reactcss": "^1.2.0", - "tinycolor2": "^1.4.1" - } + "react-colorful": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.1.4.tgz", + "integrity": "sha512-WOEpRNz8Oo2SEU4eYQ279jEKFSjpFPa9Vi2U/K0DGwP9wOQ8wYkJcNSd5Qbv1L8OFvyKDCbWekjftXaU5mbmtg==", + "dev": true }, "react-confirm": { "version": "0.1.23", "resolved": "https://registry.npmjs.org/react-confirm/-/react-confirm-0.1.23.tgz", - "integrity": "sha512-G853O0XapIQXF0bx2iFWBLgGIzCu2ZjGJWJp0IFMNoim89yh/cz6i/xcSM/N8zKLWIvrVAWm/Zn/w3d5E7uv3g==", - "requires": {} + "integrity": "sha512-G853O0XapIQXF0bx2iFWBLgGIzCu2ZjGJWJp0IFMNoim89yh/cz6i/xcSM/N8zKLWIvrVAWm/Zn/w3d5E7uv3g==" }, "react-datepicker": { "version": "2.16.0", @@ -55323,15 +50503,14 @@ "node-releases": "^1.1.61" } }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "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": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" } }, "dir-glob": { @@ -55349,6 +50528,41 @@ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "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" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "fork-ts-checker-webpack-plugin": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz", + "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "chalk": "^2.4.1", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" + } + }, "globby": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", @@ -55369,6 +50583,15 @@ "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true }, + "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" + } + }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -55381,30 +50604,44 @@ } }, "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "p-locate": "^4.1.0" + } + }, + "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" } }, "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "p-limit": "^2.2.0" } }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, "pkg-up": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", @@ -55422,22 +50659,48 @@ "requires": { "locate-path": "^3.0.0" } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "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 } } }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "prompts": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", + "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", "dev": true, "requires": { - "shebang-regex": "^3.0.0" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" } }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, "slash": { @@ -55454,15 +50717,6 @@ "requires": { "ansi-regex": "^5.0.0" } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } } } }, @@ -55528,11 +50782,10 @@ } }, "react-docgen-typescript": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-1.21.0.tgz", - "integrity": "sha512-E4y/OcXwHukgiVafCGlxwoNHr4BDmM70Ww7oimL/QkMo5dmGALhceewe/xmVjdMxxI7E5syOGOc9/tbHL742rg==", - "dev": true, - "requires": {} + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-1.22.0.tgz", + "integrity": "sha512-MPLbF8vzRwAG3GcjdL+OHQlhgtWsLTXs+7uJiHfEeT3Ur7IsZaNYqRTLQ9sj2nB6M6jylcPCeCmH7qbszJmecg==", + "dev": true }, "react-docgen-typescript-plugin": { "version": "0.6.3", @@ -55548,9 +50801,9 @@ }, "dependencies": { "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==", "dev": true } } @@ -55618,15 +50871,6 @@ "highlight.js": "^10.5.0" } }, - "react-hotkeys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/react-hotkeys/-/react-hotkeys-2.0.0.tgz", - "integrity": "sha512-3n3OU8vLX/pfcJrR3xJ1zlww6KS1kEJt0Whxc4FiGV+MJrQ1mYSYI3qS/11d2MJDFm8IhOXMTFQirfu6AVOF6Q==", - "dev": true, - "requires": { - "prop-types": "^15.6.1" - } - }, "react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -55670,8 +50914,7 @@ "react-lazyload": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/react-lazyload/-/react-lazyload-3.2.0.tgz", - "integrity": "sha512-zJlrG8QyVZz4+xkYZH5v1w3YaP5wEFaYSUWC4CT9UXfK75IfRAIEdnyIUF+dXr3kX2MOtL1lUaZmaQZqrETwgw==", - "requires": {} + "integrity": "sha512-zJlrG8QyVZz4+xkYZH5v1w3YaP5wEFaYSUWC4CT9UXfK75IfRAIEdnyIUF+dXr3kX2MOtL1lUaZmaQZqrETwgw==" }, "react-lifecycles-compat": { "version": "3.0.4", @@ -55681,8 +50924,7 @@ "react-onclickoutside": { "version": "6.10.0", "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.10.0.tgz", - "integrity": "sha512-7i2L3ef+0ILXpL6P+Hg304eCQswh4jl3ynwR71BSlMU49PE2uk31k8B2GkP6yE9s2D4jTGKnzuSpzWxu4YxfQQ==", - "requires": {} + "integrity": "sha512-7i2L3ef+0ILXpL6P+Hg304eCQswh4jl3ynwR71BSlMU49PE2uk31k8B2GkP6yE9s2D4jTGKnzuSpzWxu4YxfQQ==" }, "react-popper": { "version": "1.3.11", @@ -55710,9 +50952,9 @@ }, "dependencies": { "react-popper": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.2.4.tgz", - "integrity": "sha512-NacOu4zWupdQjVXq02XpTD3yFPSfg5a7fex0wa3uGKVkFK7UN6LvVxgcb+xYr56UCuWiNPMH20tntdVdJRwYew==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.2.5.tgz", + "integrity": "sha512-kxGkS80eQGtLl18+uig1UIf9MKixFSyPxglsgLBxlYnyDf65BiY9B3nZSc6C9XUNDgStROB0fMQlTEz1KxGddw==", "dev": true, "requires": { "react-fast-compare": "^3.0.1", @@ -55914,30 +51156,6 @@ "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", "dev": true }, - "@typescript-eslint/eslint-plugin": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", - "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "2.34.0", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "tsutils": "^3.17.1" - } - }, - "@typescript-eslint/parser": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", - "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", - "dev": true, - "requires": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.34.0", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-visitor-keys": "^1.1.0" - } - }, "@webassemblyjs/ast": { "version": "1.8.5", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", @@ -56115,37 +51333,11 @@ } }, "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true }, - "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true, - "requires": {} - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, "aria-query": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", @@ -56211,17 +51403,6 @@ "rimraf": "^2.7.1", "ssri": "^7.0.0", "unique-filename": "^1.1.1" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } } }, "case-sensitive-paths-webpack-plugin": { @@ -56257,6 +51438,15 @@ "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } } } }, @@ -56267,24 +51457,14 @@ "dev": true }, "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", "dev": true, "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, "css-loader": { @@ -56351,99 +51531,6 @@ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true }, - "eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true - } - } - }, - "eslint-config-react-app": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz", - "integrity": "sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==", - "dev": true, - "requires": { - "confusing-browser-globals": "^1.0.9" - } - }, - "eslint-loader": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-3.0.3.tgz", - "integrity": "sha512-+YRqB95PnNvxNp1HEjQmvf9KNvCin5HXYYseOXVC2U0KEcw4IkQ2IQEBG46j7+gW39bMzeu0GsUhVbBY3Votpw==", - "dev": true, - "requires": { - "fs-extra": "^8.1.0", - "loader-fs-cache": "^1.0.2", - "loader-utils": "^1.2.3", - "object-hash": "^2.0.1", - "schema-utils": "^2.6.1" - } - }, - "eslint-plugin-flowtype": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-4.6.0.tgz", - "integrity": "sha512-W5hLjpFfZyZsXfo5anlu7HM970JBDqbEshAJUkeczP6BFCIfJXuiIBQXyberLRtOStT0OGPF8efeTbxlHk4LpQ==", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, "eslint-plugin-import": { "version": "2.20.1", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.1.tgz", @@ -56473,16 +51560,6 @@ "ms": "2.0.0" } }, - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -56528,6 +51605,15 @@ "xregexp": "^4.3.0" }, "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, "resolve": { "version": "1.20.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", @@ -56541,35 +51627,15 @@ } }, "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "requires": { - "esrecurse": "^4.3.0", + "esrecurse": "^4.1.0", "estraverse": "^4.1.1" } }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - } - }, "extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", @@ -56592,38 +51658,6 @@ "is-glob": "^4.0.0", "merge2": "^1.2.3", "micromatch": "^3.1.10" - }, - "dependencies": { - "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" - } - } - } - } - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" } }, "file-loader": { @@ -56642,15 +51676,14 @@ "integrity": "sha512-u4AYWPgbI5GBhs6id1KdImZWn5yfyFrrQ8OWZdN7ZMfA8Bf4HcO0BGo9bmUIEV8yrp8I1xVfJ/dn90GtFNNJcg==", "dev": true }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, "fork-ts-checker-webpack-plugin": { @@ -56695,24 +51728,6 @@ "dev": true, "optional": true }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, "globby": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", @@ -56728,12 +51743,6 @@ "slash": "^1.0.0" }, "dependencies": { - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true - }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", @@ -56742,6 +51751,12 @@ } } }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "html-webpack-plugin": { "version": "4.0.0-beta.11", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.11.tgz", @@ -56756,12 +51771,6 @@ "util.promisify": "1.0.0" } }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, "immer": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/immer/-/immer-1.10.0.tgz", @@ -56787,6 +51796,17 @@ "string-width": "^4.1.0", "strip-ansi": "^5.1.0", "through": "^2.3.6" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } } }, "is-absolute-url": { @@ -56824,31 +51844,8 @@ "requires": { "merge-stream": "^2.0.0", "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, - "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 - }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -56868,20 +51865,13 @@ "object.assign": "^4.1.0" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "p-locate": "^4.1.0" } }, "make-dir": { @@ -56946,14 +51936,20 @@ } }, "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "p-limit": "^2.0.0" + "p-limit": "^2.2.0" } }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, "path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", @@ -56977,6 +51973,15 @@ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, "pkg-up": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", @@ -56994,24 +51999,30 @@ "requires": { "locate-path": "^3.0.0" } - } - } - }, - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "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 } } @@ -57075,17 +52086,6 @@ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "cross-spawn": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", - "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, "json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", @@ -57106,21 +52106,6 @@ "json5": "^1.0.1" } }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -57129,23 +52114,91 @@ "requires": { "ansi-regex": "^5.0.0" } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } } } }, - "regexpp": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", - "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", - "dev": true + "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" + }, + "dependencies": { + "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" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "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" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "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 + } + } }, "resolve": { "version": "1.15.0", @@ -57156,38 +52209,12 @@ "path-parse": "^1.0.6" } }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - } - }, "sockjs": { "version": "0.3.20", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", @@ -57251,53 +52278,13 @@ "minipass": "^3.1.1" } }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "has-flag": "^3.0.0" - } - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - } + "has-flag": "^4.0.0" } }, "terser-webpack-plugin": { @@ -57406,12 +52393,6 @@ "webpack-sources": "^1.4.1" }, "dependencies": { - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true - }, "cacache": { "version": "12.0.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", @@ -57435,16 +52416,6 @@ "y18n": "^4.0.0" } }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -57463,9 +52434,9 @@ "dev": true }, "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, "requires": { "figgy-pudding": "^3.5.1" @@ -57531,12 +52502,6 @@ "yargs": "^13.3.2" }, "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -57568,26 +52533,11 @@ "nan": "^2.12.1" } }, - "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" - } - } - } + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true }, "schema-utils": { "version": "1.0.0", @@ -57600,13 +52550,13 @@ "ajv-keywords": "^3.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=", + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "has-flag": "^3.0.0" } } } @@ -57641,18 +52591,18 @@ "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } } } }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, "ws": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", @@ -57689,6 +52639,31 @@ "locate-path": "^3.0.0" } }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "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 + }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -57699,6 +52674,15 @@ "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } } } }, @@ -57715,15 +52699,15 @@ } }, "react-sizeme": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/react-sizeme/-/react-sizeme-2.6.12.tgz", - "integrity": "sha512-tL4sCgfmvapYRZ1FO2VmBmjPVzzqgHA7kI8lSJ6JS6L78jXFNRdOZFpXyK6P1NBZvKPPCZxReNgzZNUajAerZw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/react-sizeme/-/react-sizeme-3.0.1.tgz", + "integrity": "sha512-9Hf1NLgSbny1bha77l9HwvwwxQUJxFUqi44Ih+y3evA+PezBpGdCGlnvye6avss2cIgs9PgdYgMnfuzJWn/RUw==", "dev": true, "requires": { - "element-resize-detector": "^1.2.1", + "element-resize-detector": "^1.2.2", "invariant": "^2.2.4", "shallowequal": "^1.1.0", - "throttle-debounce": "^2.1.0" + "throttle-debounce": "^3.0.1" } }, "react-smooth": { @@ -57816,15 +52800,6 @@ "react-lifecycles-compat": "^3.0.4" } }, - "reactcss": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz", - "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==", - "dev": true, - "requires": { - "lodash": "^4.0.1" - } - }, "read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -57843,100 +52818,82 @@ } }, "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" }, "dependencies": { - "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" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true } } }, "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" }, "dependencies": { "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-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": "^4.1.0" } }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "^2.2.0" } - }, - "p-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 } } }, "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "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" + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + } } }, "readdirp": { @@ -57979,12 +52936,6 @@ "is-plain-object": "^2.0.4" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -58005,6 +52956,30 @@ "snapdragon": "^0.8.1", "to-regex": "^3.0.2" } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } } } }, @@ -58020,6 +52995,12 @@ "string-width": "^2.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 + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -58050,6 +53031,15 @@ "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } } } }, @@ -58113,22 +53103,13 @@ } }, "recharts-scale": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.4.tgz", - "integrity": "sha512-e7MCnuD1+gtY9N7TYxzB+QXvi4s30kvNqVbI1p5m4rf47GusEQaEHxi8zvlZkdOOZ90UhpGHcnkYlyYkUJ2JoQ==", + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.5.tgz", + "integrity": "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==", "requires": { "decimal.js-light": "^2.4.1" } }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, "recursive-readdir": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", @@ -58164,19 +53145,17 @@ } }, "redux": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz", - "integrity": "sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.1.0.tgz", + "integrity": "sha512-uI2dQN43zqLWCt6B/BMGRMY6db7TTY4qeHHfGeKb3EOhmOKjU3KdWvNLJyqaHRksv/ErdNH7cFZWg9jXtewy4g==", "requires": { - "loose-envify": "^1.4.0", - "symbol-observable": "^1.2.0" + "@babel/runtime": "^7.9.2" } }, "redux-immutable": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/redux-immutable/-/redux-immutable-4.0.0.tgz", - "integrity": "sha1-Ohoy32Y2ZGK2NpHw4dw15HK7yfM=", - "requires": {} + "integrity": "sha1-Ohoy32Y2ZGK2NpHw4dw15HK7yfM=" }, "redux-thunk": { "version": "2.3.0", @@ -58270,11 +53249,10 @@ } }, "regexpp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", - "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", - "dev": true, - "peer": true + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true }, "regexpu-core": { "version": "4.7.1", @@ -58338,12 +53316,6 @@ "strip-ansi": "^3.0.0" }, "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, "css-select": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", @@ -58397,21 +53369,27 @@ "util-deprecate": "^1.0.1" } }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "safe-buffer": "~5.2.0" } } } }, "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true }, "repeat-string": { @@ -58420,16 +53398,6 @@ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", "dev": true }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "peer": true, - "requires": { - "is-finite": "^1.0.0" - } - }, "request": { "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", @@ -58509,39 +53477,12 @@ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, - "require-uncached": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "dev": true, - "peer": true, - "requires": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", - "dev": true, - "peer": true - } - } - }, "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, - "reselect": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz", - "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc=", - "dev": true, - "peer": true - }, "resize-observer-polyfill": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", @@ -58606,6 +53547,15 @@ "is-windows": "^1.0.1", "which": "^1.2.14" } + }, + "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" + } } } }, @@ -58816,27 +53766,10 @@ "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" }, - "rx-lite": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", - "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", - "dev": true, - "peer": true - }, - "rx-lite-aggregates": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", - "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", - "dev": true, - "peer": true, - "requires": { - "rx-lite": "*" - } - }, "rxjs": { - "version": "6.6.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.6.tgz", - "integrity": "sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg==", + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -58908,12 +53841,6 @@ "is-plain-object": "^2.0.4" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -58954,34 +53881,6 @@ "neo-async": "^2.6.1", "schema-utils": "^2.6.1", "semver": "^6.3.0" - }, - "dependencies": { - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - } } }, "sax": { @@ -59017,33 +53916,6 @@ "@types/json-schema": "^7.0.5", "ajv": "^6.12.4", "ajv-keywords": "^3.5.2" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "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 - } } }, "select": { @@ -59293,22 +54165,12 @@ } }, "shallow-clone": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", - "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "requires": { - "is-extendable": "^0.1.1", - "kind-of": "^5.0.0", - "mixin-object": "^2.0.1" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "kind-of": "^6.0.2" } }, "shallow-copy": { @@ -59344,18 +54206,18 @@ } }, "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "^3.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=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "shell-quote": { @@ -59365,23 +54227,9 @@ "dev": true }, "shelljs": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", - "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "dependencies": { - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true - } - } + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", + "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=" }, "shellwords": { "version": "0.1.1", @@ -59434,12 +54282,13 @@ "dev": true }, "slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, - "peer": true, "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", "is-fullwidth-code-point": "^2.0.0" }, "dependencies": { @@ -59447,8 +54296,7 @@ "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, - "peer": true + "dev": true } } }, @@ -59493,6 +54341,17 @@ "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": { @@ -59502,6 +54361,17 @@ "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": { @@ -59513,16 +54383,14 @@ "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": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } } }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -59555,6 +54423,17 @@ "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" + } + } } }, "socket.io-client": { @@ -59601,9 +54480,9 @@ } }, "sockjs-client": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", - "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz", + "integrity": "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==", "dev": true, "requires": { "debug": "^3.2.6", @@ -59611,7 +54490,7 @@ "faye-websocket": "^0.11.3", "inherits": "^2.0.4", "json3": "^3.3.3", - "url-parse": "^1.4.7" + "url-parse": "^1.5.1" }, "dependencies": { "debug": { @@ -59757,6 +54636,21 @@ "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } } } }, @@ -59814,9 +54708,9 @@ } }, "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, "requires": { "figgy-pudding": "^3.5.1" @@ -59835,9 +54729,9 @@ "dev": true }, "stack-utils": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.4.tgz", - "integrity": "sha512-IPDJfugEGbfizBwBZRZ3xpccMdRyP5lqsBWXGQWimVjua/ccLCeMOAVjlc1R7LxFjo5sEDhyNIXd8mo/AiDS9w==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", "dev": true, "requires": { "escape-string-regexp": "^2.0.0" @@ -59891,6 +54785,17 @@ "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": { @@ -59900,6 +54805,17 @@ "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": { @@ -59911,15 +54827,13 @@ "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": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true } } }, @@ -59966,12 +54880,34 @@ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==" }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "optional": true }, + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, "through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -60009,6 +54945,32 @@ "requires": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + } } }, "stream-each": { @@ -60032,6 +54994,32 @@ "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + } } }, "stream-shift": { @@ -60047,12 +55035,9 @@ "dev": true }, "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==", - "requires": { - "safe-buffer": "~5.1.0" - } + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" }, "string-length": { "version": "2.0.0", @@ -60062,6 +55047,23 @@ "requires": { "astral-regex": "^1.0.0", "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } } }, "string-width": { @@ -60167,18 +55169,18 @@ } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "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": "^3.0.0" + "ansi-regex": "^2.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=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true } } @@ -60221,11 +55223,9 @@ } }, "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true, - "peer": true + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=" }, "style-loader": { "version": "0.23.1", @@ -60237,31 +55237,6 @@ "schema-utils": "^1.0.0" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "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", @@ -60286,17 +55261,6 @@ "postcss-selector-parser": "^3.0.0" }, "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, "postcss-selector-parser": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", @@ -60307,21 +55271,6 @@ "indexes-of": "^1.0.1", "uniq": "^1.0.1" } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -60338,34 +55287,6 @@ "dev": true, "requires": { "postcss": "^7.0.2" - }, - "dependencies": { - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } } }, "supports-color": { @@ -60468,36 +55389,47 @@ "integrity": "sha512-KHDsGQ4UcP+wSMaqH7wjH4DHxeHKRlmEO5jlSVCS+0x9xA4ZhdKYg/ameGF7RXaFDUcsti6Zj5s5W1Z4/YsbHA==" }, "table": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", - "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, - "peer": true, "requires": { - "ajv": "^5.2.3", - "ajv-keywords": "^2.1.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", - "slice-ansi": "1.0.0", - "string-width": "^2.1.1" + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" }, "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "peer": true + "dev": true }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, - "peer": true, "requires": { + "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" } } } @@ -60554,27 +55486,14 @@ } }, "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, "fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", @@ -60585,6 +55504,11 @@ "universalify": "^0.1.0" } }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -60593,67 +55517,6 @@ "graceful-fs": "^4.1.6" } }, - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, "postcss-value-parser": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", @@ -60675,24 +55538,12 @@ } } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "requires": { "has-flag": "^4.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - } } }, "universalify": { @@ -60743,18 +55594,18 @@ } }, "telejson": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/telejson/-/telejson-5.1.0.tgz", - "integrity": "sha512-Yy0N2OV0mosmr1SCZEm3Ezhu/oi5Dbao5RqauZu4+VI5I/XtVBHXajRk0txuqbFYtKdzzWGDZFGSif9ovVLjEA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/telejson/-/telejson-5.1.1.tgz", + "integrity": "sha512-aU7x+nwodmODJPXhU9sC/REOcX/dx1tNbyeOFV1PCTh6e9Mj+bnyfQ7sr13zfJYya9BtpGwnUNn9Fd76Ybj2eg==", "dev": true, "requires": { "@types/is-function": "^1.0.0", "global": "^4.4.0", "is-function": "^1.0.2", - "is-regex": "^1.1.1", + "is-regex": "^1.1.2", "is-symbol": "^1.0.3", "isobject": "^4.0.0", - "lodash": "^4.17.20", + "lodash": "^4.17.21", "memoizerific": "^1.11.3" }, "dependencies": { @@ -60884,6 +55735,16 @@ "pkg-dir": "^4.1.0" } }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -60901,6 +55762,15 @@ "supports-color": "^7.0.0" } }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -60934,6 +55804,26 @@ "yocto-queue": "^0.1.0" } }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + }, + "dependencies": { + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + } + } + }, "p-map": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", @@ -60943,6 +55833,15 @@ "aggregate-error": "^3.0.0" } }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -61046,6 +55945,12 @@ "json-parse-better-errors": "^1.0.1" } }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, "path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", @@ -61097,9 +56002,9 @@ "dev": true }, "throttle-debounce": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.3.0.tgz", - "integrity": "sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-3.0.1.tgz", + "integrity": "sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==", "dev": true }, "through": { @@ -61116,6 +56021,34 @@ "requires": { "inherits": "^2.0.4", "readable-stream": "2 || 3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } + } } }, "thunky": { @@ -61162,12 +56095,6 @@ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" }, - "tinycolor2": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", - "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==", - "dev": true - }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -61202,6 +56129,17 @@ "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": { @@ -61315,13 +56253,6 @@ "punycode": "^2.1.0" } }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "dev": true, - "peer": true - }, "triple-beam": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", @@ -61335,9 +56266,9 @@ "dev": true }, "ts-dedent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.1.0.tgz", - "integrity": "sha512-HbmrG+lCgk5W8LQTALxBxQRBDeAhQKRzdqVhHLUkVd5nYT+b6zDzbRMjiA8wqrWDa33X09WdnW4zEsdwQArTaw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.1.1.tgz", + "integrity": "sha512-riHuwnzAUCfdIeTBNUq7+Yj+ANnrMXo/7+Z74dIdudS7ys2k8aSGMzpJRMFDF7CLwUTbtvi1ZZff/Wl+XxmqIA==", "dev": true }, "ts-essentials": { @@ -61448,17 +56379,10 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, - "typescript": { - "version": "3.9.9", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz", - "integrity": "sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==", - "dev": true, - "peer": true - }, "ua-parser-js": { - "version": "0.7.25", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.25.tgz", - "integrity": "sha512-8NFExdfI24Ny8R3Vc6+uUytP/I7dpqk3JERlvxPWlrtx5YboqCgxAXYKPAifbPLV2zKbgmmPL53ufW7mUC/VOQ==" + "version": "0.7.28", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", + "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==" }, "uglify-js": { "version": "3.4.10", @@ -61485,21 +56409,21 @@ } }, "unbox-primitive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.0.tgz", - "integrity": "sha512-P/51NX+JXyxK/aigg1/ZgyccdAxm5K1+n8+tvqSntjOivPt19gvm1VC49RWYetsiub8WViUchdxl/KWHHB0kzA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", "dev": true, "requires": { "function-bind": "^1.1.1", - "has-bigints": "^1.0.0", - "has-symbols": "^1.0.0", - "which-boxed-primitive": "^1.0.1" + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" } }, "underscore": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", + "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==", "dev": true }, "unfetch": { @@ -61565,7 +56489,8 @@ "uniq": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true }, "uniqs": { "version": "2.0.0", @@ -61705,31 +56630,6 @@ "schema-utils": "^3.0.0" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "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 - }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -61781,8 +56681,7 @@ "use-isomorphic-layout-effect": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.1.tgz", - "integrity": "sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ==", - "requires": {} + "integrity": "sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ==" }, "use-latest": { "version": "1.2.0", @@ -62048,25 +56947,6 @@ "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, "define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", @@ -62112,18 +56992,6 @@ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", "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 - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -62202,12 +57070,6 @@ "ws": "^6.0.0" }, "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, "acorn-walk": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", @@ -62220,12 +57082,6 @@ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, - "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "dev": true - }, "filesize": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", @@ -62332,12 +57188,39 @@ "p-limit": "^2.0.0" } }, + "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-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "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 + }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -62367,6 +57250,15 @@ "has-flag": "^3.0.0" } }, + "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" + } + }, "wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", @@ -62470,31 +57362,6 @@ "yargs": "^13.3.2" }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -62526,12 +57393,6 @@ "wrap-ansi": "^5.1.0" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -62581,12 +57442,6 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "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 - }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", @@ -62606,6 +57461,12 @@ "p-limit": "^2.0.0" } }, + "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 + }, "punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", @@ -62634,12 +57495,6 @@ "strip-ansi": "^5.1.0" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -62651,15 +57506,6 @@ } } }, - "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" - } - }, "supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", @@ -62690,12 +57536,6 @@ "strip-ansi": "^5.0.0" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -62750,8 +57590,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/webpack-filter-warnings-plugin/-/webpack-filter-warnings-plugin-1.2.1.tgz", "integrity": "sha512-Ez6ytc9IseDMLPo0qCuNNYzgtUl8NovOqjIq4uAU8LTD4uoa1w1KpZyyzFtLTEMZpkkOkLfL9eN+KGYdk1Qtwg==", - "dev": true, - "requires": {} + "dev": true }, "webpack-hot-middleware": { "version": "2.25.0", @@ -62763,23 +57602,6 @@ "html-entities": "^1.2.0", "querystring": "^0.2.0", "strip-ansi": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "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" - } - } } }, "webpack-log": { @@ -62928,9 +57750,9 @@ } }, "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -62964,6 +57786,12 @@ "string-width": "^1.0.2 || 2" }, "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", @@ -62979,6 +57807,15 @@ "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } } } }, @@ -63018,12 +57855,6 @@ "winston-transport": "^4.4.0" }, "dependencies": { - "async": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", - "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==", - "dev": true - }, "is-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", @@ -63040,6 +57871,21 @@ "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + } } } }, @@ -63051,6 +57897,32 @@ "requires": { "readable-stream": "^2.3.7", "triple-beam": "^1.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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" + } + } } }, "word-wrap": { @@ -63300,21 +58172,6 @@ "color-convert": "^2.0.1" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "strip-ansi": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", @@ -63332,11 +58189,10 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", "dev": true, - "peer": true, "requires": { "mkdirp": "^0.5.1" } @@ -63415,9 +58271,9 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "yallist": { @@ -63448,9 +58304,9 @@ }, "dependencies": { "y18n": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", - "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true } } diff --git a/frontend/scripts/upload-minio.js b/frontend/scripts/upload-minio.js index 3e59d9c4e..f0415390f 100644 --- a/frontend/scripts/upload-minio.js +++ b/frontend/scripts/upload-minio.js @@ -1,14 +1,15 @@ const Minio = require('minio') const { collectFilenames } = require('./fs'); +require('dotenv').config() const PUBLIC_DIR = 'public'; var minioClient = new Minio.Client({ - endPoint: window.ENV.MINIO_ENDPOINT, - port: window.ENV.MINIO_PORT, - useSSL: window.ENV.MINIO_USE_SSL, //? - accessKey: window.ENV.MINIO_ACCESS_KEY, - secretKey: window.ENV.MINIO_SECRET_KEY, + endPoint: process.env.MINIO_ENDPOINT, + port: process.env.MINIO_PORT, + useSSL: process.env.MINIO_USE_SSL, + accessKey: process.env.MINIO_ACCESS_KEY, + secretKey: process.env.MINIO_SECRET_KEY, }); collectFilenames(PUBLIC_DIR, n => !n.includes('.DS_Store')).forEach(name => { From 932bcb920df58f305322d2535ecc4de945388ef7 Mon Sep 17 00:00:00 2001 From: Shekar Siri Date: Tue, 4 May 2021 20:05:28 +0530 Subject: [PATCH 02/10] copy button --- .../Client/ProfileSettings/OptOut.js | 2 +- .../Client/ProfileSettings/ProfileSettings.js | 14 +- .../IdentifyUsersTab/IdentifyUsersTab.js | 14 +- .../OnboardingTabs/InstallDocs/InstallDocs.js | 3 +- .../Onboarding/components/SideMenu.js | 7 +- .../InstallDocs/InstallDocs.js | 2 +- .../components/ui/CopyButton/CopyButton.js | 25 + .../app/components/ui/CopyButton/index.js | 1 + .../ui/HighlightCode/HighlightCode.js | 18 + .../ui/HighlightCode/highlightCode.css | 29 + .../app/components/ui/HighlightCode/index.js | 1 + frontend/app/components/ui/index.js | 2 + frontend/env.js | 2 +- frontend/logfile | 3819 ----------------- 14 files changed, 87 insertions(+), 3852 deletions(-) create mode 100644 frontend/app/components/ui/CopyButton/CopyButton.js create mode 100644 frontend/app/components/ui/CopyButton/index.js create mode 100644 frontend/app/components/ui/HighlightCode/HighlightCode.js create mode 100644 frontend/app/components/ui/HighlightCode/highlightCode.css create mode 100644 frontend/app/components/ui/HighlightCode/index.js delete mode 100644 frontend/logfile diff --git a/frontend/app/components/Client/ProfileSettings/OptOut.js b/frontend/app/components/Client/ProfileSettings/OptOut.js index 88180e5c3..dea675a60 100644 --- a/frontend/app/components/Client/ProfileSettings/OptOut.js +++ b/frontend/app/components/Client/ProfileSettings/OptOut.js @@ -17,7 +17,7 @@ function OptOut(props) { checked={ optOut } onClick={ onChange } className="mr-8" - label="Enable/Disable" + label="Anonymize" />
) diff --git a/frontend/app/components/Client/ProfileSettings/ProfileSettings.js b/frontend/app/components/Client/ProfileSettings/ProfileSettings.js index 5298914bd..ac04d53fe 100644 --- a/frontend/app/components/Client/ProfileSettings/ProfileSettings.js +++ b/frontend/app/components/Client/ProfileSettings/ProfileSettings.js @@ -31,16 +31,6 @@ export default class ProfileSettings extends React.PureComponent {
-
-
-

{ 'Opt out' }

- {/*
{ 'Your API key gives you access to an extra set of services.' }
*/} -
-
-
- -
-

{ 'Organization API Key' }

@@ -53,8 +43,8 @@ export default class ProfileSettings extends React.PureComponent {
-

{ 'Opt Out' }

- {/*
{ 'Your API key gives you access to an extra set of services.' }
*/} +

{ 'Data Collection' }

+
{ 'Enables you to control how OpenReplay captures data on your organization’s usage to improve our product.' }
diff --git a/frontend/app/components/Onboarding/components/IdentifyUsersTab/IdentifyUsersTab.js b/frontend/app/components/Onboarding/components/IdentifyUsersTab/IdentifyUsersTab.js index 2e6fd2ad6..bee33974b 100644 --- a/frontend/app/components/Onboarding/components/IdentifyUsersTab/IdentifyUsersTab.js +++ b/frontend/app/components/Onboarding/components/IdentifyUsersTab/IdentifyUsersTab.js @@ -1,8 +1,7 @@ import React from 'react' import CircleNumber from '../CircleNumber' import MetadataList from '../MetadataList/MetadataList' -import Snippet from '../Snippet/Snippet' -import Highlight from 'react-highlight' +import { HighlightCode } from 'UI' export default function IdentifyUsersTab() { return ( @@ -17,10 +16,7 @@ export default function IdentifyUsersTab() {
Call userID to identify your users when recording a session. The identity of the user can be changed, but OpenReplay will only keep the last communicated user ID.
- - {`tracker.userID('john@doe.com');`} - - {/* */} +
@@ -37,19 +33,15 @@ export default function IdentifyUsersTab() {
-
Inject metadata when recording sessions
Use the metadata method in your code to inject custom user data in the form of a key/value pair (string).
- - {`tracker.metadata('plan', 'premium');`} - +
- {/* */}
diff --git a/frontend/app/components/Onboarding/components/OnboardingTabs/InstallDocs/InstallDocs.js b/frontend/app/components/Onboarding/components/OnboardingTabs/InstallDocs/InstallDocs.js index 2d6230c0a..09e5fd4c9 100644 --- a/frontend/app/components/Onboarding/components/OnboardingTabs/InstallDocs/InstallDocs.js +++ b/frontend/app/components/Onboarding/components/OnboardingTabs/InstallDocs/InstallDocs.js @@ -2,10 +2,9 @@ import React, { useState } from 'react' import { connect } from 'react-redux' import stl from './installDocs.css' import cn from 'classnames' -import CopyButton from '../CopyButton' import Highlight from 'react-highlight' import CircleNumber from '../../CircleNumber' -import { Slider } from 'UI' +import { Slider, CopyButton } from 'UI' const installationCommand = 'npm i @openreplay/tracker --save' const usageCode = `import Tracker from '@openreplay/tracker'; diff --git a/frontend/app/components/Onboarding/components/SideMenu.js b/frontend/app/components/Onboarding/components/SideMenu.js index e828fd856..ab49d97f3 100644 --- a/frontend/app/components/Onboarding/components/SideMenu.js +++ b/frontend/app/components/Onboarding/components/SideMenu.js @@ -24,21 +24,18 @@ export default function SideMenu() {
window.open('https://docs.openreplay.com/api', '_blank')} + onClick={() => window.open('https://docs.openreplay.com', '_blank')} /> window.open('https://github.com/openreplay/openreplay/issues/new', '_blank')} + onClick={() => window.open('https://github.com/openreplay/openreplay/issues', '_blank')} /> $crisp.push(['do', 'chat:open']) } diff --git a/frontend/app/components/shared/TrackingCodeModal/InstallDocs/InstallDocs.js b/frontend/app/components/shared/TrackingCodeModal/InstallDocs/InstallDocs.js index 6e1bb78f3..cfedaed07 100644 --- a/frontend/app/components/shared/TrackingCodeModal/InstallDocs/InstallDocs.js +++ b/frontend/app/components/shared/TrackingCodeModal/InstallDocs/InstallDocs.js @@ -2,7 +2,7 @@ import React from 'react' import { Controlled as CodeMirror } from 'react-codemirror2' import stl from './installDocs.css' import cn from 'classnames' -import CopyButton from '../CopyButton'; +import { CopyButton } from 'UI'; const installationCommand = 'npm i @openreplay/tracker --save' const usageCode = `import Tracker from '@openreplay/tracker'; diff --git a/frontend/app/components/ui/CopyButton/CopyButton.js b/frontend/app/components/ui/CopyButton/CopyButton.js new file mode 100644 index 000000000..d080b1a02 --- /dev/null +++ b/frontend/app/components/ui/CopyButton/CopyButton.js @@ -0,0 +1,25 @@ +import React from 'react' +import { useState } from 'react'; +import copy from 'copy-to-clipboard'; + +function CopyButton({ content, className }) { + const [copied, setCopied] = useState(false) + + const copyHandler = () => { + setCopied(true); + copy(content); + setTimeout(() => { + setCopied(false); + }, 1000); + }; + return ( + + ) +} + +export default CopyButton diff --git a/frontend/app/components/ui/CopyButton/index.js b/frontend/app/components/ui/CopyButton/index.js new file mode 100644 index 000000000..a230b4ecc --- /dev/null +++ b/frontend/app/components/ui/CopyButton/index.js @@ -0,0 +1 @@ +export { default } from './CopyButton' \ No newline at end of file diff --git a/frontend/app/components/ui/HighlightCode/HighlightCode.js b/frontend/app/components/ui/HighlightCode/HighlightCode.js new file mode 100644 index 000000000..d9f837b88 --- /dev/null +++ b/frontend/app/components/ui/HighlightCode/HighlightCode.js @@ -0,0 +1,18 @@ +import React from 'react' +import Highlight from 'react-highlight' +import stl from './highlightCode.css' +import cn from 'classnames' +import { CopyButton } from 'UI' + +function HighlightCode({ className = 'js', text = ''}) { + return ( +
+ + + {text} + +
+ ) +} + +export default HighlightCode diff --git a/frontend/app/components/ui/HighlightCode/highlightCode.css b/frontend/app/components/ui/HighlightCode/highlightCode.css new file mode 100644 index 000000000..448b08f72 --- /dev/null +++ b/frontend/app/components/ui/HighlightCode/highlightCode.css @@ -0,0 +1,29 @@ +@import 'zindex.css'; + +.snippetWrapper { + position: relative; + & .codeCopy { + position: absolute; + right: 0px; + top: -3px; + z-index: $codeSnippet; + padding: 5px 10px; + color: $teal; + text-transform: uppercase; + cursor: pointer; + border-radius: 3px; + transition: all 0.4s; + user-select: none; + + &:hover { + background-color: $gray-light; + transition: all 0.2s; + } + } + & .snippet { + overflow: hidden; + line-height: 20px; + border-radius: 5px; + user-select: none; + } +} \ No newline at end of file diff --git a/frontend/app/components/ui/HighlightCode/index.js b/frontend/app/components/ui/HighlightCode/index.js new file mode 100644 index 000000000..7f7481148 --- /dev/null +++ b/frontend/app/components/ui/HighlightCode/index.js @@ -0,0 +1 @@ +export { default } from './HighlightCode' \ No newline at end of file diff --git a/frontend/app/components/ui/index.js b/frontend/app/components/ui/index.js index c64e5082d..fe9609f16 100644 --- a/frontend/app/components/ui/index.js +++ b/frontend/app/components/ui/index.js @@ -50,5 +50,7 @@ export { default as TextLink } from './TextLink'; export { default as Information } from './Information'; export { default as QuestionMarkHint } from './QuestionMarkHint'; export { default as TimelinePointer } from './TimelinePointer'; +export { default as CopyButton } from './CopyButton'; +export { default as HighlightCode } from './HighlightCode'; export { Input, Modal, Form, Message, Card } from 'semantic-ui-react'; diff --git a/frontend/env.js b/frontend/env.js index 0bdc0ab4a..4c5902987 100644 --- a/frontend/env.js +++ b/frontend/env.js @@ -8,7 +8,7 @@ const oss = { CAPTCHA_ENABLED: process.env.CAPTCHA_ENABLED, CAPTCHA_SITE_KEY: process.env.CAPTCHA_SITE_KEY, ORIGIN: () => 'window.location.origin', - API_EDP: 'https://staging-parrot.asayer.io', + API_EDP: () => 'window.location.origin + "/api"', ASSETS_HOST: () => 'window.location.origin + "/assets"', VERSION: '1.0.1', SOURCEMAP: true, diff --git a/frontend/logfile b/frontend/logfile deleted file mode 100644 index 3851af727..000000000 --- a/frontend/logfile +++ /dev/null @@ -1,3819 +0,0 @@ -2021-01-23 12:42:45.336 IST [37761] LOG: starting PostgreSQL 13.1 on x86_64-apple-darwin20.1.0, compiled by Apple clang version 12.0.0 (clang-1200.0.32.27), 64-bit -2021-01-23 12:42:45.337 IST [37761] LOG: listening on IPv4 address "127.0.0.1", port 5432 -2021-01-23 12:42:45.337 IST [37761] LOG: listening on IPv6 address "::1", port 5432 -2021-01-23 12:42:45.338 IST [37761] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432" -2021-01-23 12:42:45.352 IST [37762] LOG: database system was interrupted; last known up at 2021-01-21 08:13:03 IST -2021-01-23 12:42:45.507 IST [37762] LOG: database system was not properly shut down; automatic recovery in progress -2021-01-23 12:42:45.513 IST [37762] LOG: redo starts at 0/3316BC8 -2021-01-23 12:42:45.513 IST [37762] LOG: invalid record length at 0/3316CB0: wanted 24, got 0 -2021-01-23 12:42:45.513 IST [37762] LOG: redo done at 0/3316C78 -2021-01-23 12:42:45.522 IST [37761] LOG: database system is ready to accept connections -2021-01-23 14:38:53.706 IST [40210] ERROR: bind message supplies 0 parameters, but prepared statement "pdo_stmt_00000003" requires 1 -2021-01-23 14:38:53.706 IST [40210] STATEMENT: select * from "tenants" where "code" = $1 limit 1 -2021-01-23 14:39:00.422 IST [40215] ERROR: bind message supplies 0 parameters, but prepared statement "pdo_stmt_00000003" requires 1 -2021-01-23 14:39:00.422 IST [40215] STATEMENT: select * from "tenants" where "code" = $1 limit 1 -2021-01-23 16:08:04.745 IST [45258] ERROR: relation "sections" does not exist at character 15 -2021-01-23 16:08:04.745 IST [45258] STATEMENT: select * from "sections" where "id" = $1 limit 1 -2021-01-23 16:08:09.391 IST [45262] ERROR: relation "sections" does not exist at character 15 -2021-01-23 16:08:09.391 IST [45262] STATEMENT: select * from "sections" where "id" = $1 limit 1 -2021-01-23 16:09:22.542 IST [45295] ERROR: relation "sections" does not exist at character 15 -2021-01-23 16:09:22.542 IST [45295] STATEMENT: select * from "sections" where "id" = $1 limit 1 -2021-01-24 01:17:39.683 IST [50859] FATAL: role "postgres" does not exist -2021-01-24 01:36:57.415 IST [67292] ERROR: missing FROM-clause entry for table "sections" at character 31 -2021-01-24 01:36:57.415 IST [67292] STATEMENT: select * from "classes" where "sections"."class_id" = "classes"."id" and "academic_year_id" = $1 limit 1 -2021-01-24 01:41:44.028 IST [56873] ERROR: column "academic_year_id" does not exist at character 451 -2021-01-24 01:41:44.028 IST [56873] STATEMENT: select * from "users" where (name ILIKE '%af%' or exists (select * from "students" where "users"."id" = "students"."user_id" and "aadhar_number"::text LIKE $1) or exists (select * from "students" where "users"."id" = "students"."user_id" and "admission_number"::text LIKE $2) and exists (select * from "students" where "users"."id" = "students"."user_id" and exists (select * from "enrolments" where "students"."user_id" = "enrolments"."user_id" and "academic_year_id" = $3))) and "users"."deleted_at" is null limit 5 -2021-01-24 01:43:44.869 IST [66608] ERROR: missing FROM-clause entry for table "student" at character 281 -2021-01-24 01:43:44.869 IST [66608] STATEMENT: select * from "users" where (name ILIKE '%af%' or exists (select * from "students" where "users"."id" = "students"."user_id" and "aadhar_number"::text LIKE $1) or exists (select * from "students" where "users"."id" = "students"."user_id" and "admission_number"::text LIKE $2) and "student"."enrolment" = (select * where "has" = $3)) and "users"."deleted_at" is null limit 5 -2021-01-24 14:36:15.553 IST [61561] ERROR: update or delete on table "payments" violates foreign key constraint "late_fees_payment_id_foreign" on table "late_fees" -2021-01-24 14:36:15.553 IST [61561] DETAIL: Key (id)=(14) is still referenced from table "late_fees". -2021-01-24 14:36:15.553 IST [61561] STATEMENT: DELETE FROM "tnt_cf809103-d949-4562-896e-bcef7c73e8d7"."payments" WHERE "id" = '14' OR "id" = '15' OR "id" = '16' OR "id" = '17' OR "id" = '18' OR "id" = '19' OR "id" = '20' OR "id" = '21' OR "id" = '22' OR "id" = '23' OR "id" = '24' OR "id" = '25' OR "id" = '26' OR "id" = '27' OR "id" = '28' OR "id" = '29' OR "id" = '30' OR "id" = '31' OR "id" = '32' OR "id" = '33' OR "id" = '34'; -2021-01-24 14:52:27.013 IST [54028] ERROR: relation "tnt_c05488f1-1124-4d7f-81ef-3c7e9fb5b6d2.academic_years" does not exist at character 13 -2021-01-24 14:52:27.013 IST [54028] STATEMENT: INSERT INTO "tnt_c05488f1-1124-4d7f-81ef-3c7e9fb5b6d2".academic_years (id, title, start_at, end_at, is_active, created_at, updated_at) VALUES ( $1, $2, $3, $4, $5, $6, $7) -2021-01-24 16:13:57.532 IST [79798] ERROR: column "academic_year_ids" does not exist at character 712 -2021-01-24 16:13:57.532 IST [79798] HINT: Perhaps you meant to reference the column "classes.academic_year_id". -2021-01-24 16:13:57.532 IST [79798] STATEMENT: select * from "enrolments" where exists (select * from "users" where "enrolments"."user_id" = "users"."id" and "name"::text LIKE $1 and "users"."deleted_at" is null) or exists (select * from "users" where "enrolments"."user_id" = "users"."id" and "aadhar_number"::text LIKE $2 and "users"."deleted_at" is null) or exists (select * from "users" where "enrolments"."user_id" = "users"."id" and exists (select * from "students" where "users"."id" = "students"."user_id" and "admission_number"::text LIKE $3) and "users"."deleted_at" is null) and exists (select * from "sections" where "enrolments"."section_id" = "sections"."id" and exists (select * from "classes" where "sections"."class_id" = "classes"."id" and "academic_year_ids" = $4)) limit 5 -2021-01-24 16:16:00.358 IST [61561] ERROR: syntax error at or near "%" at character 716 -2021-01-24 16:16:00.358 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - select - * - from - "enrolments" - where - exists ( - select - * - from - "users" - where - "enrolments"."user_id" = "users"."id" - and "name" :: text LIKE % maya % - and "users"."deleted_at" is null - ) - or exists ( - select - * - from - "users" - where - "enrolments"."user_id" = "users"."id" - and "aadhar_number" :: text LIKE % maya % - and "users"."deleted_at" is null - ) - or exists ( - select - * - from - "users" - where - "enrolments"."user_id" = "users"."id" - and exists ( - select - * - from - "students" - where - "users"."id" = "students"."user_id" - and "admission_number" :: text LIKE % maya % - ) - and "users"."deleted_at" is null - ) - and exists ( - select - * - from - "sections" - where - "enrolments"."section_id" = "sections"."id" - and exists ( - select - * - from - "classes" - where - "sections"."class_id" = "classes"."id" - and "academic_year_id" = 21 - ) - ) - limit - 5 - ) -2021-01-24 16:16:34.283 IST [61561] ERROR: syntax error at or near ")" at character 1647 -2021-01-24 16:16:34.283 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - select - * - from - "enrolments" - where - exists ( - select - * - from - "users" - where - "enrolments"."user_id" = "users"."id" - and "name" :: text LIKE '%maya%' - and "users"."deleted_at" is null - ) - or exists ( - select - * - from - "users" - where - "enrolments"."user_id" = "users"."id" - and "aadhar_number" :: text LIKE '%maya%' - and "users"."deleted_at" is null - ) - or exists ( - select - * - from - "users" - where - "enrolments"."user_id" = "users"."id" - and exists ( - select - * - from - "students" - where - "users"."id" = "students"."user_id" - and "admission_number" :: text LIKE '%maya%' - ) - and "users"."deleted_at" is null - ) - and exists ( - select - * - from - "sections" - where - "enrolments"."section_id" = "sections"."id" - and exists ( - select - * - from - "classes" - where - "sections"."class_id" = "classes"."id" - and "academic_year_id" = 21 - ) - ) - limit - 5 - ) -2021-01-24 16:16:45.440 IST [61561] ERROR: relation "enrolments" does not exist at character 560 -2021-01-24 16:16:45.440 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - select - * - from - "enrolments" - where - exists ( - select - * - from - "users" - where - "enrolments"."user_id" = "users"."id" - and "name" :: text LIKE '%maya%' - and "users"."deleted_at" is null - ) - or exists ( - select - * - from - "users" - where - "enrolments"."user_id" = "users"."id" - and "aadhar_number" :: text LIKE '%maya%' - and "users"."deleted_at" is null - ) - or exists ( - select - * - from - "users" - where - "enrolments"."user_id" = "users"."id" - and exists ( - select - * - from - "students" - where - "users"."id" = "students"."user_id" - and "admission_number" :: text LIKE '%maya%' - ) - and "users"."deleted_at" is null - ) - and exists ( - select - * - from - "sections" - where - "enrolments"."section_id" = "sections"."id" - and exists ( - select - * - from - "classes" - where - "sections"."class_id" = "classes"."id" - and "academic_year_id" = 21 - ) - ) - limit - 5 -2021-01-24 16:17:32.152 IST [61561] ERROR: relation "students" does not exist at character 1320 -2021-01-24 16:17:32.152 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - select - * - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - where - exists ( - select - * - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - where - "enrolments"."user_id" = "users"."id" - and "name" :: text LIKE '%maya%' - and "users"."deleted_at" is null - ) - or exists ( - select - * - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - where - "enrolments"."user_id" = "users"."id" - and "aadhar_number" :: text LIKE '%maya%' - and "users"."deleted_at" is null - ) - or exists ( - select - * - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - where - "enrolments"."user_id" = "users"."id" - and exists ( - select - * - from - "students" - where - "users"."id" = "students"."user_id" - and "admission_number" :: text LIKE '%maya%' - ) - and "users"."deleted_at" is null - ) - and exists ( - select - * - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - where - "enrolments"."section_id" = "sections"."id" - and exists ( - select - * - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - where - "sections"."class_id" = "classes"."id" - and "academic_year_id" = 21 - ) - ) - limit - 5 -2021-01-24 16:21:47.191 IST [61561] ERROR: table name "s" specified more than once -2021-01-24 16:21:47.191 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - - select - * - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students s on s.user_id = u.id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - where - c.academic_year_id = 21 - and u.name like '%maya%' - or s.admission_number like '%maya%' - or u.aadhar_number like '%maya%' -2021-01-24 17:11:18.471 IST [41136] ERROR: missing FROM-clause entry for table "section_id, enrolments" at character 8 -2021-01-24 17:11:18.471 IST [41136] STATEMENT: select "enrolments"."section_id, enrolments"."id" from "enrolments" inner join "users" on "users"."id" = "enrolments"."user_id" inner join "students" on "students"."user_id" = "users"."id" inner join "sections" on "sections"."id" = "enrolments"."section_id" inner join "classes" on "classes"."id" = "sections"."class_id" where "classes"."academic_year_id" = $1 and "users"."name"::text LIKE $2 or "users"."aadhar_number"::text LIKE $3 or "students"."admission_number"::text LIKE $4 limit 5 -2021-01-24 17:32:01.504 IST [53198] ERROR: column students.admission does not exist at character 166 -2021-01-24 17:32:01.504 IST [53198] STATEMENT: select "enrolments"."id", "enrolments"."section_id", "users"."name", "sections"."name" as "section_name", "classes"."name" as "class_name", "users"."aadhar_number", "students"."admission" from "enrolments" inner join "users" on "users"."id" = "enrolments"."user_id" inner join "students" on "students"."user_id" = "users"."id" inner join "sections" on "sections"."id" = "enrolments"."section_id" inner join "classes" on "classes"."id" = "sections"."class_id" where "classes"."academic_year_id" = $1 and "users"."name"::text LIKE $2 or "users"."aadhar_number"::text LIKE $3 or "students"."admission_number"::text LIKE $4 limit 5 -2021-01-24 17:42:19.170 IST [15965] ERROR: invalid input syntax for type bigint: "undefined" -2021-01-24 17:42:19.170 IST [15965] STATEMENT: select * from "enrolments" where "enrolments"."id" = $1 limit 1 -2021-01-24 17:42:19.170 IST [15967] ERROR: invalid input syntax for type bigint: "undefined" -2021-01-24 17:42:19.170 IST [15967] STATEMENT: select * from "enrolments" where "enrolments"."id" = $1 limit 1 -2021-01-24 17:42:33.397 IST [34326] ERROR: invalid input syntax for type bigint: "undefined" -2021-01-24 17:42:33.397 IST [34326] STATEMENT: select * from "enrolments" where "enrolments"."id" = $1 limit 1 -2021-01-24 17:42:33.397 IST [34328] ERROR: invalid input syntax for type bigint: "undefined" -2021-01-24 17:42:33.397 IST [34328] STATEMENT: select * from "enrolments" where "enrolments"."id" = $1 limit 1 -2021-01-24 17:42:49.746 IST [55543] ERROR: invalid input syntax for type bigint: "undefined" -2021-01-24 17:42:49.746 IST [55543] STATEMENT: select * from "enrolments" where "enrolments"."id" = $1 limit 1 -2021-01-24 17:42:49.746 IST [55544] ERROR: invalid input syntax for type bigint: "undefined" -2021-01-24 17:42:49.746 IST [55544] STATEMENT: select * from "enrolments" where "enrolments"."id" = $1 limit 1 -2021-01-24 18:05:18.709 IST [36131] ERROR: column sections.standard_id does not exist at character 87 -2021-01-24 18:05:18.709 IST [36131] STATEMENT: select count(*) as aggregate from "sections" inner join "classes" on "classes"."id" = "sections"."standard_id" where "classes"."academic_year_id" = $1 -2021-01-24 18:06:14.567 IST [276] ERROR: column sections.standard_id does not exist at character 87 -2021-01-24 18:06:14.567 IST [276] STATEMENT: select count(*) as aggregate from "sections" inner join "classes" on "classes"."id" = "sections"."standard_id" where "classes"."class_id" = $1 -2021-01-24 19:17:35.056 IST [61561] ERROR: syntax error at or near ""tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"" at character 10 -2021-01-24 19:17:35.056 IST [61561] STATEMENT: select * "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - where c.academic_year_id = 21 -2021-01-24 19:18:40.073 IST [61561] ERROR: syntax error at or near "select" at character 3383 -2021-01-24 19:18:40.073 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- OTHER - ------------------------------------------- - select amount_paid ( - select - sum(amount_paid) - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - where - c.academic_year_id = 21 - ) -2021-01-24 19:18:47.493 IST [61561] ERROR: syntax error at or near "select" at character 3383 -2021-01-24 19:18:47.493 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- OTHER - ------------------------------------------- - select amount_paid ( - select - sum(amount_paid) as amount_paid - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - where - c.academic_year_id = 21 - ) -2021-01-24 19:18:57.121 IST [61561] ERROR: syntax error at or near "select" at character 3383 -2021-01-24 19:18:57.121 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- OTHER - ------------------------------------------- - select amount_paid ( - select - sum(amount_paid) as amount_paid - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - where - c.academic_year_id = 21 - ) t -2021-01-24 19:19:01.024 IST [61561] ERROR: syntax error at or near "select" at character 3385 -2021-01-24 19:19:01.024 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- OTHER - ------------------------------------------- - select t.amount_paid ( - select - sum(amount_paid) as amount_paid - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - where - c.academic_year_id = 21 - ) t -2021-01-24 19:19:33.948 IST [61561] ERROR: syntax error at or near "(" at character 3371 -2021-01-24 19:19:33.948 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- OTHER - ------------------------------------------- - select * ( - select - sum(amount_paid) as amount_paid - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - where - c.academic_year_id = 21 - ) t -2021-01-24 19:19:44.475 IST [61561] ERROR: column "amount_paid" does not exist at character 3376 -2021-01-24 19:19:44.475 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- OTHER - ------------------------------------------- - - select - sum(amount_paid) as amount_paid - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - where - c.academic_year_id = 21 - -2021-01-24 19:19:49.689 IST [61561] ERROR: column p.amount_paid does not exist at character 3376 -2021-01-24 19:19:49.689 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- OTHER - ------------------------------------------- - - select - sum(p.amount_paid) as amount_paid - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - where - c.academic_year_id = 21 - -2021-01-24 19:19:55.495 IST [61561] ERROR: column p.amount does not exist at character 3376 -2021-01-24 19:19:55.495 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- OTHER - ------------------------------------------- - - select - sum(p.amount) as amount_paid - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - where - c.academic_year_id = 21 - -2021-01-24 19:20:43.122 IST [61561] ERROR: column p.amount does not exist at character 3376 -2021-01-24 19:20:43.122 IST [61561] HINT: Perhaps you meant to reference the column "pi.amount". -2021-01-24 19:20:43.122 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- OTHER - ------------------------------------------- - - select - sum(p.amount) as amount_paid - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - where - c.academic_year_id = 21 - -2021-01-24 19:21:15.388 IST [61561] ERROR: syntax error at or near "(" at character 3372 -2021-01-24 19:21:15.388 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- OTHER - ------------------------------------------- - - select * ( - select - sum(pi.amount) as amount_paid - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - where - c.academic_year_id = 21 - ) t - -2021-01-24 19:21:16.736 IST [61561] ERROR: syntax error at or near "(" at character 3372 -2021-01-24 19:21:16.736 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- OTHER - ------------------------------------------- - - select * ( - select - sum(pi.amount) as amount_paid - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - where - c.academic_year_id = 21 - ) t - -2021-01-24 19:26:28.793 IST [61561] ERROR: date/time field value out of range: "24-01-2021" at character 3877 -2021-01-24 19:26:28.793 IST [61561] HINT: Perhaps you need a different "datestyle" setting. -2021-01-24 19:26:28.793 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - select - sum(pi.amount) as amount_paid - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - where - c.created_at BETWEEN '01-06-2020' and '24-01-2021' - and c.academic_year_id = 21; -2021-01-24 19:31:46.134 IST [61561] ERROR: column fa.section_id does not exist at character 4320 -2021-01-24 19:31:46.134 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - -- select - -- sum(pi.amount) as amount_paid - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - -- where - -- p.created_at BETWEEN '2019-06-01' - -- and '2021-01-24' - -- and c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - - SELECT - * - FROM - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".fee_assignments fa - JOIN "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s ON s.id = fa.feeable_id - AND fa.feeable_type = 'section' - WHERE fa.academic_year_id = 21 - group by fa.section_id -2021-01-24 19:31:57.880 IST [61561] ERROR: column "fa.id" must appear in the GROUP BY clause or be used in an aggregate function at character 4092 -2021-01-24 19:31:57.880 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - -- select - -- sum(pi.amount) as amount_paid - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - -- where - -- p.created_at BETWEEN '2019-06-01' - -- and '2021-01-24' - -- and c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - - SELECT - * - FROM - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".fee_assignments fa - JOIN "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s ON s.id = fa.feeable_id - AND fa.feeable_type = 'section' - WHERE fa.academic_year_id = 21 - group by s.id -2021-01-24 19:32:08.697 IST [61561] ERROR: missing FROM-clause entry for table "sa" at character 4096 -2021-01-24 19:32:08.697 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - -- select - -- sum(pi.amount) as amount_paid - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - -- where - -- p.created_at BETWEEN '2019-06-01' - -- and '2021-01-24' - -- and c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - - SELECT - *, - sa.id as section_id - FROM - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".fee_assignments fa - JOIN "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s ON s.id = fa.feeable_id - AND fa.feeable_type = 'section' - WHERE fa.academic_year_id = 21 - group by s.id -2021-01-24 19:32:26.762 IST [61561] ERROR: column "fa.id" must appear in the GROUP BY clause or be used in an aggregate function at character 4092 -2021-01-24 19:32:26.762 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - -- select - -- sum(pi.amount) as amount_paid - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - -- where - -- p.created_at BETWEEN '2019-06-01' - -- and '2021-01-24' - -- and c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - - SELECT - *, - s.id as section_id - FROM - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".fee_assignments fa - JOIN "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s ON s.id = fa.feeable_id - AND fa.feeable_type = 'section' - WHERE fa.academic_year_id = 21 - group by s.id -2021-01-24 19:33:03.940 IST [61561] ERROR: syntax error at or near "FROM" at character 4114 -2021-01-24 19:33:03.940 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - -- select - -- sum(pi.amount) as amount_paid - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - -- where - -- p.created_at BETWEEN '2019-06-01' - -- and '2021-01-24' - -- and c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - - SELECT - s.id as section_id, - - FROM - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".fee_assignments fa - JOIN "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s ON s.id = fa.feeable_id - AND fa.feeable_type = 'section' - JOIN "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.section_id = s.id - WHERE fa.academic_year_id = 21 - group by s.id -2021-01-24 19:33:32.053 IST [61561] ERROR: column "fa.amount" must appear in the GROUP BY clause or be used in an aggregate function at character 4114 -2021-01-24 19:33:32.053 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - -- select - -- sum(pi.amount) as amount_paid - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - -- where - -- p.created_at BETWEEN '2019-06-01' - -- and '2021-01-24' - -- and c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - SELECT - s.id as section_id, - fa.amount - FROM - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".fee_assignments fa - JOIN "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s ON s.id = fa.feeable_id - AND fa.feeable_type = 'section' - JOIN "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.section_id = s.id - WHERE - fa.academic_year_id = 21 - group by - s.id -2021-01-24 19:34:54.376 IST [61561] ERROR: missing FROM-clause entry for table "s" at character 4092 -2021-01-24 19:34:54.376 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - -- select - -- sum(pi.amount) as amount_paid - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - -- where - -- p.created_at BETWEEN '2019-06-01' - -- and '2021-01-24' - -- and c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - SELECT - s.id as section_id, - sum(fa.amount), - count(e.id) as enrolments - FROM - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".fee_assignments fa - - JOIN "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.section_id = fa.feeable_id - WHERE - fa.academic_year_id = 21 - group by - s.id -2021-01-24 19:34:58.732 IST [61561] ERROR: missing FROM-clause entry for table "s" at character 4370 -2021-01-24 19:34:58.732 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - -- select - -- sum(pi.amount) as amount_paid - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - -- where - -- p.created_at BETWEEN '2019-06-01' - -- and '2021-01-24' - -- and c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - SELECT - -- s.id as section_id, - sum(fa.amount), - count(e.id) as enrolments - FROM - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".fee_assignments fa - - JOIN "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.section_id = fa.feeable_id - WHERE - fa.academic_year_id = 21 - group by - s.id -2021-01-24 19:48:33.759 IST [61561] ERROR: column "e.section_id" must appear in the GROUP BY clause or be used in an aggregate function at character 3402 -2021-01-24 19:48:33.759 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - select - p.*, - e.section_id, - c.id as class_id, - c.academic_year_id - -- sum(pi.amount) as amount_paid - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - where - p.created_at BETWEEN '2019-06-01' - and '2021-01-24' - and p.status = 'paid' - and s.id in (4) - and c.academic_year_id = 21 - group by p.id; -2021-01-24 19:48:59.558 IST [61561] ERROR: column "c.id" must appear in the GROUP BY clause or be used in an aggregate function at character 3420 -2021-01-24 19:48:59.558 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - select - p.*, - -- e.section_id, - c.id as class_id, - c.academic_year_id - -- sum(pi.amount) as amount_paid - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - where - p.created_at BETWEEN '2019-06-01' - and '2021-01-24' - and p.status = 'paid' - and s.id in (4) - and c.academic_year_id = 21 - group by p.id; -2021-01-24 19:49:05.206 IST [61561] ERROR: syntax error at or near "from" at character 3499 -2021-01-24 19:49:05.206 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - select - p.*, - -- e.section_id, - -- c.id as class_id, - -- c.academic_year_id - -- sum(pi.amount) as amount_paid - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - where - p.created_at BETWEEN '2019-06-01' - and '2021-01-24' - and p.status = 'paid' - and s.id in (4) - and c.academic_year_id = 21 - group by p.id; -2021-01-24 19:49:54.422 IST [61561] ERROR: column "pi.amount" must appear in the GROUP BY clause or be used in an aggregate function at character 3439 -2021-01-24 19:49:54.422 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - select - p.* - -- , sum(pi.amount) as paid_amount - , pi.amount - -- e.section_id, - -- c.id as class_id, - -- c.academic_year_id - -- sum(pi.amount) as amount_paid - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - where - p.created_at BETWEEN '2019-06-01' - and '2021-01-24' - and p.status = 'paid' - and s.id in (4) - and c.academic_year_id = 21 - group by p.id; -2021-01-24 19:50:10.578 IST [61561] ERROR: syntax error at or near "e" at character 3435 -2021-01-24 19:50:10.578 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - select - p.* - , sum(pi.amount) as paid_amount - e.section_id, - -- c.id as class_id, - -- c.academic_year_id - -- sum(pi.amount) as amount_paid - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - where - p.created_at BETWEEN '2019-06-01' - and '2021-01-24' - and p.status = 'paid' - and s.id in (4) - and c.academic_year_id = 21 - group by p.id; -2021-01-24 19:50:16.778 IST [61561] ERROR: syntax error at or near "e" at character 3435 -2021-01-24 19:50:16.778 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - select - p.* - , sum(pi.amount) as paid_amount - e.section_id, - -- c.id as class_id, - -- c.academic_year_id - -- sum(pi.amount) as amount_paid - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - where - p.created_at BETWEEN '2019-06-01' - and '2021-01-24' - and p.status = 'paid' - and s.id in (4) - and c.academic_year_id = 21 - group by p.id, e.section_id; -2021-01-24 19:51:33.455 IST [61561] ERROR: syntax error at or near "," at character 3433 -2021-01-24 19:51:33.455 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - select - p.id - , s.class_id - , e.section_id, - , p.enrolment_id - , sum(pi.amount) as paid_amount - - -- c.id as class_id, - -- c.academic_year_id - -- sum(pi.amount) as amount_paid - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - where - p.created_at BETWEEN '2019-06-01' - and '2021-01-24' - and p.status = 'paid' - and s.id in (4) - and c.academic_year_id = 21 - group by p.id, s.class_id, e.section_id, p.enrolment_id; -2021-01-24 19:52:33.123 IST [61561] ERROR: column "c.academic_year_id" must appear in the GROUP BY clause or be used in an aggregate function at character 3486 -2021-01-24 19:52:33.123 IST [61561] STATEMENT: -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payment_items pi - -- left join "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".payments p on p.id = pi.payment_id - -- where p.enrolment_id = 1 - -- select * from "tnt_fadab5cd-0384-403b-a152-1e7592084ab4".users where "name" LIKE '%afi%' - -- DROP schema "tnt_788478b3-dcc8-4b5f-b4ee-d51c861333ff" CASCADE; - -- select * from "tnt_cf809103-d949-4562-896e-bcef7c73e8d7".users where phone = '9705664434' - -- select * from "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments where user_id = 1340 - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."enrolments" - -- where - -- exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "name" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and "aadhar_number" :: text LIKE '%maya%' - -- and "users"."deleted_at" is null - -- ) - -- or exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."users" - -- where - -- "enrolments"."user_id" = "users"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."students" - -- where - -- "users"."id" = "students"."user_id" - -- and "admission_number" :: text LIKE '%maya%' - -- ) - -- and "users"."deleted_at" is null - -- ) - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."sections" - -- where - -- "enrolments"."section_id" = "sections"."id" - -- and exists ( - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."classes" - -- where - -- "sections"."class_id" = "classes"."id" - -- and "academic_year_id" = 21 - -- ) - -- ) - -- limit - -- 5 - ------------------------------------------- - -- AUTO COMPLETE - ------------------------------------------- - -- select - -- u.id, s."name" as section_name, u."name" as name, c."name" as class_name, u.aadhar_number, st.admission_number, s.id as section_id, c.id as class_id - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".users u on u.id = e.user_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".students st on st.user_id = u.id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21 - -- and u.name like '%maya%' - -- or st.admission_number like '%maya%' - -- or u.aadhar_number like '%maya%' - ------------------------------------------- - -- SECTIONS - ------------------------------------------- - -- select - -- * - -- from - -- "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s - -- join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - -- where - -- c.academic_year_id = 21; - ------------------------------------------- - -- AMOUNT PAID BY Academic Year ID - ------------------------------------------- - select - p.id - , s.class_id - , e.section_id - , p.enrolment_id - , sum(pi.amount) as paid_amount - , c.academic_year_id - -- c.id as class_id, - -- c.academic_year_id - -- sum(pi.amount) as amount_paid - from - "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payments p - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".enrolments e on e.id = p.enrolment_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".sections s on s.id = e.section_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".classes c on c.id = s.class_id - join "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1".payment_items pi on pi.payment_id = p.id - where - p.created_at BETWEEN '2019-06-01' - and '2021-01-24' - and p.status = 'paid' - and s.id in (4) - and c.academic_year_id = 21 - group by p.id, s.class_id, e.section_id, p.enrolment_id; -2021-01-24 19:56:39.082 IST [61561] ERROR: relation "payments" does not exist at character 225 -2021-01-24 19:56:39.082 IST [61561] STATEMENT: select - p.id as payment_id, - p.type, - p.mode, - p.status, - p.dd_cheque_number, - s.class_id, - e.section_id, - p.enrolment_id, - sum(pi.amount) as paid_amount, - c.academic_year_id, - p.created_at, - p.updated_at - from - payments p - join enrolments e on e.id = p.enrolment_id - join sections s on s.id = e.section_id - join classes c on c.id = s.class_id - join payment_items pi on pi.payment_id = p.id - group by - p.id, - s.class_id, - e.section_id, - p.enrolment_id, - c.academic_year_id; -2021-01-24 19:57:21.731 IST [61561] ERROR: relation "payments" does not exist at character 244 -2021-01-24 19:57:21.731 IST [61561] STATEMENT: CREATE VIEW payments_view AS - SELECT - p.id AS payment_id, - p.type, - p.mode, - p.status, - p.dd_cheque_number, - s.class_id, - e.section_id, - p.enrolment_id, - sum( - pi.amount) AS paid_amount, - c.academic_year_id, - p.created_at, - p.updated_at - FROM - payments p - JOIN enrolments e ON e.id = p.enrolment_id - JOIN sections s ON s.id = e.section_id - JOIN classes c ON c.id = s.class_id - JOIN payment_items pi ON pi.payment_id = p.id - GROUP BY - p.id, - s.class_id, - e.section_id, - p.enrolment_id, - c.academic_year_id; -2021-01-24 19:57:48.605 IST [61561] ERROR: invalid input syntax for type oid: "" at character 1397 -2021-01-24 19:57:48.605 IST [61561] STATEMENT: SELECT c.conname AS constraint_name,(SELECT STRING_AGG(QUOTE_IDENT(a.attname),','ORDER BY t.seq)FROM(SELECT ROW_NUMBER()OVER(ROWS UNBOUNDED PRECEDING)AS seq,attnum FROM UNNEST(c.conkey)AS t(attnum))AS t INNER JOIN pg_attribute AS a ON a.attrelid=c.conrelid AND a.attnum=t.attnum)AS child_column,tt.schema as parent_schema,tt.name AS parent_name,(SELECT STRING_AGG(QUOTE_IDENT(a.attname),','ORDER BY t.seq)FROM(SELECT ROW_NUMBER()OVER(ROWS UNBOUNDED PRECEDING)AS seq,attnum FROM UNNEST(c.confkey)AS t(attnum))AS t INNER JOIN pg_attribute AS a ON a.attrelid=c.confrelid AND a.attnum=t.attnum)AS parent_column,CASE confupdtype WHEN'r'THEN'restrict'WHEN'c'THEN'cascade'WHEN'n'THEN'set null'WHEN'd'THEN'set default'WHEN'a'THEN'no action'ELSE NULL END AS on_update,CASE confdeltype WHEN'r'THEN'restrict'WHEN'c'THEN'cascade'WHEN'n'THEN'set null'WHEN'd'THEN'set default'WHEN'a'THEN'no action'ELSE NULL END AS on_delete FROM pg_catalog.pg_constraint AS c INNER JOIN(SELECT pg_class.oid,QUOTE_IDENT(pg_namespace.nspname)as schema,QUOTE_IDENT(pg_class.relname)AS name FROM pg_class INNER JOIN pg_namespace ON pg_class.relnamespace=pg_namespace.oid)AS tf ON tf.oid=c.conrelid INNER JOIN(SELECT pg_class.oid,QUOTE_IDENT(pg_namespace.nspname)as schema,QUOTE_IDENT(pg_class.relname)AS name FROM pg_class INNER JOIN pg_namespace ON pg_class.relnamespace=pg_namespace.oid)AS tt ON tt.oid=c.confrelid WHERE tf.oid='' AND c.contype='f'; -2021-01-24 19:58:16.168 IST [61561] ERROR: relation "payments" does not exist at character 286 -2021-01-24 19:58:16.168 IST [61561] STATEMENT: CREATE VIEW "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."payments_view" AS SELECT - p.id AS payment_id, - p.type, - p.mode, - p.status, - p.dd_cheque_number, - s.class_id, - e.section_id, - p.enrolment_id, - sum(pi.amount) AS paid_amount, - c.academic_year_id, - p.created_at, - p.updated_at - FROM - payments p - JOIN enrolments e ON e.id = p.enrolment_id - JOIN sections s ON s.id = e.section_id - JOIN classes c ON c.id = s.class_id - JOIN payment_items pi ON pi.payment_id = p.id - GROUP BY - p.id, - s.class_id, - e.section_id, - p.enrolment_id, - c.academic_year_id; -2021-01-25 00:02:22.238 IST [61561] ERROR: duplicate key value violates unique constraint "terms_pkey" -2021-01-25 00:02:22.238 IST [61561] DETAIL: Key (id)=(4) already exists. -2021-01-25 00:02:22.238 IST [61561] STATEMENT: UPDATE "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."terms" SET "id" = '4' WHERE "id" = '11'; -2021-01-25 00:02:51.913 IST [61561] ERROR: duplicate key value violates unique constraint "terms_pkey" -2021-01-25 00:02:51.913 IST [61561] DETAIL: Key (id)=(2) already exists. -2021-01-25 00:02:51.913 IST [61561] STATEMENT: UPDATE "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."terms" SET "id" = '2' WHERE "id" = '9'; -2021-01-25 00:11:59.847 IST [61561] ERROR: null value in column "amount" of relation "fee_assignments" violates not-null constraint -2021-01-25 00:11:59.847 IST [61561] DETAIL: Failing row contains (1, null, null, null, null, null, null, null, null, null, null, null). -2021-01-25 00:11:59.847 IST [61561] STATEMENT: INSERT INTO "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."fee_assignments" VALUES (DEFAULT); -2021-01-25 00:12:14.126 IST [61561] ERROR: insert or update on table "fee_assignments" violates foreign key constraint "fee_assignments_fee_type_id_foreign" -2021-01-25 00:12:14.126 IST [61561] DETAIL: Key (fee_type_id)=(89) is not present in table "fee_types". -2021-01-25 00:12:14.126 IST [61561] STATEMENT: INSERT INTO "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."fee_assignments" ("id", "amount", "amount_new_admission", "fee_type_id", "academic_year_id", "term_id", "feeable_type", "feeable_id", "created_at") VALUES ('8253', '2340', '0', '89', '56', '5', 'section', '50', '2020-06-23 16:02:59.271264'); -2021-01-25 00:14:27.104 IST [61561] ERROR: insert or update on table "fee_assignments" violates foreign key constraint "fee_assignments_term_id_foreign" -2021-01-25 00:14:27.104 IST [61561] DETAIL: Key (term_id)=(5) is not present in table "terms". -2021-01-25 00:14:27.104 IST [61561] STATEMENT: INSERT INTO "tnt_67201e5a-f3b8-48fb-ae8a-f8484ceed5a1"."fee_assignments" ("id", "amount", "amount_new_admission", "fee_type_id", "academic_year_id", "term_id", "feeable_type", "feeable_id", "created_at") VALUES ('8253', '2340', '0', '89', '56', '5', 'section', '50', '2020-06-23 16:02:59.271264'); -2021-04-13 13:56:20.424 IST [39875] LOG: starting PostgreSQL 13.2 on x86_64-apple-darwin20.3.0, compiled by Apple clang version 12.0.0 (clang-1200.0.32.29), 64-bit -2021-04-13 13:56:20.428 IST [39875] LOG: listening on IPv6 address "::1", port 5432 -2021-04-13 13:56:20.428 IST [39875] LOG: listening on IPv4 address "127.0.0.1", port 5432 -2021-04-13 13:56:20.434 IST [39875] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432" -2021-04-13 13:56:20.447 IST [39876] LOG: database system was interrupted; last known up at 2021-04-07 21:56:31 IST -2021-04-13 13:56:20.630 IST [39876] LOG: database system was not properly shut down; automatic recovery in progress -2021-04-13 13:56:20.634 IST [39876] LOG: redo starts at 0/4A1B5D0 -2021-04-13 13:56:20.634 IST [39876] LOG: invalid record length at 0/4A1B6B8: wanted 24, got 0 -2021-04-13 13:56:20.634 IST [39876] LOG: redo done at 0/4A1B680 -2021-04-13 13:56:20.645 IST [39875] LOG: database system is ready to accept connections -2021-04-13 13:57:38.422 IST [39997] ERROR: new row for relation "users" violates check constraint "users_blood_group_check" -2021-04-13 13:57:38.422 IST [39997] DETAIL: Failing row contains (13, Demo Teacher, 1711, null, null, $2y$10$MVlQIOJyYK2gLtDbVP9LNe//4MqnCFwvpNzXvn0c9irwH5ic6gYEK, 1234567890, 123412341239, 1986-10-10, male, null, null, A+, null, t, null, 2021-04-13 08:27:38, 2021-04-13 08:27:38, null). -2021-04-13 13:57:38.422 IST [39997] STATEMENT: insert into "users" ("username", "name", "phone", "gender", "dob", "blood_group", "aadhar_number", "password", "updated_at", "created_at") values ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) returning "id" From 859b0b2b614031bc80686fb9d75d13b2552b06bb Mon Sep 17 00:00:00 2001 From: Mehdi Osman Date: Tue, 4 May 2021 20:05:26 +0200 Subject: [PATCH 03/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c655f9b7a..6beb2c0a9 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@

Session replay for developers

-

The most advanced open-source session replay to build better web apps.

+

The most advanced open-source session replay to build delightful web apps.

From 9b5d1418a83177bb66ca221896aa21b23c0c02b7 Mon Sep 17 00:00:00 2001 From: Shekar Siri Date: Wed, 5 May 2021 17:16:02 +0530 Subject: [PATCH 04/10] sign up check for tenants --- frontend/app/Router.js | 12 ++++++--- frontend/app/components/Header/Header.js | 2 +- .../Signup/SignupForm/SignupForm.js | 27 +++++-------------- frontend/app/duck/user.js | 1 + 4 files changed, 16 insertions(+), 26 deletions(-) diff --git a/frontend/app/Router.js b/frontend/app/Router.js index 3bdfc3c8f..4885aa27f 100644 --- a/frontend/app/Router.js +++ b/frontend/app/Router.js @@ -22,6 +22,7 @@ import FunnelIssueDetails from 'Components/Funnels/FunnelIssueDetails'; import APIClient from './api_client'; import * as routes from './routes'; import Signup from './components/Signup/Signup'; +import { fetchTenants } from 'Duck/user'; const BugFinder = withSiteIdUpdater(BugFinderPure); const Dashboard = withSiteIdUpdater(DashboardPure); @@ -54,20 +55,22 @@ const ONBOARDING_PATH = routes.onboarding(); const jwt = state.get('jwt'); const changePassword = state.getIn([ 'user', 'account', 'changePassword' ]); const userInfoLoading = state.getIn([ 'user', 'fetchUserInfoRequest', 'loading' ]); + const fetchingTenants = state.get('user', 'fetchTenantsRequest', 'loading'); return { jwt, siteId, changePassword, sites: state.getIn([ 'user', 'client', 'sites' ]), isLoggedIn: jwt !== null && !changePassword, - loading: siteId === null || userInfoLoading, + loading: siteId === null || userInfoLoading || fetchingTenants, email: state.getIn([ 'user', 'account', 'email' ]), account: state.getIn([ 'user', 'account' ]), organisation: state.getIn([ 'user', 'client', 'name' ]), tenantId: state.getIn([ 'user', 'client', 'tenantId' ]), + tenants: state.getIn(['user', 'tenants']), }; }, { - fetchUserInfo, + fetchUserInfo, fetchTenants }) class Router extends React.Component { constructor(props) { @@ -76,6 +79,7 @@ class Router extends React.Component { Promise.all([props.fetchUserInfo()]) .then(() => this.onLoginLogout()); } + props.fetchTenants(); } componentDidUpdate(prevProps) { @@ -89,7 +93,7 @@ class Router extends React.Component { } render() { - const { isLoggedIn, jwt, siteId, sites, loading, changePassword, location } = this.props; + const { isLoggedIn, jwt, siteId, sites, loading, changePassword, location, tenants } = this.props; const siteIdList = sites.map(({ id }) => id).toJS(); const hideHeader = location.pathname && location.pathname.includes('/session/'); @@ -138,7 +142,7 @@ class Router extends React.Component { - + { tenants.length === 0 && } ; } diff --git a/frontend/app/components/Header/Header.js b/frontend/app/components/Header/Header.js index 6e7a6601f..fc3fb870a 100644 --- a/frontend/app/components/Header/Header.js +++ b/frontend/app/components/Header/Header.js @@ -99,7 +99,7 @@ const Header = (props) => { to={ withSiteId(DASHBOARD_PATH, siteId) } className={ styles.nav } activeClassName={ styles.active } - > + > { 'Metrics' }

diff --git a/frontend/app/components/Signup/SignupForm/SignupForm.js b/frontend/app/components/Signup/SignupForm/SignupForm.js index b49750016..2bfd480bc 100644 --- a/frontend/app/components/Signup/SignupForm/SignupForm.js +++ b/frontend/app/components/Signup/SignupForm/SignupForm.js @@ -1,13 +1,11 @@ -import React, { useState } from 'react' -import { Icon, Loader, Button, Link, Dropdown, CircularLoader } from 'UI' -import { forgotPassword, login } from 'App/routes' +import React from 'react' +import { Icon, Button, Link, Dropdown, CircularLoader } from 'UI' +import { login } from 'App/routes' import ReCAPTCHA from 'react-google-recaptcha' import stl from './signup.css' -import cn from 'classnames' -import { signup, fetchTenants } from 'Duck/user'; +import { signup } from 'Duck/user'; import { connect } from 'react-redux' -const FORGOT_PASSWORD = forgotPassword() const LOGIN_ROUTE = login() const recaptchaRef = React.createRef() @@ -17,7 +15,7 @@ const recaptchaRef = React.createRef() errors: state.getIn([ 'user', 'signupRequest', 'errors' ]), loading: state.getIn([ 'user', 'signupRequest', 'loading' ]), }), - { signup, fetchTenants }, + { signup }, ) export default class SignupForm extends React.Component { @@ -30,10 +28,6 @@ export default class SignupForm extends React.Component { organizationName: '', }; - componentDidMount() { - this.props.fetchTenants(); - } - handleSubmit = (token) => { const { tenantId, fullname, password, email, projectName, organizationName, auth } = this.state; this.props.signup({ tenantId, fullname, password, email, projectName, organizationName, auth, 'g-recaptcha-response': token }) @@ -165,17 +159,8 @@ export default class SignupForm extends React.Component { 'Signup' } - - {/*
- {'Back to Login'} -
*/}
) } -} - -// export default connect(state => ({ -// errors: state.getIn([ 'user', 'signupRequest', 'errors' ]), -// loading: state.getIn([ 'user', 'signupRequest', 'loading' ]), -// }), { signup })(SignupForm) \ No newline at end of file +} \ No newline at end of file diff --git a/frontend/app/duck/user.js b/frontend/app/duck/user.js index 83430e72d..3dad02a10 100644 --- a/frontend/app/duck/user.js +++ b/frontend/app/duck/user.js @@ -91,6 +91,7 @@ export default withRequestState({ putClientRequest: PUT_CLIENT, updateAccountRequest: UPDATE_ACCOUNT, updateAppearance: UPDATE_APPEARANCE, + fetchTenantsRequest: FETCH_TENANTS, }, reducer); export const login = params => dispatch => dispatch({ From 282cb4642c8beea2c141c9e1c14194d50653495a Mon Sep 17 00:00:00 2001 From: KRAIEM Taha Yassine Date: Wed, 5 May 2021 19:47:36 +0200 Subject: [PATCH 05/10] API --- .gitignore | 1 + api/.chalice/config.json | 72 + api/.gitignore | 176 ++ api/Dockerfile | 16 + api/app.py | 96 + api/build.sh | 31 + api/chalicelib/__init__.py | 0 api/chalicelib/_overrides.py | 104 + api/chalicelib/blueprints/__init__.py | 0 api/chalicelib/blueprints/bp_authorizers.py | 37 + api/chalicelib/blueprints/bp_core.py | 879 +++++++ api/chalicelib/blueprints/bp_core_crons.py | 18 + api/chalicelib/blueprints/bp_core_dynamic.py | 385 +++ .../blueprints/bp_core_dynamic_crons.py | 13 + api/chalicelib/blueprints/subs/__init__.py | 0 .../blueprints/subs/bp_dashboard.py | 605 +++++ api/chalicelib/core/__init__.py | 0 api/chalicelib/core/alerts.py | 168 ++ api/chalicelib/core/announcements.py | 42 + api/chalicelib/core/authorizers.py | 61 + api/chalicelib/core/boarding.py | 116 + api/chalicelib/core/collaboration_slack.py | 126 + api/chalicelib/core/dashboard.py | 2034 ++++++++++++++++ api/chalicelib/core/errors.py | 777 ++++++ api/chalicelib/core/errors_favorite_viewed.py | 91 + api/chalicelib/core/events.py | 422 ++++ api/chalicelib/core/events_ios.py | 69 + api/chalicelib/core/funnels.py | 269 +++ api/chalicelib/core/integration_base.py | 53 + api/chalicelib/core/integration_base_issue.py | 41 + api/chalicelib/core/integration_github.py | 78 + .../core/integration_github_issue.py | 100 + api/chalicelib/core/integration_jira_cloud.py | 101 + .../core/integration_jira_cloud_issue.py | 56 + api/chalicelib/core/integrations_manager.py | 42 + api/chalicelib/core/issues.py | 72 + api/chalicelib/core/log_tool_bugsnag.py | 73 + api/chalicelib/core/log_tool_cloudwatch.py | 119 + api/chalicelib/core/log_tool_datadog.py | 43 + api/chalicelib/core/log_tool_elasticsearch.py | 94 + api/chalicelib/core/log_tool_newrelic.py | 50 + api/chalicelib/core/log_tool_rollbar.py | 38 + api/chalicelib/core/log_tool_sentry.py | 65 + api/chalicelib/core/log_tool_stackdriver.py | 42 + api/chalicelib/core/log_tool_sumologic.py | 53 + api/chalicelib/core/log_tools.py | 118 + api/chalicelib/core/metadata.py | 262 ++ api/chalicelib/core/notifications.py | 80 + api/chalicelib/core/projects.py | 229 ++ api/chalicelib/core/reset_password.py | 66 + api/chalicelib/core/resources.py | 22 + api/chalicelib/core/sessions.py | 620 +++++ api/chalicelib/core/sessions_assignments.py | 158 ++ .../core/sessions_favorite_viewed.py | 89 + api/chalicelib/core/sessions_metas.py | 226 ++ api/chalicelib/core/sessions_mobs.py | 25 + api/chalicelib/core/significance.py | 627 +++++ api/chalicelib/core/signup.py | 171 ++ api/chalicelib/core/slack.py | 32 + api/chalicelib/core/socket_ios.py | 22 + api/chalicelib/core/sourcemaps.py | 157 ++ api/chalicelib/core/sourcemaps_parser.py | 22 + api/chalicelib/core/telemetry.py | 43 + api/chalicelib/core/tenants.py | 83 + api/chalicelib/core/users.py | 463 ++++ api/chalicelib/core/webhook.py | 178 ++ api/chalicelib/core/weekly_report.py | 233 ++ api/chalicelib/utils/TimeUTC.py | 115 + api/chalicelib/utils/__init__.py | 0 api/chalicelib/utils/args_transformer.py | 10 + api/chalicelib/utils/captcha.py | 24 + api/chalicelib/utils/dev.py | 28 + api/chalicelib/utils/email_handler.py | 90 + api/chalicelib/utils/email_helper.py | 119 + .../utils/event_filter_definition.py | 15 + api/chalicelib/utils/github_client_v3.py | 133 + api/chalicelib/utils/helper.py | 380 +++ .../utils/html/Project-Weekly-Report.html | 170 ++ .../utils/html/alert_notification.html | 60 + api/chalicelib/utils/html/assignment.html | 556 +++++ api/chalicelib/utils/html/img/asayer-logo.png | Bin 0 -> 2633 bytes api/chalicelib/utils/html/img/header.png | Bin 0 -> 507040 bytes .../utils/html/img/icn-facebook.png | Bin 0 -> 1965 bytes .../utils/html/img/icn-linkedin.png | Bin 0 -> 2183 bytes api/chalicelib/utils/html/img/icn-medium.png | Bin 0 -> 3178 bytes api/chalicelib/utils/html/img/icn-twitter.png | Bin 0 -> 2953 bytes .../html/img/illustrations/img-no-signal.png | Bin 0 -> 9333 bytes .../html/img/illustrations/img-welcome.png | Bin 0 -> 10610 bytes api/chalicelib/utils/html/img/laptop.png | Bin 0 -> 338778 bytes .../utils/html/img/weekly/arrow-decrease.png | Bin 0 -> 1292 bytes .../utils/html/img/weekly/arrow-increase.png | Bin 0 -> 1032 bytes .../utils/html/img/weekly/asayer-logo.png | Bin 0 -> 17190 bytes api/chalicelib/utils/html/invitation.html | 595 +++++ api/chalicelib/utils/html/reset_password.html | 545 +++++ api/chalicelib/utils/jira_client.py | 327 +++ api/chalicelib/utils/metrics_helper.py | 5 + api/chalicelib/utils/pg_client.py | 53 + api/chalicelib/utils/s3.py | 57 + api/chalicelib/utils/smtp.py | 39 + api/chalicelib/utils/strings.py | 45 + api/requirements.txt | 14 + api/sourcemaps_reader/.gitignore | 11 + api/sourcemaps_reader/README.md | 15 + api/sourcemaps_reader/package-lock.json | 109 + api/sourcemaps_reader/package.json | 16 + ee/api/.chalice/config.json | 77 + ee/api/.gitignore | 177 ++ ee/api/app.py | 110 + ee/api/chalicelib/__init__.py | 0 ee/api/chalicelib/_overrides.py | 104 + ee/api/chalicelib/blueprints/__init__.py | 0 .../chalicelib/blueprints/bp_authorizers.py | 38 + ee/api/chalicelib/blueprints/bp_core.py | 879 +++++++ ee/api/chalicelib/blueprints/bp_core_crons.py | 18 + .../chalicelib/blueprints/bp_core_dynamic.py | 391 +++ .../blueprints/bp_core_dynamic_crons.py | 13 + ee/api/chalicelib/blueprints/bp_ee.py | 6 + ee/api/chalicelib/blueprints/bp_ee_crons.py | 6 + ee/api/chalicelib/blueprints/subs/__init__.py | 0 .../blueprints/subs/bp_dashboard.py | 606 +++++ ee/api/chalicelib/core/__init__.py | 0 ee/api/chalicelib/core/alerts.py | 168 ++ ee/api/chalicelib/core/announcements.py | 42 + ee/api/chalicelib/core/authorizers.py | 61 + ee/api/chalicelib/core/collaboration_slack.py | 126 + .../chalicelib/core/errors_favorite_viewed.py | 91 + ee/api/chalicelib/core/events.py | 422 ++++ ee/api/chalicelib/core/events_ios.py | 69 + ee/api/chalicelib/core/funnels.py | 275 +++ ee/api/chalicelib/core/integration_base.py | 53 + .../chalicelib/core/integration_base_issue.py | 41 + ee/api/chalicelib/core/integration_github.py | 78 + .../core/integration_github_issue.py | 100 + .../chalicelib/core/integration_jira_cloud.py | 101 + .../core/integration_jira_cloud_issue.py | 56 + .../chalicelib/core/integrations_manager.py | 42 + ee/api/chalicelib/core/issues.py | 72 + ee/api/chalicelib/core/log_tool_bugsnag.py | 73 + ee/api/chalicelib/core/log_tool_cloudwatch.py | 119 + ee/api/chalicelib/core/log_tool_datadog.py | 43 + .../chalicelib/core/log_tool_elasticsearch.py | 94 + ee/api/chalicelib/core/log_tool_newrelic.py | 50 + ee/api/chalicelib/core/log_tool_rollbar.py | 38 + ee/api/chalicelib/core/log_tool_sentry.py | 65 + .../chalicelib/core/log_tool_stackdriver.py | 42 + ee/api/chalicelib/core/log_tool_sumologic.py | 53 + ee/api/chalicelib/core/log_tools.py | 120 + ee/api/chalicelib/core/metadata.py | 262 ++ ee/api/chalicelib/core/reset_password.py | 66 + ee/api/chalicelib/core/sessions.py | 617 +++++ .../chalicelib/core/sessions_assignments.py | 158 ++ .../core/sessions_favorite_viewed.py | 89 + ee/api/chalicelib/core/sessions_metas.py | 226 ++ ee/api/chalicelib/core/sessions_mobs.py | 26 + ee/api/chalicelib/core/significance.py | 627 +++++ ee/api/chalicelib/core/slack.py | 32 + ee/api/chalicelib/core/socket_ios.py | 22 + ee/api/chalicelib/core/sourcemaps.py | 156 ++ ee/api/chalicelib/core/sourcemaps_parser.py | 22 + ee/api/chalicelib/core/telemetry.py | 43 + ee/api/chalicelib/core/weekly_report.py | 233 ++ ee/api/chalicelib/ee/__init__.py | 0 ee/api/chalicelib/ee/boarding.py | 121 + ee/api/chalicelib/ee/dashboard.py | 2139 +++++++++++++++++ ee/api/chalicelib/ee/errors.py | 788 ++++++ ee/api/chalicelib/ee/notifications.py | 86 + ee/api/chalicelib/ee/projects.py | 169 ++ ee/api/chalicelib/ee/resources.py | 25 + ee/api/chalicelib/ee/signup.py | 127 + ee/api/chalicelib/ee/telemetry.py | 54 + ee/api/chalicelib/ee/tenants.py | 86 + ee/api/chalicelib/ee/users.py | 473 ++++ ee/api/chalicelib/ee/utils/__init__.py | 0 ee/api/chalicelib/ee/utils/ch_client.py | 29 + ee/api/chalicelib/ee/webhook.py | 185 ++ ee/api/chalicelib/utils/TimeUTC.py | 115 + ee/api/chalicelib/utils/__init__.py | 0 ee/api/chalicelib/utils/args_transformer.py | 10 + ee/api/chalicelib/utils/captcha.py | 24 + ee/api/chalicelib/utils/dev.py | 28 + ee/api/chalicelib/utils/email_handler.py | 90 + ee/api/chalicelib/utils/email_helper.py | 119 + .../utils/event_filter_definition.py | 15 + ee/api/chalicelib/utils/github_client_v3.py | 133 + ee/api/chalicelib/utils/helper.py | 380 +++ .../utils/html/Project-Weekly-Report.html | 170 ++ .../utils/html/alert_notification.html | 60 + ee/api/chalicelib/utils/html/assignment.html | 556 +++++ .../chalicelib/utils/html/img/asayer-logo.png | Bin 0 -> 2633 bytes ee/api/chalicelib/utils/html/img/header.png | Bin 0 -> 507040 bytes .../utils/html/img/icn-facebook.png | Bin 0 -> 1965 bytes .../utils/html/img/icn-linkedin.png | Bin 0 -> 2183 bytes .../chalicelib/utils/html/img/icn-medium.png | Bin 0 -> 3178 bytes .../chalicelib/utils/html/img/icn-twitter.png | Bin 0 -> 2953 bytes .../html/img/illustrations/img-no-signal.png | Bin 0 -> 9333 bytes .../html/img/illustrations/img-welcome.png | Bin 0 -> 10610 bytes ee/api/chalicelib/utils/html/img/laptop.png | Bin 0 -> 338778 bytes .../utils/html/img/weekly/arrow-decrease.png | Bin 0 -> 1292 bytes .../utils/html/img/weekly/arrow-increase.png | Bin 0 -> 1032 bytes .../utils/html/img/weekly/asayer-logo.png | Bin 0 -> 17190 bytes ee/api/chalicelib/utils/html/invitation.html | 595 +++++ .../chalicelib/utils/html/reset_password.html | 545 +++++ ee/api/chalicelib/utils/jira_client.py | 327 +++ ee/api/chalicelib/utils/metrics_helper.py | 5 + ee/api/chalicelib/utils/pg_client.py | 55 + ee/api/chalicelib/utils/s3.py | 57 + ee/api/chalicelib/utils/s3urls.py | 120 + ee/api/chalicelib/utils/smtp.py | 39 + ee/api/chalicelib/utils/strings.py | 45 + ee/api/requirements.txt | 15 + ee/api/sourcemaps_reader/.gitignore | 11 + ee/api/sourcemaps_reader/README.md | 15 + ee/api/sourcemaps_reader/package-lock.json | 109 + ee/api/sourcemaps_reader/package.json | 16 + 214 files changed, 30619 insertions(+) create mode 100644 api/.chalice/config.json create mode 100644 api/.gitignore create mode 100644 api/Dockerfile create mode 100644 api/app.py create mode 100644 api/build.sh create mode 100644 api/chalicelib/__init__.py create mode 100644 api/chalicelib/_overrides.py create mode 100644 api/chalicelib/blueprints/__init__.py create mode 100644 api/chalicelib/blueprints/bp_authorizers.py create mode 100644 api/chalicelib/blueprints/bp_core.py create mode 100644 api/chalicelib/blueprints/bp_core_crons.py create mode 100644 api/chalicelib/blueprints/bp_core_dynamic.py create mode 100644 api/chalicelib/blueprints/bp_core_dynamic_crons.py create mode 100644 api/chalicelib/blueprints/subs/__init__.py create mode 100644 api/chalicelib/blueprints/subs/bp_dashboard.py create mode 100644 api/chalicelib/core/__init__.py create mode 100644 api/chalicelib/core/alerts.py create mode 100644 api/chalicelib/core/announcements.py create mode 100644 api/chalicelib/core/authorizers.py create mode 100644 api/chalicelib/core/boarding.py create mode 100644 api/chalicelib/core/collaboration_slack.py create mode 100644 api/chalicelib/core/dashboard.py create mode 100644 api/chalicelib/core/errors.py create mode 100644 api/chalicelib/core/errors_favorite_viewed.py create mode 100644 api/chalicelib/core/events.py create mode 100644 api/chalicelib/core/events_ios.py create mode 100644 api/chalicelib/core/funnels.py create mode 100644 api/chalicelib/core/integration_base.py create mode 100644 api/chalicelib/core/integration_base_issue.py create mode 100644 api/chalicelib/core/integration_github.py create mode 100644 api/chalicelib/core/integration_github_issue.py create mode 100644 api/chalicelib/core/integration_jira_cloud.py create mode 100644 api/chalicelib/core/integration_jira_cloud_issue.py create mode 100644 api/chalicelib/core/integrations_manager.py create mode 100644 api/chalicelib/core/issues.py create mode 100644 api/chalicelib/core/log_tool_bugsnag.py create mode 100644 api/chalicelib/core/log_tool_cloudwatch.py create mode 100644 api/chalicelib/core/log_tool_datadog.py create mode 100644 api/chalicelib/core/log_tool_elasticsearch.py create mode 100644 api/chalicelib/core/log_tool_newrelic.py create mode 100644 api/chalicelib/core/log_tool_rollbar.py create mode 100644 api/chalicelib/core/log_tool_sentry.py create mode 100644 api/chalicelib/core/log_tool_stackdriver.py create mode 100644 api/chalicelib/core/log_tool_sumologic.py create mode 100644 api/chalicelib/core/log_tools.py create mode 100644 api/chalicelib/core/metadata.py create mode 100644 api/chalicelib/core/notifications.py create mode 100644 api/chalicelib/core/projects.py create mode 100644 api/chalicelib/core/reset_password.py create mode 100644 api/chalicelib/core/resources.py create mode 100644 api/chalicelib/core/sessions.py create mode 100644 api/chalicelib/core/sessions_assignments.py create mode 100644 api/chalicelib/core/sessions_favorite_viewed.py create mode 100644 api/chalicelib/core/sessions_metas.py create mode 100644 api/chalicelib/core/sessions_mobs.py create mode 100644 api/chalicelib/core/significance.py create mode 100644 api/chalicelib/core/signup.py create mode 100644 api/chalicelib/core/slack.py create mode 100644 api/chalicelib/core/socket_ios.py create mode 100644 api/chalicelib/core/sourcemaps.py create mode 100644 api/chalicelib/core/sourcemaps_parser.py create mode 100644 api/chalicelib/core/telemetry.py create mode 100644 api/chalicelib/core/tenants.py create mode 100644 api/chalicelib/core/users.py create mode 100644 api/chalicelib/core/webhook.py create mode 100644 api/chalicelib/core/weekly_report.py create mode 100644 api/chalicelib/utils/TimeUTC.py create mode 100644 api/chalicelib/utils/__init__.py create mode 100644 api/chalicelib/utils/args_transformer.py create mode 100644 api/chalicelib/utils/captcha.py create mode 100644 api/chalicelib/utils/dev.py create mode 100644 api/chalicelib/utils/email_handler.py create mode 100644 api/chalicelib/utils/email_helper.py create mode 100644 api/chalicelib/utils/event_filter_definition.py create mode 100644 api/chalicelib/utils/github_client_v3.py create mode 100644 api/chalicelib/utils/helper.py create mode 100644 api/chalicelib/utils/html/Project-Weekly-Report.html create mode 100644 api/chalicelib/utils/html/alert_notification.html create mode 100644 api/chalicelib/utils/html/assignment.html create mode 100644 api/chalicelib/utils/html/img/asayer-logo.png create mode 100644 api/chalicelib/utils/html/img/header.png create mode 100644 api/chalicelib/utils/html/img/icn-facebook.png create mode 100644 api/chalicelib/utils/html/img/icn-linkedin.png create mode 100644 api/chalicelib/utils/html/img/icn-medium.png create mode 100644 api/chalicelib/utils/html/img/icn-twitter.png create mode 100644 api/chalicelib/utils/html/img/illustrations/img-no-signal.png create mode 100644 api/chalicelib/utils/html/img/illustrations/img-welcome.png create mode 100644 api/chalicelib/utils/html/img/laptop.png create mode 100644 api/chalicelib/utils/html/img/weekly/arrow-decrease.png create mode 100644 api/chalicelib/utils/html/img/weekly/arrow-increase.png create mode 100644 api/chalicelib/utils/html/img/weekly/asayer-logo.png create mode 100644 api/chalicelib/utils/html/invitation.html create mode 100644 api/chalicelib/utils/html/reset_password.html create mode 100644 api/chalicelib/utils/jira_client.py create mode 100644 api/chalicelib/utils/metrics_helper.py create mode 100644 api/chalicelib/utils/pg_client.py create mode 100644 api/chalicelib/utils/s3.py create mode 100644 api/chalicelib/utils/smtp.py create mode 100644 api/chalicelib/utils/strings.py create mode 100644 api/requirements.txt create mode 100644 api/sourcemaps_reader/.gitignore create mode 100644 api/sourcemaps_reader/README.md create mode 100644 api/sourcemaps_reader/package-lock.json create mode 100644 api/sourcemaps_reader/package.json create mode 100644 ee/api/.chalice/config.json create mode 100644 ee/api/.gitignore create mode 100644 ee/api/app.py create mode 100644 ee/api/chalicelib/__init__.py create mode 100644 ee/api/chalicelib/_overrides.py create mode 100644 ee/api/chalicelib/blueprints/__init__.py create mode 100644 ee/api/chalicelib/blueprints/bp_authorizers.py create mode 100644 ee/api/chalicelib/blueprints/bp_core.py create mode 100644 ee/api/chalicelib/blueprints/bp_core_crons.py create mode 100644 ee/api/chalicelib/blueprints/bp_core_dynamic.py create mode 100644 ee/api/chalicelib/blueprints/bp_core_dynamic_crons.py create mode 100644 ee/api/chalicelib/blueprints/bp_ee.py create mode 100644 ee/api/chalicelib/blueprints/bp_ee_crons.py create mode 100644 ee/api/chalicelib/blueprints/subs/__init__.py create mode 100644 ee/api/chalicelib/blueprints/subs/bp_dashboard.py create mode 100644 ee/api/chalicelib/core/__init__.py create mode 100644 ee/api/chalicelib/core/alerts.py create mode 100644 ee/api/chalicelib/core/announcements.py create mode 100644 ee/api/chalicelib/core/authorizers.py create mode 100644 ee/api/chalicelib/core/collaboration_slack.py create mode 100644 ee/api/chalicelib/core/errors_favorite_viewed.py create mode 100644 ee/api/chalicelib/core/events.py create mode 100644 ee/api/chalicelib/core/events_ios.py create mode 100644 ee/api/chalicelib/core/funnels.py create mode 100644 ee/api/chalicelib/core/integration_base.py create mode 100644 ee/api/chalicelib/core/integration_base_issue.py create mode 100644 ee/api/chalicelib/core/integration_github.py create mode 100644 ee/api/chalicelib/core/integration_github_issue.py create mode 100644 ee/api/chalicelib/core/integration_jira_cloud.py create mode 100644 ee/api/chalicelib/core/integration_jira_cloud_issue.py create mode 100644 ee/api/chalicelib/core/integrations_manager.py create mode 100644 ee/api/chalicelib/core/issues.py create mode 100644 ee/api/chalicelib/core/log_tool_bugsnag.py create mode 100644 ee/api/chalicelib/core/log_tool_cloudwatch.py create mode 100644 ee/api/chalicelib/core/log_tool_datadog.py create mode 100644 ee/api/chalicelib/core/log_tool_elasticsearch.py create mode 100644 ee/api/chalicelib/core/log_tool_newrelic.py create mode 100644 ee/api/chalicelib/core/log_tool_rollbar.py create mode 100644 ee/api/chalicelib/core/log_tool_sentry.py create mode 100644 ee/api/chalicelib/core/log_tool_stackdriver.py create mode 100644 ee/api/chalicelib/core/log_tool_sumologic.py create mode 100644 ee/api/chalicelib/core/log_tools.py create mode 100644 ee/api/chalicelib/core/metadata.py create mode 100644 ee/api/chalicelib/core/reset_password.py create mode 100644 ee/api/chalicelib/core/sessions.py create mode 100644 ee/api/chalicelib/core/sessions_assignments.py create mode 100644 ee/api/chalicelib/core/sessions_favorite_viewed.py create mode 100644 ee/api/chalicelib/core/sessions_metas.py create mode 100644 ee/api/chalicelib/core/sessions_mobs.py create mode 100644 ee/api/chalicelib/core/significance.py create mode 100644 ee/api/chalicelib/core/slack.py create mode 100644 ee/api/chalicelib/core/socket_ios.py create mode 100644 ee/api/chalicelib/core/sourcemaps.py create mode 100644 ee/api/chalicelib/core/sourcemaps_parser.py create mode 100644 ee/api/chalicelib/core/telemetry.py create mode 100644 ee/api/chalicelib/core/weekly_report.py create mode 100644 ee/api/chalicelib/ee/__init__.py create mode 100644 ee/api/chalicelib/ee/boarding.py create mode 100644 ee/api/chalicelib/ee/dashboard.py create mode 100644 ee/api/chalicelib/ee/errors.py create mode 100644 ee/api/chalicelib/ee/notifications.py create mode 100644 ee/api/chalicelib/ee/projects.py create mode 100644 ee/api/chalicelib/ee/resources.py create mode 100644 ee/api/chalicelib/ee/signup.py create mode 100644 ee/api/chalicelib/ee/telemetry.py create mode 100644 ee/api/chalicelib/ee/tenants.py create mode 100644 ee/api/chalicelib/ee/users.py create mode 100644 ee/api/chalicelib/ee/utils/__init__.py create mode 100644 ee/api/chalicelib/ee/utils/ch_client.py create mode 100644 ee/api/chalicelib/ee/webhook.py create mode 100644 ee/api/chalicelib/utils/TimeUTC.py create mode 100644 ee/api/chalicelib/utils/__init__.py create mode 100644 ee/api/chalicelib/utils/args_transformer.py create mode 100644 ee/api/chalicelib/utils/captcha.py create mode 100644 ee/api/chalicelib/utils/dev.py create mode 100644 ee/api/chalicelib/utils/email_handler.py create mode 100644 ee/api/chalicelib/utils/email_helper.py create mode 100644 ee/api/chalicelib/utils/event_filter_definition.py create mode 100644 ee/api/chalicelib/utils/github_client_v3.py create mode 100644 ee/api/chalicelib/utils/helper.py create mode 100644 ee/api/chalicelib/utils/html/Project-Weekly-Report.html create mode 100644 ee/api/chalicelib/utils/html/alert_notification.html create mode 100644 ee/api/chalicelib/utils/html/assignment.html create mode 100644 ee/api/chalicelib/utils/html/img/asayer-logo.png create mode 100644 ee/api/chalicelib/utils/html/img/header.png create mode 100644 ee/api/chalicelib/utils/html/img/icn-facebook.png create mode 100644 ee/api/chalicelib/utils/html/img/icn-linkedin.png create mode 100644 ee/api/chalicelib/utils/html/img/icn-medium.png create mode 100644 ee/api/chalicelib/utils/html/img/icn-twitter.png create mode 100644 ee/api/chalicelib/utils/html/img/illustrations/img-no-signal.png create mode 100644 ee/api/chalicelib/utils/html/img/illustrations/img-welcome.png create mode 100644 ee/api/chalicelib/utils/html/img/laptop.png create mode 100644 ee/api/chalicelib/utils/html/img/weekly/arrow-decrease.png create mode 100644 ee/api/chalicelib/utils/html/img/weekly/arrow-increase.png create mode 100644 ee/api/chalicelib/utils/html/img/weekly/asayer-logo.png create mode 100644 ee/api/chalicelib/utils/html/invitation.html create mode 100644 ee/api/chalicelib/utils/html/reset_password.html create mode 100644 ee/api/chalicelib/utils/jira_client.py create mode 100644 ee/api/chalicelib/utils/metrics_helper.py create mode 100644 ee/api/chalicelib/utils/pg_client.py create mode 100644 ee/api/chalicelib/utils/s3.py create mode 100644 ee/api/chalicelib/utils/s3urls.py create mode 100644 ee/api/chalicelib/utils/smtp.py create mode 100644 ee/api/chalicelib/utils/strings.py create mode 100644 ee/api/requirements.txt create mode 100644 ee/api/sourcemaps_reader/.gitignore create mode 100644 ee/api/sourcemaps_reader/README.md create mode 100644 ee/api/sourcemaps_reader/package-lock.json create mode 100644 ee/api/sourcemaps_reader/package.json diff --git a/.gitignore b/.gitignore index b92743393..ee79ca544 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ public node_modules *DS_Store *.env +.idea \ No newline at end of file diff --git a/api/.chalice/config.json b/api/.chalice/config.json new file mode 100644 index 000000000..d6c3aa2f1 --- /dev/null +++ b/api/.chalice/config.json @@ -0,0 +1,72 @@ +{ + "version": "2.0", + "app_name": "parrot", + "environment_variables": { + "version": "0.0.0" + }, + "stages": { + "default-foss": { + "api_gateway_stage": "default-fos", + "manage_iam_role": false, + "iam_role_arn": "", + "autogen_policy": true, + "environment_variables": { + "isFOS": "true", + "isEE": "false", + "stage": "default-fos", + "jwt_issuer": "asayer-default-fos", + "allowCron": "true", + "sentry": "false", + "sentryURL": "", + "pg_host": "", + "pg_port": "5432", + "pg_dbname": "", + "pg_user": "", + "pg_password": "", + "alert_ntf": "http://127.0.0.1:8000/async/alerts/notifications/%s", + "email_signup": "http://127.0.0.1:8000/async/email_signup/%s", + "email_funnel": "http://127.0.0.1:8000/async/funnel/%s", + "email_basic": "http://127.0.0.1:8000/async/basic/%s", + "assign_link": "http://127.0.0.1:8000/async/email_assignment", + "verification_link": "http://127.0.0.1:8000/email/validate/", + "verification_success_redirect": "", + "verification_fail_redirect": "", + "captcha_server": "", + "captcha_key": "", + "jira_api": "http://127.0.0.1:3000/dev", + "github_api": "http://127.0.0.1:4000/dev", + "sessions_bucket": "", + "sessions_region": "", + "stack_reader": "", + "put_S3_TTL": "20", + "sourcemaps_bucket": "", + "sourcemaps_bucket_key": "", + "sourcemaps_bucket_secret": "", + "sourcemaps_bucket_region": "", + "js_cache_bucket": "", + "web_mobs": "https://mobs-staging.asayer.io", + "async_Token": "", + "EMAIL_HOST": "", + "EMAIL_PORT": "587", + "EMAIL_USER": "", + "EMAIL_PASSWORD": "", + "EMAIL_USE_TLS": "true", + "EMAIL_USE_SSL": "false", + "EMAIL_SSL_KEY": "", + "EMAIL_SSL_CERT": "", + "EMAIL_FROM": "OpenReplay", + "SITE_URL": "", + "announcement_bucket": "", + "jwt_secret": "", + "jwt_algorithm": "HS512", + "jwt_exp_delta_seconds": "2592000" + }, + "lambda_timeout": 150, + "lambda_memory_size": 400, + "subnet_ids": [ + ], + "security_group_ids": [ + ] + } + } +} diff --git a/api/.gitignore b/api/.gitignore new file mode 100644 index 000000000..d9688e343 --- /dev/null +++ b/api/.gitignore @@ -0,0 +1,176 @@ +# Created by .ignore support plugin (hsz.mobi) +### JetBrains template +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff: +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/dictionaries + +# Sensitive or high-churn files: +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.xml +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml + +# Gradle: +.idea/**/gradle.xml +.idea/**/libraries + +# CMake +cmake-build-debug/ + +# Mongo Explorer plugin: +.idea/**/mongoSettings.xml + +## File-based project format: +*.iws + +## Plugin-specific files: + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties +### Example user template template +### Example user template + +# IntelliJ project files +.idea +*.iml +out +gen### Python template +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +.static_storage/ +.media/ +local_settings.py + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +/.chalice/deployments/ + +vendor + + +logs*.txt +*.csv + +*.p +*.js +SUBNETS.json + +./chalicelib/.configs diff --git a/api/Dockerfile b/api/Dockerfile new file mode 100644 index 000000000..4d25a923b --- /dev/null +++ b/api/Dockerfile @@ -0,0 +1,16 @@ +FROM python:3.6-slim +LABEL Maintainer="Rajesh Rajendran" +WORKDIR /work +COPY . . +RUN pip install -r requirements.txt -t ./vendor --upgrade +RUN pip install chalice==1.22.2 + +# Add Tini +# Startup daemon +ENV TINI_VERSION v0.19.0 +ARG envarg +ENV ENTERPRISE_BUILD ${envarg} +ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini +RUN chmod +x /tini +ENTRYPOINT ["/tini", "--"] +CMD chalice local --no-autoreload --host 0.0.0.0 --stage ${ENTERPRISE_BUILD} \ No newline at end of file diff --git a/api/app.py b/api/app.py new file mode 100644 index 000000000..9edf3453b --- /dev/null +++ b/api/app.py @@ -0,0 +1,96 @@ +import sentry_sdk +from chalice import Chalice, Response +from sentry_sdk import configure_scope + +from chalicelib import _overrides +from chalicelib.blueprints import bp_authorizers +from chalicelib.blueprints import bp_core, bp_core_crons +from chalicelib.blueprints import bp_core_dynamic, bp_core_dynamic_crons +from chalicelib.blueprints.subs import bp_dashboard +from chalicelib.utils import helper +from chalicelib.utils import pg_client +from chalicelib.utils.helper import environ + +app = Chalice(app_name='parrot') +app.debug = not helper.is_production() or helper.is_local() + +sentry_sdk.init(environ["sentryURL"]) + +# Monkey-patch print for DataDog hack +import sys +import traceback + +old_tb = traceback.print_exception +old_f = sys.stdout +old_e = sys.stderr +ASAYER_SESSION_ID = None + + +class F: + def write(self, x): + if ASAYER_SESSION_ID is not None and x != '\n' and not helper.is_local(): + old_f.write(f"[asayer_session_id={ASAYER_SESSION_ID}] {x}") + else: + old_f.write(x) + + def flush(self): + pass + + +def tb_print_exception(etype, value, tb, limit=None, file=None, chain=True): + if ASAYER_SESSION_ID is not None and not helper.is_local(): + # bugsnag.notify(Exception(str(value)), meta_data={"special_info": {"asayerSessionId": ASAYER_SESSION_ID}}) + value = type(value)(f"[asayer_session_id={ASAYER_SESSION_ID}] " + str(value)) + + old_tb(etype, value, tb, limit, file, chain) + + +if helper.is_production(): + traceback.print_exception = tb_print_exception + +sys.stdout = F() +sys.stderr = F() +# ---End Monkey-patch + + +_overrides.chalice_app(app) + +# v0505 +@app.middleware('http') +def asayer_middleware(event, get_response): + global ASAYER_SESSION_ID + ASAYER_SESSION_ID = app.current_request.headers.get('vnd.asayer.io.sid') + if "authorizer" in event.context and event.context["authorizer"] is None: + print("Deleted user!!") + pg_client.close() + return Response(body={"errors": ["Deleted user"]}, status_code=403) + + try: + if helper.TRACK_TIME: + import time + now = int(time.time() * 1000) + response = get_response(event) + if helper.TRACK_TIME: + print(f"Execution time: {int(time.time() * 1000) - now} ms") + except Exception as e: + print("middleware exception handling") + print(e) + pg_client.close() + if helper.allow_sentry() and ASAYER_SESSION_ID is not None and not helper.is_local(): + with configure_scope() as scope: + scope.set_tag('stage', environ["stage"]) + scope.set_tag('openReplaySessionToken', ASAYER_SESSION_ID) + scope.set_extra("context", event.context) + sentry_sdk.capture_exception(e) + raise e + pg_client.close() + return response + + +# Open source +app.register_blueprint(bp_authorizers.app) +app.register_blueprint(bp_core.app) +app.register_blueprint(bp_core_crons.app) +app.register_blueprint(bp_core_dynamic.app) +app.register_blueprint(bp_core_dynamic_crons.app) +app.register_blueprint(bp_dashboard.app) diff --git a/api/build.sh b/api/build.sh new file mode 100644 index 000000000..a3f129d0e --- /dev/null +++ b/api/build.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +# Script to build api module +# flags to accept: +# envarg: build for enterprize edition. +# Default will be OSS build. + +# Usage: bash build.sh + +git_sha1=$(git rev-parse HEAD) +envarg="default-foss" +check_prereq() { + which docker || { + echo "Docker not installed, please install docker." + exit=1 + } + [[ exit -eq 1 ]] && exit 1 +} + +function build_api(){ + # Copy enterprize code + [[ $1 == "ee" ]] && { + cp -rf ../ee/api/* ./ + cp -rf ../ee/api/.chalice/* ./.chalice/ + envarg="default-ee" + } + docker build -f ./Dockerfile --build-arg envarg=$envarg -t ${DOCKER_REPO:-'local'}/chalice:${git_sha1} . +} + +check_prereq +build_api $1 diff --git a/api/chalicelib/__init__.py b/api/chalicelib/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/api/chalicelib/_overrides.py b/api/chalicelib/_overrides.py new file mode 100644 index 000000000..5033b0324 --- /dev/null +++ b/api/chalicelib/_overrides.py @@ -0,0 +1,104 @@ +from chalice import Chalice, CORSConfig +from chalicelib.blueprints import bp_authorizers +from chalicelib.core import authorizers + +import sched +import threading +import time +from datetime import datetime +import pytz +from croniter import croniter + +base_time = datetime.now(pytz.utc) + +cors_config = CORSConfig( + allow_origin='*', + allow_headers=['vnd.asayer.io.sid'], + # max_age=600, + # expose_headers=['X-Special-Header'], + allow_credentials=True +) + + +def chalice_app(app): + def app_route(self, path, **kwargs): + kwargs.setdefault('cors', cors_config) + kwargs.setdefault('authorizer', bp_authorizers.jwt_authorizer) + handler_type = 'route' + name = kwargs.pop('name', None) + registration_kwargs = {'path': path, 'kwargs': kwargs, 'authorizer': kwargs.get("authorizer")} + + def _register_handler(user_handler): + handler_name = name + if handler_name is None: + handler_name = user_handler.__name__ + if registration_kwargs is not None: + kwargs = registration_kwargs + else: + kwargs = {} + + if kwargs['authorizer'] == bp_authorizers.jwt_authorizer \ + or kwargs['authorizer'] == bp_authorizers.api_key_authorizer: + def _user_handler(context=None, **args): + if context is not None: + args['context'] = context + else: + authorizer_context = app.current_request.context['authorizer'] + if kwargs['authorizer'] == bp_authorizers.jwt_authorizer: + args['context'] = authorizers.jwt_context(authorizer_context) + else: + args['context'] = authorizer_context + return user_handler(**args) + + wrapped = self._wrap_handler(handler_type, handler_name, _user_handler) + self._register_handler(handler_type, handler_name, _user_handler, wrapped, kwargs) + else: + wrapped = self._wrap_handler(handler_type, handler_name, user_handler) + self._register_handler(handler_type, handler_name, user_handler, wrapped, kwargs) + return wrapped + + return _register_handler + + app.route = app_route.__get__(app, Chalice) + + def app_schedule(self, expression, name=None, description=''): + handler_type = 'schedule' + registration_kwargs = {'expression': expression, + 'description': description} + + def _register_handler(user_handler): + handler_name = name + if handler_name is None: + handler_name = user_handler.__name__ + kwargs = registration_kwargs + cron_expression = kwargs["expression"].to_string()[len("cron("):-1] + if len(cron_expression.split(" ")) > 5: + cron_expression = " ".join(cron_expression.split(" ")[:-1]) + cron_expression = cron_expression.replace("?", "*") + cron_shell(user_handler, cron_expression) + + wrapped = self._wrap_handler(handler_type, handler_name, user_handler) + self._register_handler(handler_type, handler_name, user_handler, wrapped, kwargs) + return wrapped + + return _register_handler + + app.schedule = app_schedule.__get__(app, Chalice) + + def spawn(function, args): + th = threading.Thread(target=function, kwargs=args) + th.setDaemon(True) + th.start() + + def cron_shell(function, cron_expression): + def to_start(): + scheduler = sched.scheduler(time.time, time.sleep) + citer = croniter(cron_expression, base_time) + while True: + next_execution = citer.get_next(datetime) + print(f"{function.__name__} next execution: {next_execution}") + scheduler.enterabs(next_execution.timestamp(), 1, function, argument=(None,)) + scheduler.run() + print(f"{function.__name__} executed: {next_execution}") + + spawn(to_start, None) diff --git a/api/chalicelib/blueprints/__init__.py b/api/chalicelib/blueprints/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/api/chalicelib/blueprints/bp_authorizers.py b/api/chalicelib/blueprints/bp_authorizers.py new file mode 100644 index 000000000..414394e5a --- /dev/null +++ b/api/chalicelib/blueprints/bp_authorizers.py @@ -0,0 +1,37 @@ +from chalice import Blueprint, AuthResponse +from chalicelib.core import authorizers + + +from chalicelib.core import users +app = Blueprint(__name__) + + +@app.authorizer() +def api_key_authorizer(auth_request): + r = authorizers.api_key_authorizer(auth_request.token) + if r is None: + return AuthResponse(routes=[], principal_id=None) + + return AuthResponse( + routes=['*'], + principal_id=r['tenantId'], + context=r + ) + + +@app.authorizer(ttl_seconds=60) +def jwt_authorizer(auth_request): + print("---- Auth") + jwt_payload = authorizers.jwt_authorizer(auth_request.token) + print(jwt_payload) + if jwt_payload is None \ + or jwt_payload.get("iat") is None or jwt_payload.get("aud") is None \ + or not users.auth_exists(user_id=jwt_payload["userId"], tenant_id=jwt_payload["tenantId"], + jwt_iat=jwt_payload["iat"], jwt_aud=jwt_payload["aud"]): + return AuthResponse(routes=[], principal_id=None) + + return AuthResponse( + routes=['*'], + principal_id=jwt_payload['userId'], + context=jwt_payload + ) diff --git a/api/chalicelib/blueprints/bp_core.py b/api/chalicelib/blueprints/bp_core.py new file mode 100644 index 000000000..f2ca10746 --- /dev/null +++ b/api/chalicelib/blueprints/bp_core.py @@ -0,0 +1,879 @@ +from chalicelib.utils.helper import environ + +from chalice import Blueprint +from chalice import Response + +from chalicelib import _overrides +from chalicelib.blueprints import bp_authorizers +from chalicelib.core import log_tool_rollbar, sourcemaps, events, sessions_assignments, projects, \ + sessions_metas, alerts, funnels, issues, integrations_manager, errors_favorite_viewed, metadata, \ + log_tool_elasticsearch, log_tool_datadog, \ + log_tool_stackdriver, reset_password, sessions_favorite_viewed, \ + log_tool_cloudwatch, log_tool_sentry, log_tool_sumologic, log_tools, errors, sessions, \ + log_tool_newrelic, announcements, log_tool_bugsnag, weekly_report, integration_jira_cloud, integration_github +from chalicelib.core.collaboration_slack import Slack +from chalicelib.utils import email_helper + +app = Blueprint(__name__) +_overrides.chalice_app(app) + + +@app.route('/{projectId}/sessions2/favorite', methods=['GET']) +def get_favorite_sessions2(projectId, context): + params = app.current_request.query_params + + return { + 'data': sessions.get_favorite_sessions(project_id=projectId, user_id=context["userId"], include_viewed=True) + } + + +@app.route('/{projectId}/sessions2/{sessionId}', methods=['GET']) +def get_session2(projectId, sessionId, context): + data = sessions.get_by_id2_pg(project_id=projectId, session_id=sessionId, full_data=True, user_id=context["userId"], + include_fav_viewed=True, group_metadata=True) + if data is not None: + sessions_favorite_viewed.view_session(project_id=projectId, user_id=context['userId'], session_id=sessionId) + return { + 'data': data + } + + +@app.route('/{projectId}/sessions2/{sessionId}/favorite', methods=['GET']) +def add_remove_favorite_session2(projectId, sessionId, context): + return { + "data": sessions_favorite_viewed.favorite_session(project_id=projectId, user_id=context['userId'], + session_id=sessionId)} + + +@app.route('/{projectId}/sessions2/{sessionId}/assign', methods=['GET']) +def assign_session(projectId, sessionId, context): + data = sessions_assignments.get_by_session(project_id=projectId, session_id=sessionId, + tenant_id=context['tenantId'], + user_id=context["userId"]) + if "errors" in data: + return data + return { + 'data': data + } + + +@app.route('/{projectId}/sessions2/{sessionId}/errors/{errorId}/sourcemaps', methods=['GET']) +def get_error_trace(projectId, sessionId, errorId, context): + data = errors.get_trace(project_id=projectId, error_id=errorId) + if "errors" in data: + return data + return { + 'data': data + } + + +@app.route('/{projectId}/sessions2/{sessionId}/assign/{issueId}', methods=['GET']) +def assign_session(projectId, sessionId, issueId, context): + data = sessions_assignments.get(project_id=projectId, session_id=sessionId, assignment_id=issueId, + tenant_id=context['tenantId'], user_id=context["userId"]) + if "errors" in data: + return data + return { + 'data': data + } + + +@app.route('/{projectId}/sessions2/{sessionId}/assign/{issueId}/comment', methods=['POST', 'PUT']) +def comment_assignment(projectId, sessionId, issueId, context): + data = app.current_request.json_body + data = sessions_assignments.comment(tenant_id=context['tenantId'], project_id=projectId, + session_id=sessionId, assignment_id=issueId, + user_id=context["userId"], message=data["message"]) + if "errors" in data.keys(): + return data + return { + 'data': data + } + + +@app.route('/{projectId}/events/search', methods=['GET']) +def events_search(projectId, context): + params = app.current_request.query_params + if params is None: + return {"data": []} + + q = params.get('q', '') + if len(q) == 0: + return {"data": []} + result = events.search_pg2(q, params.get('type', ''), project_id=projectId, source=params.get('source'), + key=params.get("key")) + return result + + +@app.route('/{projectId}/sessions/search2', methods=['POST']) +def sessions_search2(projectId, context): + data = app.current_request.json_body + + data = sessions.search2_pg(data, projectId, user_id=context["userId"]) + return {'data': data} + + +@app.route('/{projectId}/sessions/filters', methods=['GET']) +def session_filter_values(projectId, context): + return {'data': sessions_metas.get_key_values(projectId)} + + +@app.route('/{projectId}/sessions/filters/top', methods=['GET']) +def session_top_filter_values(projectId, context): + return {'data': sessions_metas.get_top_key_values(projectId)} + + +@app.route('/{projectId}/sessions/filters/search', methods=['GET']) +def get_session_filters_meta(projectId, context): + params = app.current_request.query_params + if params is None: + return {"data": []} + + meta_type = params.get('type', '') + if len(meta_type) == 0: + return {"data": []} + q = params.get('q', '') + if len(q) == 0: + return {"data": []} + return sessions_metas.search(project_id=projectId, meta_type=meta_type, text=q) + + +@app.route('/{projectId}/integrations/{integration}/notify/{integrationId}/{source}/{sourceId}', + methods=['POST', 'PUT']) +def integration_notify(projectId, integration, integrationId, source, sourceId, context): + data = app.current_request.json_body + comment = None + if "comment" in data: + comment = data["comment"] + if integration == "slack": + args = {"tenant_id": context["tenantId"], + "user": context['email'], "comment": comment, "project_id": projectId, + "integration_id": integrationId} + if source == "sessions": + return Slack.share_session(session_id=sourceId, **args) + elif source == "errors": + return Slack.share_error(error_id=sourceId, **args) + return {"data": None} + + +@app.route('/integrations/sentry', methods=['GET']) +def get_all_sentry(context): + return {"data": log_tool_sentry.get_all(tenant_id=context["tenantId"])} + + +@app.route('/{projectId}/integrations/sentry', methods=['GET']) +def get_sentry(projectId, context): + return {"data": log_tool_sentry.get(project_id=projectId)} + + +@app.route('/{projectId}/integrations/sentry', methods=['POST', 'PUT']) +def add_edit_sentry(projectId, context): + data = app.current_request.json_body + + return {"data": log_tool_sentry.add_edit(tenant_id=context["tenantId"], project_id=projectId, data=data)} + + +@app.route('/{projectId}/integrations/sentry', methods=['DELETE']) +def delete_sentry(projectId, context): + return {"data": log_tool_sentry.delete(tenant_id=context["tenantId"], project_id=projectId)} + + +@app.route('/{projectId}/integrations/sentry/events/{eventId}', methods=['GET']) +def proxy_sentry(projectId, eventId, context): + return {"data": log_tool_sentry.proxy_get(tenant_id=context["tenantId"], project_id=projectId, event_id=eventId)} + + +@app.route('/integrations/datadog', methods=['GET']) +def get_all_datadog(context): + return {"data": log_tool_datadog.get_all(tenant_id=context["tenantId"])} + + +@app.route('/{projectId}/integrations/datadog', methods=['GET']) +def get_datadog(projectId, context): + return {"data": log_tool_datadog.get(project_id=projectId)} + + +@app.route('/{projectId}/integrations/datadog', methods=['POST', 'PUT']) +def add_edit_datadog(projectId, context): + data = app.current_request.json_body + + return {"data": log_tool_datadog.add_edit(tenant_id=context["tenantId"], project_id=projectId, data=data)} + + +@app.route('/{projectId}/integrations/datadog', methods=['DELETE']) +def delete_datadog(projectId, context): + return {"data": log_tool_datadog.delete(tenant_id=context["tenantId"], project_id=projectId)} + + +@app.route('/integrations/stackdriver', methods=['GET']) +def get_all_stackdriver(context): + return {"data": log_tool_stackdriver.get_all(tenant_id=context["tenantId"])} + + +@app.route('/{projectId}/integrations/stackdriver', methods=['GET']) +def get_stackdriver(projectId, context): + return {"data": log_tool_stackdriver.get(project_id=projectId)} + + +@app.route('/{projectId}/integrations/stackdriver', methods=['POST', 'PUT']) +def add_edit_stackdriver(projectId, context): + data = app.current_request.json_body + + return {"data": log_tool_stackdriver.add_edit(tenant_id=context["tenantId"], project_id=projectId, data=data)} + + +@app.route('/{projectId}/integrations/stackdriver', methods=['DELETE']) +def delete_stackdriver(projectId, context): + return {"data": log_tool_stackdriver.delete(tenant_id=context["tenantId"], project_id=projectId)} + + +@app.route('/integrations/newrelic', methods=['GET']) +def get_all_newrelic(context): + return {"data": log_tool_newrelic.get_all(tenant_id=context["tenantId"])} + + +@app.route('/{projectId}/integrations/newrelic', methods=['GET']) +def get_newrelic(projectId, context): + return {"data": log_tool_newrelic.get(project_id=projectId)} + + +@app.route('/{projectId}/integrations/newrelic', methods=['POST', 'PUT']) +def add_edit_newrelic(projectId, context): + data = app.current_request.json_body + + return {"data": log_tool_newrelic.add_edit(tenant_id=context["tenantId"], project_id=projectId, data=data)} + + +@app.route('/{projectId}/integrations/newrelic', methods=['DELETE']) +def delete_newrelic(projectId, context): + return {"data": log_tool_newrelic.delete(tenant_id=context["tenantId"], project_id=projectId)} + + +@app.route('/integrations/rollbar', methods=['GET']) +def get_all_rollbar(context): + return {"data": log_tool_rollbar.get_all(tenant_id=context["tenantId"])} + + +@app.route('/{projectId}/integrations/rollbar', methods=['GET']) +def get_rollbar(projectId, context): + return {"data": log_tool_rollbar.get(project_id=projectId)} + + +@app.route('/{projectId}/integrations/rollbar', methods=['POST', 'PUT']) +def add_edit_rollbar(projectId, context): + data = app.current_request.json_body + + return {"data": log_tool_rollbar.add_edit(tenant_id=context["tenantId"], project_id=projectId, data=data)} + + +@app.route('/{projectId}/integrations/rollbar', methods=['DELETE']) +def delete_datadog(projectId, context): + return {"data": log_tool_rollbar.delete(tenant_id=context["tenantId"], project_id=projectId)} + + +@app.route('/integrations/bugsnag/list_projects', methods=['POST']) +def list_projects_bugsnag(context): + data = app.current_request.json_body + return {"data": log_tool_bugsnag.list_projects(auth_token=data["authorizationToken"])} + + +@app.route('/integrations/bugsnag', methods=['GET']) +def get_all_bugsnag(context): + return {"data": log_tool_bugsnag.get_all(tenant_id=context["tenantId"])} + + +@app.route('/{projectId}/integrations/bugsnag', methods=['GET']) +def get_bugsnag(projectId, context): + return {"data": log_tool_bugsnag.get(project_id=projectId)} + + +@app.route('/{projectId}/integrations/bugsnag', methods=['POST', 'PUT']) +def add_edit_bugsnag(projectId, context): + data = app.current_request.json_body + + return {"data": log_tool_bugsnag.add_edit(tenant_id=context["tenantId"], project_id=projectId, data=data)} + + +@app.route('/{projectId}/integrations/bugsnag', methods=['DELETE']) +def delete_bugsnag(projectId, context): + return {"data": log_tool_bugsnag.delete(tenant_id=context["tenantId"], project_id=projectId)} + + +@app.route('/integrations/cloudwatch/list_groups', methods=['POST']) +def list_groups_cloudwatch(context): + data = app.current_request.json_body + return {"data": log_tool_cloudwatch.list_log_groups(aws_access_key_id=data["awsAccessKeyId"], + aws_secret_access_key=data["awsSecretAccessKey"], + region=data["region"])} + + +@app.route('/integrations/cloudwatch', methods=['GET']) +def get_all_cloudwatch(context): + return {"data": log_tool_cloudwatch.get_all(tenant_id=context["tenantId"])} + + +@app.route('/{projectId}/integrations/cloudwatch', methods=['GET']) +def get_cloudwatch(projectId, context): + return {"data": log_tool_cloudwatch.get(project_id=projectId)} + + +@app.route('/{projectId}/integrations/cloudwatch', methods=['POST', 'PUT']) +def add_edit_cloudwatch(projectId, context): + data = app.current_request.json_body + + return {"data": log_tool_cloudwatch.add_edit(tenant_id=context["tenantId"], project_id=projectId, data=data)} + + +@app.route('/{projectId}/integrations/cloudwatch', methods=['DELETE']) +def delete_cloudwatch(projectId, context): + return {"data": log_tool_cloudwatch.delete(tenant_id=context["tenantId"], project_id=projectId)} + + +@app.route('/integrations/elasticsearch', methods=['GET']) +def get_all_elasticsearch(context): + return {"data": log_tool_elasticsearch.get_all(tenant_id=context["tenantId"])} + + +@app.route('/{projectId}/integrations/elasticsearch', methods=['GET']) +def get_elasticsearch(projectId, context): + return {"data": log_tool_elasticsearch.get(project_id=projectId)} + + +@app.route('/integrations/elasticsearch/test', methods=['POST']) +def test_elasticsearch_connection(context): + data = app.current_request.json_body + return {"data": log_tool_elasticsearch.ping(tenant_id=context["tenantId"], **data)} + + +@app.route('/{projectId}/integrations/elasticsearch', methods=['POST', 'PUT']) +def add_edit_elasticsearch(projectId, context): + data = app.current_request.json_body + + return {"data": log_tool_elasticsearch.add_edit(tenant_id=context["tenantId"], project_id=projectId, data=data)} + + +@app.route('/{projectId}/integrations/elasticsearch', methods=['DELETE']) +def delete_elasticsearch(projectId, context): + return {"data": log_tool_elasticsearch.delete(tenant_id=context["tenantId"], project_id=projectId)} + + +@app.route('/integrations/sumologic', methods=['GET']) +def get_all_sumologic(context): + return {"data": log_tool_sumologic.get_all(tenant_id=context["tenantId"])} + + +@app.route('/{projectId}/integrations/sumologic', methods=['GET']) +def get_sumologic(projectId, context): + return {"data": log_tool_sumologic.get(project_id=projectId)} + + +@app.route('/{projectId}/integrations/sumologic', methods=['POST', 'PUT']) +def add_edit_sumologic(projectId, context): + data = app.current_request.json_body + + return {"data": log_tool_sumologic.add_edit(tenant_id=context["tenantId"], project_id=projectId, data=data)} + + +@app.route('/{projectId}/integrations/sumologic', methods=['DELETE']) +def delete_sumologic(projectId, context): + return {"data": log_tool_sumologic.delete(tenant_id=context["tenantId"], project_id=projectId)} + + +@app.route('/integrations/issues', methods=['GET']) +def get_integration_status(context): + error, integration = integrations_manager.get_integration(tenant_id=context["tenantId"], + user_id=context["userId"]) + if error is not None: + return {"data": {}} + return {"data": integration.get_obfuscated()} + + +@app.route('/integrations/jira', methods=['POST', 'PUT']) +def add_edit_jira_cloud(context): + data = app.current_request.json_body + error, integration = integrations_manager.get_integration(tool=integration_jira_cloud.PROVIDER, + tenant_id=context["tenantId"], + user_id=context["userId"]) + if error is not None: + return error + return {"data": integration.add_edit(data=data)} + + +@app.route('/integrations/github', methods=['POST', 'PUT']) +def add_edit_github(context): + data = app.current_request.json_body + error, integration = integrations_manager.get_integration(tool=integration_github.PROVIDER, + tenant_id=context["tenantId"], + user_id=context["userId"]) + if error is not None: + return error + return {"data": integration.add_edit(data=data)} + + +@app.route('/integrations/issues', methods=['DELETE']) +def delete_default_issue_tracking_tool(context): + error, integration = integrations_manager.get_integration(tenant_id=context["tenantId"], + user_id=context["userId"]) + if error is not None: + return error + return {"data": integration.delete()} + + +@app.route('/integrations/jira', methods=['DELETE']) +def delete_jira_cloud(context): + error, integration = integrations_manager.get_integration(tool=integration_jira_cloud.PROVIDER, + tenant_id=context["tenantId"], + user_id=context["userId"]) + if error is not None: + return error + return {"data": integration.delete()} + + +@app.route('/integrations/github', methods=['DELETE']) +def delete_github(context): + error, integration = integrations_manager.get_integration(tool=integration_github.PROVIDER, + tenant_id=context["tenantId"], + user_id=context["userId"]) + if error is not None: + return error + return {"data": integration.delete()} + + +@app.route('/integrations/issues/list_projects', methods=['GET']) +def get_all_issue_tracking_projects(context): + error, integration = integrations_manager.get_integration(tenant_id=context["tenantId"], + user_id=context["userId"]) + if error is not None: + return error + data = integration.issue_handler.get_projects() + if "errors" in data: + return data + return {"data": data} + + +@app.route('/integrations/issues/{integrationProjectId}', methods=['GET']) +def get_integration_metadata(integrationProjectId, context): + error, integration = integrations_manager.get_integration(tenant_id=context["tenantId"], + user_id=context["userId"]) + if error is not None: + return error + data = integration.issue_handler.get_metas(integrationProjectId) + if "errors" in data.keys(): + return data + return {"data": data} + + +@app.route('/{projectId}/assignments', methods=['GET']) +def get_all_assignments(projectId, context): + data = sessions_assignments.get_all(project_id=projectId, user_id=context["userId"]) + return { + 'data': data + } + + +@app.route('/{projectId}/sessions2/{sessionId}/assign/projects/{integrationProjectId}', methods=['POST', 'PUT']) +def create_issue_assignment(projectId, sessionId, integrationProjectId, context): + data = app.current_request.json_body + data = sessions_assignments.create_new_assignment(tenant_id=context['tenantId'], project_id=projectId, + session_id=sessionId, + creator_id=context["userId"], assignee=data["assignee"], + description=data["description"], title=data["title"], + issue_type=data["issueType"], + integration_project_id=integrationProjectId) + if "errors" in data.keys(): + return data + return { + 'data': data + } + + +@app.route('/{projectId}/gdpr', methods=['GET']) +def get_gdpr(projectId, context): + return {"data": projects.get_gdpr(project_id=projectId)} + + +@app.route('/{projectId}/gdpr', methods=['POST', 'PUT']) +def edit_gdpr(projectId, context): + data = app.current_request.json_body + + return {"data": projects.edit_gdpr(project_id=projectId, gdpr=data)} + + +@app.route('/password/reset/{step}', methods=['PUT', 'POST'], authorizer=None) +def reset_password_handler(step): + data = app.current_request.json_body + if step == "1": + if "email" not in data or len(data["email"]) < 5: + return {"errors": ["please provide a valid email address"]} + return reset_password.step1(data) + elif step == "2": + return reset_password.step2(data) + + +@app.route('/{projectId}/metadata', methods=['GET']) +def get_metadata(projectId, context): + return {"data": metadata.get(project_id=projectId)} + + +@app.route('/{projectId}/metadata/list', methods=['POST', 'PUT']) +def add_edit_delete_metadata(projectId, context): + data = app.current_request.json_body + + return metadata.add_edit_delete(tenant_id=context["tenantId"], project_id=projectId, new_metas=data["list"]) + + +@app.route('/{projectId}/metadata', methods=['POST', 'PUT']) +def add_metadata(projectId, context): + data = app.current_request.json_body + + return metadata.add(tenant_id=context["tenantId"], project_id=projectId, new_name=data["key"]) + + +@app.route('/{projectId}/metadata/{index}', methods=['POST', 'PUT']) +def edit_metadata(projectId, index, context): + data = app.current_request.json_body + + return metadata.edit(tenant_id=context["tenantId"], project_id=projectId, index=int(index), + new_name=data["key"]) + + +@app.route('/{projectId}/metadata/{index}', methods=['DELETE']) +def delete_metadata(projectId, index, context): + return metadata.delete(tenant_id=context["tenantId"], project_id=projectId, index=index) + + +@app.route('/{projectId}/metadata/search', methods=['GET']) +def search_metadata(projectId, context): + params = app.current_request.query_params + q = params.get('q', '') + key = params.get('key', '') + if len(q) == 0 and len(key) == 0: + return {"data": []} + if len(q) == 0: + return {"errors": ["please provide a value for search"]} + if len(key) == 0: + return {"errors": ["please provide a key for search"]} + return metadata.search(tenant_id=context["tenantId"], project_id=projectId, value=q, key=key) + + +@app.route('/{projectId}/integration/sources', methods=['GET']) +def search_integrations(projectId, context): + return log_tools.search(project_id=projectId) + + +@app.route('/async/email_assignment', methods=['POST', 'PUT'], authorizer=None) +def async_send_signup_emails(): + data = app.current_request.json_body + if data.pop("auth") != environ["async_Token"]: + return {} + email_helper.send_assign_session(recipient=data["email"], link=data["link"], message=data["message"]) + + +@app.route('/async/funnel/weekly_report2', methods=['POST', 'PUT'], authorizer=None) +def async_weekly_report(): + print("=========================> Sending weekly report") + data = app.current_request.json_body + if data.pop("auth") != environ["async_Token"]: + return {} + email_helper.weekly_report2(recipients=data["email"], data=data.get("data", None)) + + +@app.route('/async/basic/{step}', methods=['POST', 'PUT'], authorizer=None) +def async_basic_emails(step): + data = app.current_request.json_body + if data.pop("auth") != environ["async_Token"]: + return {} + if step.lower() == "member_invitation": + email_helper.send_team_invitation(recipient=data["email"], user_name=data["userName"], + temp_password=data["tempPassword"], client_id=data["clientId"], + sender_name=data["senderName"]) + + +@app.route('/{projectId}/sample_rate', methods=['GET']) +def get_capture_status(projectId, context): + return {"data": projects.get_capture_status(project_id=projectId)} + + +@app.route('/{projectId}/sample_rate', methods=['POST', 'PUT']) +def update_capture_status(projectId, context): + data = app.current_request.json_body + + return {"data": projects.update_capture_status(project_id=projectId, changes=data)} + + +@app.route('/announcements', methods=['GET']) +def get_all_announcements(context): + return {"data": announcements.get_all(context["userId"])} + + +@app.route('/announcements/view', methods=['GET']) +def get_all_announcements(context): + return {"data": announcements.view(user_id=context["userId"])} + + +@app.route('/{projectId}/errors/{errorId}/{action}', methods=['GET']) +def add_remove_favorite_error(projectId, errorId, action, context): + if action == "favorite": + return errors_favorite_viewed.favorite_error(project_id=projectId, user_id=context['userId'], error_id=errorId) + elif action == "sessions": + params = app.current_request.query_params + if params is None: + params = {} + start_date = params.get("startDate") + end_date = params.get("endDate") + return { + "data": errors.get_sessions(project_id=projectId, user_id=context['userId'], error_id=errorId, + start_date=start_date, end_date=end_date)} + elif action in list(errors.ACTION_STATE.keys()): + return errors.change_state(project_id=projectId, user_id=context['userId'], error_id=errorId, action=action) + else: + return {"errors": ["undefined action"]} + + +@app.route('/{projectId}/errors/merge', methods=['POST']) +def errors_merge(projectId, context): + data = app.current_request.json_body + + data = errors.merge(error_ids=data.get("errors", [])) + return data + + +@app.route('/show_banner', methods=['GET']) +def errors_merge(context): + return {"data": False} + + +@app.route('/{projectId}/alerts', methods=['POST', 'PUT']) +def create_alert(projectId, context): + data = app.current_request.json_body + return alerts.create(projectId, data) + + +@app.route('/{projectId}/alerts', methods=['GET']) +def get_all_alerts(projectId, context): + return {"data": alerts.get_all(projectId)} + + +@app.route('/{projectId}/alerts/{alertId}', methods=['GET']) +def get_alert(projectId, alertId, context): + return {"data": alerts.get(alertId)} + + +@app.route('/{projectId}/alerts/{alertId}', methods=['POST', 'PUT']) +def update_alert(projectId, alertId, context): + data = app.current_request.json_body + return alerts.update(alertId, data) + + +@app.route('/{projectId}/alerts/{alertId}', methods=['DELETE']) +def delete_alert(projectId, alertId, context): + return alerts.delete(projectId, alertId) + + +@app.route('/alerts/notifications', methods=['POST', 'PUT'], authorizer=None) +def send_alerts_notifications(): + data = app.current_request.json_body + if data.get("token", "") != "nF46JdQqAM5v9KI9lPMpcu8o9xiJGvNNWOGL7TJP": + return {"errors": ["missing token"]} + return {"data": alerts.process_notifications(data.get("notifications", []))} + + +@app.route('/{projectId}/funnels', methods=['POST', 'PUT']) +def add_funnel(projectId, context): + data = app.current_request.json_body + return funnels.create(project_id=projectId, + user_id=context['userId'], + name=data["name"], + filter=data["filter"], + is_public=data.get("isPublic", False)) + + +@app.route('/{projectId}/funnels', methods=['GET']) +def get_funnels(projectId, context): + params = app.current_request.query_params + if params is None: + params = {} + + return {"data": funnels.get_by_user(project_id=projectId, + user_id=context['userId'], + range_value=None, + start_date=None, + end_date=None, + details=False)} + + +@app.route('/{projectId}/funnels/details', methods=['GET']) +def get_funnels_with_details(projectId, context): + params = app.current_request.query_params + if params is None: + params = {} + + return {"data": funnels.get_by_user(project_id=projectId, + user_id=context['userId'], + range_value=params.get("rangeValue", None), + start_date=params.get('startDate', None), + end_date=params.get('endDate', None), + details=True)} + + +@app.route('/{projectId}/funnels/issue_types', methods=['GET']) +def get_possible_issue_types(projectId, context): + params = app.current_request.query_params + if params is None: + params = {} + + return {"data": funnels.get_possible_issue_types(project_id=projectId)} + + +@app.route('/{projectId}/funnels/{funnelId}/insights', methods=['GET']) +def get_funnel_insights(projectId, funnelId, context): + params = app.current_request.query_params + if params is None: + params = {} + + return {"data": funnels.get_top_insights(funnel_id=funnelId, project_id=projectId, + range_value=params.get("range_value", None), + start_date=params.get('startDate', None), + end_date=params.get('endDate', None))} + + +@app.route('/{projectId}/funnels/{funnelId}/insights', methods=['POST', 'PUT']) +def get_funnel_insights_on_the_fly(projectId, funnelId, context): + params = app.current_request.query_params + if params is None: + params = {} + data = app.current_request.json_body + if data is None: + data = {} + + return { + "data": funnels.get_top_insights_on_the_fly(funnel_id=funnelId, project_id=projectId, data={**params, **data})} + + +@app.route('/{projectId}/funnels/{funnelId}/issues', methods=['GET']) +def get_funnel_issues(projectId, funnelId, context): + params = app.current_request.query_params + if params is None: + params = {} + + return funnels.get_issues(funnel_id=funnelId, project_id=projectId, + range_value=params.get("range_value", None), + start_date=params.get('startDate', None), end_date=params.get('endDate', None)) + + +@app.route('/{projectId}/funnels/{funnelId}/issues', methods=['POST', 'PUT']) +def get_funnel_issues_on_the_fly(projectId, funnelId, context): + params = app.current_request.query_params + if params is None: + params = {} + data = app.current_request.json_body + if data is None: + data = {} + + return {"data": funnels.get_issues_on_the_fly(funnel_id=funnelId, project_id=projectId, data={**params, **data})} + + +@app.route('/{projectId}/funnels/{funnelId}/sessions', methods=['GET']) +def get_funnel_sessions(projectId, funnelId, context): + params = app.current_request.query_params + if params is None: + params = {} + + return {"data": funnels.get_sessions(funnel_id=funnelId, user_id=context['userId'], project_id=projectId, + range_value=params.get("range_value", None), + start_date=params.get('startDate', None), + end_date=params.get('endDate', None))} + + +@app.route('/{projectId}/funnels/{funnelId}/sessions', methods=['POST', 'PUT']) +def get_funnel_sessions_on_the_fly(projectId, funnelId, context): + params = app.current_request.query_params + if params is None: + params = {} + data = app.current_request.json_body + if data is None: + data = {} + return {"data": funnels.get_sessions_on_the_fly(funnel_id=funnelId, user_id=context['userId'], project_id=projectId, + data={**params, **data})} + + +@app.route('/{projectId}/funnels/issues/{issueId}/sessions', methods=['GET']) +def get_issue_sessions(projectId, issueId, context): + params = app.current_request.query_params + if params is None: + params = {} + + issue = issues.get(project_id=projectId, issue_id=issueId) + return { + "data": {"sessions": sessions.search_by_issue(user_id=context["userId"], project_id=projectId, issue=issue, + start_date=params.get('startDate', None), + end_date=params.get('endDate', None)), + "issue": issue}} + + +@app.route('/{projectId}/funnels/{funnelId}/issues/{issueId}/sessions', methods=['POST', 'PUT']) +def get_funnel_issue_sessions(projectId, funnelId, issueId, context): + data = app.current_request.json_body + + data = funnels.search_by_issue(project_id=projectId, user_id=context["userId"], issue_id=issueId, + funnel_id=funnelId, data=data) + if "errors" in data: + return data + if data.get("issue") is None: + data["issue"] = issues.get(project_id=projectId, issue_id=issueId) + return { + "data": data + } + + +@app.route('/{projectId}/funnels/{funnelId}', methods=['GET']) +def get_funnel(projectId, funnelId, context): + return {"data": funnels.get(funnel_id=funnelId, + project_id=projectId)} + + +@app.route('/{projectId}/funnels/{funnelId}', methods=['POST', 'PUT']) +def edit_funnel(projectId, funnelId, context): + data = app.current_request.json_body + return funnels.update(funnel_id=funnelId, + user_id=context['userId'], + name=data.get("name"), + filter=data.get("filter"), + is_public=data.get("isPublic")) + + +@app.route('/{projectId}/funnels/{funnelId}', methods=['DELETE']) +def delete_filter(projectId, funnelId, context): + return funnels.delete(user_id=context['userId'], funnel_id=funnelId, project_id=projectId) + + +@app.route('/{projectId}/sourcemaps', methods=['PUT'], authorizer=bp_authorizers.api_key_authorizer) +def sign_sourcemap_for_upload(projectId, context): + data = app.current_request.json_body + project_id = projects.get_internal_project_id(projectId) + if project_id is None: + return Response(status_code=400, body='invalid projectId') + + return {"data": sourcemaps.presign_upload_urls(project_id=project_id, urls=data["URL"])} + + +@app.route('/config/weekly_report', methods=['GET']) +def get_weekly_report_config(context): + return {"data": weekly_report.get_config(user_id=context['userId'])} + + +@app.route('/config/weekly_report', methods=['POST', 'PUT']) +def get_weekly_report_config(context): + data = app.current_request.json_body + return {"data": weekly_report.edit_config(user_id=context['userId'], weekly_report=data.get("weeklyReport", True))} + + +@app.route('/{projectId}/issue_types', methods=['GET']) +def issue_types(projectId, context): + return {"data": issues.get_types(project_id=projectId)} + + +@app.route('/flows', methods=['GET', 'PUT', 'POST', 'DELETE']) +@app.route('/{projectId}/flows', methods=['GET', 'PUT', 'POST', 'DELETE']) +def removed_endpoints(context): + return Response(body={"errors": ["Endpoint no longer available"]}, status_code=410) diff --git a/api/chalicelib/blueprints/bp_core_crons.py b/api/chalicelib/blueprints/bp_core_crons.py new file mode 100644 index 000000000..a64d7ce10 --- /dev/null +++ b/api/chalicelib/blueprints/bp_core_crons.py @@ -0,0 +1,18 @@ +from chalice import Blueprint +from chalice import Cron +from chalicelib import _overrides +from chalicelib.core import reset_password, weekly_report + +app = Blueprint(__name__) +_overrides.chalice_app(app) + + +@app.schedule(Cron('0/60', '*', '*', '*', '?', '*')) +def clear_password_reset(event): + reset_password.cron() + + +# Run every monday. +@app.schedule(Cron('5', '0', '?', '*', 'MON', '*')) +def weekly_report2(event): + weekly_report.cron() diff --git a/api/chalicelib/blueprints/bp_core_dynamic.py b/api/chalicelib/blueprints/bp_core_dynamic.py new file mode 100644 index 000000000..8bdd5ca30 --- /dev/null +++ b/api/chalicelib/blueprints/bp_core_dynamic.py @@ -0,0 +1,385 @@ +from chalice import Blueprint, Response + +from chalicelib import _overrides +from chalicelib.core import metadata, errors_favorite_viewed, slack, alerts, sessions, integration_github, \ + integrations_manager +from chalicelib.utils import captcha +from chalicelib.utils import helper +from chalicelib.utils.helper import environ + +from chalicelib.core import tenants +from chalicelib.core import signup +from chalicelib.core import users +from chalicelib.core import projects +from chalicelib.core import errors +from chalicelib.core import notifications +from chalicelib.core import boarding +from chalicelib.core import webhook +from chalicelib.core.collaboration_slack import Slack + +app = Blueprint(__name__) +_overrides.chalice_app(app) + + +@app.route('/signedups', methods=['GET'], authorizer=None) +def signed_ups(): + return { + 'data': tenants.get_tenants() + } + + +@app.route('/login', methods=['POST'], authorizer=None) +def login(): + data = app.current_request.json_body + if helper.allow_captcha() and not captcha.is_valid(data["g-recaptcha-response"]): + return {"errors": ["Invalid captcha."]} + r = users.authenticate(data['email'], data['password'], + for_plugin= False + ) + if r is None: + return { + 'errors': ['You’ve entered invalid Email or Password.'] + } + + tenant_id = r.pop("tenantId") + + r["limits"] = { + "teamMember": -1, + "projects": -1, + "metadata": metadata.get_remaining_metadata_with_count(tenant_id)} + + c = tenants.get_by_tenant_id(tenant_id) + c.pop("createdAt") + c["projects"] = projects.get_projects(tenant_id=tenant_id, recording_state=True, recorded=True, + stack_integrations=True) + return { + 'jwt': r.pop('jwt'), + 'data': { + "user": r, + "client": c, + } + } + + +@app.route('/account', methods=['GET']) +def get_account(context): + r = users.get(tenant_id=context['tenantId'], user_id=context['userId']) + return { + 'data': { + **r, + "limits": { + "teamMember": -1, + "projects": -1, + "metadata": metadata.get_remaining_metadata_with_count(context['tenantId'])}, + } + } + + +@app.route('/projects', methods=['GET']) +def get_projects(context): + return {"data": projects.get_projects(tenant_id=context["tenantId"], recording_state=True, gdpr=True, recorded=True, + stack_integrations=True)} + + +@app.route('/projects', methods=['POST', 'PUT']) +def create_project(context): + data = app.current_request.json_body + return projects.create(tenant_id=context["tenantId"], user_id=context["userId"], data=data) + + +@app.route('/projects/{projectId}', methods=['POST', 'PUT']) +def create_edit_project(projectId, context): + data = app.current_request.json_body + + return projects.edit(tenant_id=context["tenantId"], user_id=context["userId"], data=data, project_id=projectId) + + +@app.route('/projects/{projectId}', methods=['GET']) +def get_project(projectId, context): + return {"data": projects.get_project(tenant_id=context["tenantId"], project_id=projectId, include_last_session=True, + include_gdpr=True)} + + +@app.route('/projects/{projectId}', methods=['DELETE']) +def delete_project(projectId, context): + return projects.delete(tenant_id=context["tenantId"], user_id=context["userId"], project_id=projectId) + + +@app.route('/projects/limit', methods=['GET']) +def get_projects_limit(context): + return {"data": { + "current": projects.count_by_tenant(tenant_id=context["tenantId"]), + "remaining": -1 + }} + + +@app.route('/client', methods=['GET']) +def get_client(context): + r = tenants.get_by_tenant_id(context['tenantId']) + if r is not None: + r.pop("createdAt") + r["projects"] = projects.get_projects(tenant_id=context['tenantId'], recording_state=True, recorded=True, + stack_integrations=True) + return { + 'data': r + } + + +@app.route('/client/new_api_key', methods=['GET']) +def generate_new_tenant_token(context): + return { + 'data': tenants.generate_new_api_key(context['tenantId']) + } + + +@app.route('/client', methods=['PUT', 'POST']) +def put_client(context): + data = app.current_request.json_body + return tenants.update(tenant_id=context["tenantId"], user_id=context["userId"], data=data) + + +@app.route('/signup', methods=['GET'], authorizer=None) +def get_all_signup(): + return {"data": signup.get_signed_ups()} + + +@app.route('/signup', methods=['POST', 'PUT'], authorizer=None) +def signup_handler(): + data = app.current_request.json_body + return signup.create_step1(data) + + +@app.route('/integrations/slack', methods=['POST', 'PUT']) +def add_slack_client(context): + data = app.current_request.json_body + if "url" not in data or "name" not in data: + return {"errors": ["please provide a url and a name"]} + if Slack.add_integration(tenant_id=context["tenantId"], url=data["url"], name=data["name"]): + return {"data": {"status": "success"}} + else: + return { + "errors": ["failed URL verification, if you received a message on slack, please notify our dev-team"] + } + +@app.route('/{projectId}/errors/search', methods=['POST']) +def errors_search(projectId, context): + data = app.current_request.json_body + params = app.current_request.query_params + if params is None: + params = {} + + return errors.search(data, projectId, user_id=context["userId"], status=params.get("status", "ALL"), + favorite_only="favorite" in params) + + +@app.route('/{projectId}/errors/stats', methods=['GET']) +def errors_stats(projectId, context): + params = app.current_request.query_params + if params is None: + params = {} + + return errors.stats(projectId, user_id=context["userId"], **params) + + +@app.route('/{projectId}/errors/{errorId}', methods=['GET']) +def errors_get_details(projectId, errorId, context): + params = app.current_request.query_params + if params is None: + params = {} + + data = errors.get_details(project_id=projectId, user_id=context["userId"], error_id=errorId, **params) + if data.get("data") is not None: + errors_favorite_viewed.viewed_error(project_id=projectId, user_id=context['userId'], error_id=errorId) + return data + + +@app.route('/{projectId}/errors/{errorId}/stats', methods=['GET']) +def errors_get_details_right_column(projectId, errorId, context): + params = app.current_request.query_params + if params is None: + params = {} + + data = errors.get_details_chart(project_id=projectId, user_id=context["userId"], error_id=errorId, **params) + return data + + +@app.route('/{projectId}/errors/{errorId}/sourcemaps', methods=['GET']) +def errors_get_details_sourcemaps(projectId, errorId, context): + data = errors.get_trace(project_id=projectId, error_id=errorId) + if "errors" in data: + return data + return { + 'data': data + } + + +@app.route('/async/alerts/notifications/{step}', methods=['POST', 'PUT'], authorizer=None) +def send_alerts_notification_async(step): + data = app.current_request.json_body + if data.pop("auth") != environ["async_Token"]: + return {"errors": ["missing auth"]} + if step == "slack": + slack.send_batch(notifications_list=data.get("notifications")) + elif step == "email": + alerts.send_by_email_batch(notifications_list=data.get("notifications")) + elif step == "webhook": + webhook.trigger_batch(data_list=data.get("notifications")) + + +@app.route('/notifications', methods=['GET']) +def get_notifications(context): + return {"data": notifications.get_all(tenant_id=context['tenantId'], user_id=context['userId'])} + + +@app.route('/notifications/{notificationId}/view', methods=['GET']) +def view_notifications(notificationId, context): + return {"data": notifications.view_notification(notification_ids=[notificationId], user_id=context['userId'])} + + +@app.route('/notifications/view', methods=['POST', 'PUT']) +def batch_view_notifications(context): + data = app.current_request.json_body + return {"data": notifications.view_notification(notification_ids=data.get("ids", []), + startTimestamp=data.get("startTimestamp"), + endTimestamp=data.get("endTimestamp"), + user_id=context['userId'], + tenant_id=context["tenantId"])} + + +@app.route('/notifications', methods=['POST', 'PUT'], authorizer=None) +def create_notifications(): + data = app.current_request.json_body + if data.get("token", "") != "nF46JdQqAM5v9KI9lPMpcu8o9xiJGvNNWOGL7TJP": + return {"errors": ["missing token"]} + return notifications.create(data.get("notifications", [])) + + +@app.route('/boarding', methods=['GET']) +def get_boarding_state(context): + return {"data": boarding.get_state(tenant_id=context["tenantId"])} + + +@app.route('/boarding/installing', methods=['GET']) +def get_boarding_state_installing(context): + return {"data": boarding.get_state_installing(tenant_id=context["tenantId"])} + + +@app.route('/boarding/identify-users', methods=['GET']) +def get_boarding_state_identify_users(context): + return {"data": boarding.get_state_identify_users(tenant_id=context["tenantId"])} + + +@app.route('/boarding/manage-users', methods=['GET']) +def get_boarding_state_manage_users(context): + return {"data": boarding.get_state_manage_users(tenant_id=context["tenantId"])} + + +@app.route('/boarding/integrations', methods=['GET']) +def get_boarding_state_integrations(context): + return {"data": boarding.get_state_integrations(tenant_id=context["tenantId"])} + + +# this endpoint supports both jira & github based on `provider` attribute +@app.route('/integrations/issues', methods=['POST', 'PUT']) +def add_edit_jira_cloud_github(context): + data = app.current_request.json_body + provider = data.get("provider", "").upper() + error, integration = integrations_manager.get_integration(tool=provider, tenant_id=context["tenantId"], + user_id=context["userId"]) + if error is not None: + return error + return {"data": integration.add_edit(data=data)} + + +@app.route('/integrations/slack/{integrationId}', methods=['GET']) +def get_slack_webhook(integrationId, context): + return {"data": webhook.get(tenant_id=context["tenantId"], webhook_id=integrationId)} + + +@app.route('/integrations/slack/channels', methods=['GET']) +def get_slack_integration(context): + return {"data": webhook.get_by_type(tenant_id=context["tenantId"], webhook_type='slack')} + + +@app.route('/integrations/slack/{integrationId}', methods=['DELETE']) +def delete_slack_integration(integrationId, context): + return webhook.delete(context["tenantId"], integrationId) + + +@app.route('/webhooks', methods=['POST', 'PUT']) +def add_edit_webhook(context): + data = app.current_request.json_body + return {"data": webhook.add_edit(tenant_id=context["tenantId"], data=data, replace_none=True)} + + +@app.route('/webhooks', methods=['GET']) +def get_webhooks(context): + return {"data": webhook.get_by_tenant(tenant_id=context["tenantId"], replace_none=True)} + + +@app.route('/webhooks/{webhookId}', methods=['DELETE']) +def delete_webhook(webhookId, context): + return {"data": webhook.delete(tenant_id=context["tenantId"], webhook_id=webhookId)} + + +@app.route('/client/members', methods=['GET']) +def get_members(context): + return {"data": users.get_members(tenant_id=context['tenantId'])} + + +@app.route('/client/members', methods=['PUT', 'POST']) +def add_member(context): + data = app.current_request.json_body + return users.create_member(tenant_id=context['tenantId'], user_id=context['userId'], data=data) + + +@app.route('/client/members/{memberId}', methods=['PUT', 'POST']) +def edit_member(memberId, context): + data = app.current_request.json_body + return users.edit(tenant_id=context['tenantId'], editor_id=context['userId'], changes=data, + user_id_to_update=memberId) + + +@app.route('/client/members/{memberId}', methods=['DELETE']) +def delete_member(memberId, context): + return users.delete_member(tenant_id=context["tenantId"], user_id=context['userId'], id_to_delete=memberId) + + +@app.route('/account/new_api_key', methods=['GET']) +def generate_new_user_token(context): + return {"data": users.generate_new_api_key(user_id=context['userId'])} + + +@app.route('/account', methods=['POST', 'PUT']) +def edit_account(context): + data = app.current_request.json_body + return users.edit(tenant_id=context['tenantId'], user_id_to_update=context['userId'], changes=data, + editor_id=context['userId']) + + +@app.route('/account/password', methods=['PUT', 'POST']) +def change_client_password(context): + data = app.current_request.json_body + return users.change_password(email=context['email'], old_password=data["oldPassword"], + new_password=data["newPassword"], tenant_id=context["tenantId"], + user_id=context["userId"]) + + +@app.route('/metadata/session_search', methods=['GET']) +def search_sessions_by_metadata(context): + params = app.current_request.query_params + if params is None: + return {"errors": ["please provide a key&value for search"]} + value = params.get('value', '') + key = params.get('key', '') + project_id = params.get('projectId') + if len(value) == 0 and len(key) == 0: + return {"errors": ["please provide a key&value for search"]} + if len(value) == 0: + return {"errors": ["please provide a value for search"]} + if len(key) == 0: + return {"errors": ["please provide a key for search"]} + return { + "data": sessions.search_by_metadata(tenant_id=context["tenantId"], user_id=context["userId"], m_value=value, + m_key=key, + project_id=project_id)} diff --git a/api/chalicelib/blueprints/bp_core_dynamic_crons.py b/api/chalicelib/blueprints/bp_core_dynamic_crons.py new file mode 100644 index 000000000..74d8766e5 --- /dev/null +++ b/api/chalicelib/blueprints/bp_core_dynamic_crons.py @@ -0,0 +1,13 @@ +from chalice import Blueprint, Cron +from chalicelib import _overrides + +app = Blueprint(__name__) +_overrides.chalice_app(app) + +from chalicelib.core import telemetry + + +# Run every day. +@app.schedule(Cron('0', '0', '?', '*', '*', '*')) +def telemetry_cron(event): + telemetry.compute() diff --git a/api/chalicelib/blueprints/subs/__init__.py b/api/chalicelib/blueprints/subs/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/api/chalicelib/blueprints/subs/bp_dashboard.py b/api/chalicelib/blueprints/subs/bp_dashboard.py new file mode 100644 index 000000000..51bdce092 --- /dev/null +++ b/api/chalicelib/blueprints/subs/bp_dashboard.py @@ -0,0 +1,605 @@ +from chalice import Blueprint +from chalicelib.utils import helper +from chalicelib import _overrides + +from chalicelib.core import dashboard +from chalicelib.core import metadata + +app = Blueprint(__name__) +_overrides.chalice_app(app) + + +@app.route('/{projectId}/dashboard/metadata', methods=['GET']) +def get_metadata_map(projectId, context): + metamap = [] + for m in metadata.get(project_id=projectId): + metamap.append({"name": m["key"], "key": f"metadata{m['index']}"}) + return {"data": metamap} + + +@app.route('/{projectId}/dashboard/sessions', methods=['GET', 'POST']) +def get_dashboard_processed_sessions(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_processed_sessions(project_id=projectId, **{**data, **args})} + + +@app.route('/{projectId}/dashboard/errors', methods=['GET', 'POST']) +def get_dashboard_errors(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_errors(project_id=projectId, **{**data, **args})} + + +@app.route('/{projectId}/dashboard/errors_trend', methods=['GET', 'POST']) +def get_dashboard_errors_trend(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_errors_trend(project_id=projectId, **{**data, **args})} + + +@app.route('/{projectId}/dashboard/application_activity', methods=['GET', 'POST']) +def get_dashboard_application_activity(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_application_activity(project_id=projectId, **{**data, **args})} + + +@app.route('/{projectId}/dashboard/page_metrics', methods=['GET', 'POST']) +def get_dashboard_page_metrics(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_page_metrics(project_id=projectId, **{**data, **args})} + + +@app.route('/{projectId}/dashboard/user_activity', methods=['GET', 'POST']) +def get_dashboard_user_activity(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_user_activity(project_id=projectId, **{**data, **args})} + + +@app.route('/{projectId}/dashboard/performance', methods=['GET', 'POST']) +def get_dashboard_performance(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_performance(project_id=projectId, **{**data, **args})} + + +@app.route('/{projectId}/dashboard/slowest_images', methods=['GET', 'POST']) +def get_dashboard_slowest_images(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_slowest_images(project_id=projectId, **{**data, **args})} + + +@app.route('/{projectId}/dashboard/missing_resources', methods=['GET', 'POST']) +def get_performance_sessions(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_missing_resources_trend(project_id=projectId, **{**data, **args})} + + +@app.route('/{projectId}/dashboard/network', methods=['GET', 'POST']) +def get_network_widget(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_network(project_id=projectId, **{**data, **args})} + + +@app.route('/{projectId}/dashboard/{widget}/search', methods=['GET']) +def get_dashboard_autocomplete(projectId, widget, context): + params = app.current_request.query_params + if params is None: + return {"data": []} + + if widget in ['performance']: + data = dashboard.search(params.get('q', ''), params.get('type', ''), project_id=projectId, + platform=params.get('platform', None), performance=True) + elif widget in ['pages', 'pages_dom_buildtime', 'top_metrics', 'time_to_render', + 'impacted_sessions_by_slow_pages', 'pages_response_time']: + data = dashboard.search(params.get('q', ''), params.get('type', ''), project_id=projectId, + platform=params.get('platform', None), pages_only=True) + elif widget in ['resources_loading_time']: + data = dashboard.search(params.get('q', ''), params.get('type', ''), project_id=projectId, + platform=params.get('platform', None), performance=False) + elif widget in ['time_between_events', 'events']: + data = dashboard.search(params.get('q', ''), params.get('type', ''), project_id=projectId, + platform=params.get('platform', None), performance=False, events_only=True) + elif widget in ['metadata']: + data = dashboard.search(params.get('q', ''), None, project_id=projectId, + platform=params.get('platform', None), metadata=True, key=params.get("key")) + else: + return {"errors": [f"unsupported widget: {widget}"]} + return {'data': data} + + +# 1 +@app.route('/{projectId}/dashboard/slowest_resources', methods=['GET', 'POST']) +def get_dashboard_slowest_resources(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_slowest_resources(project_id=projectId, **{**data, **args})} + + +# 2 +@app.route('/{projectId}/dashboard/resources_loading_time', methods=['GET', 'POST']) +def get_dashboard_resources(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_resources_loading_time(project_id=projectId, **{**data, **args})} + + +# 3 +@app.route('/{projectId}/dashboard/pages_dom_buildtime', methods=['GET', 'POST']) +def get_dashboard_pages_dom(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_pages_dom_build_time(project_id=projectId, **{**data, **args})} + + +# 4 +@app.route('/{projectId}/dashboard/busiest_time_of_day', methods=['GET', 'POST']) +def get_dashboard_busiest_time_of_day(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_busiest_time_of_day(project_id=projectId, **{**data, **args})} + + +# 5 +@app.route('/{projectId}/dashboard/sessions_location', methods=['GET', 'POST']) +def get_dashboard_sessions_location(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_sessions_location(project_id=projectId, **{**data, **args})} + + +# 6 +@app.route('/{projectId}/dashboard/speed_location', methods=['GET', 'POST']) +def get_dashboard_speed_location(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_speed_index_location(project_id=projectId, **{**data, **args})} + + +# 7 +@app.route('/{projectId}/dashboard/pages_response_time', methods=['GET', 'POST']) +def get_dashboard_pages_response_time(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_pages_response_time(project_id=projectId, **{**data, **args})} + + +# 8 +@app.route('/{projectId}/dashboard/pages_response_time_distribution', methods=['GET', 'POST']) +def get_dashboard_pages_response_time_distribution(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_pages_response_time_distribution(project_id=projectId, **{**data, **args})} + + +# 9 +@app.route('/{projectId}/dashboard/top_metrics', methods=['GET', 'POST']) +def get_dashboard_top_metrics(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_top_metrics(project_id=projectId, **{**data, **args})} + + +# 10 +@app.route('/{projectId}/dashboard/time_to_render', methods=['GET', 'POST']) +def get_dashboard_time_to_render(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_time_to_render(project_id=projectId, **{**data, **args})} + + +# 11 +@app.route('/{projectId}/dashboard/impacted_sessions_by_slow_pages', methods=['GET', 'POST']) +def get_dashboard_impacted_sessions_by_slow_pages(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_impacted_sessions_by_slow_pages(project_id=projectId, **{**data, **args})} + + +# 12 +@app.route('/{projectId}/dashboard/memory_consumption', methods=['GET', 'POST']) +def get_dashboard_memory_consumption(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_memory_consumption(project_id=projectId, **{**data, **args})} + + +# 12.1 +@app.route('/{projectId}/dashboard/fps', methods=['GET', 'POST']) +def get_dashboard_avg_fps(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_avg_fps(project_id=projectId, **{**data, **args})} + + +# 12.2 +@app.route('/{projectId}/dashboard/cpu', methods=['GET', 'POST']) +def get_dashboard_avg_cpu(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_avg_cpu(project_id=projectId, **{**data, **args})} + + +# 13 +@app.route('/{projectId}/dashboard/crashes', methods=['GET', 'POST']) +def get_dashboard_impacted_sessions_by_slow_pages(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_crashes(project_id=projectId, **{**data, **args})} + + +# 14 +@app.route('/{projectId}/dashboard/domains_errors', methods=['GET', 'POST']) +def get_dashboard_domains_errors(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_domains_errors(project_id=projectId, **{**data, **args})} + + +# 14.1 +@app.route('/{projectId}/dashboard/domains_errors_4xx', methods=['GET', 'POST']) +def get_dashboard_domains_errors_4xx(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_domains_errors_4xx(project_id=projectId, **{**data, **args})} + + +# 14.2 +@app.route('/{projectId}/dashboard/domains_errors_5xx', methods=['GET', 'POST']) +def get_dashboard_domains_errors_5xx(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_domains_errors_5xx(project_id=projectId, **{**data, **args})} + + +# 15 +@app.route('/{projectId}/dashboard/slowest_domains', methods=['GET', 'POST']) +def get_dashboard_slowest_domains(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_slowest_domains(project_id=projectId, **{**data, **args})} + + +# 16 +@app.route('/{projectId}/dashboard/errors_per_domains', methods=['GET', 'POST']) +def get_dashboard_errors_per_domains(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_errors_per_domains(project_id=projectId, **{**data, **args})} + + +# 17 +@app.route('/{projectId}/dashboard/sessions_per_browser', methods=['GET', 'POST']) +def get_dashboard_sessions_per_browser(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_sessions_per_browser(project_id=projectId, **{**data, **args})} + + +# 18 +@app.route('/{projectId}/dashboard/calls_errors', methods=['GET', 'POST']) +def get_dashboard_calls_errors(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_calls_errors(project_id=projectId, **{**data, **args})} + + +# 18.1 +@app.route('/{projectId}/dashboard/calls_errors_4xx', methods=['GET', 'POST']) +def get_dashboard_calls_errors_4xx(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_calls_errors_4xx(project_id=projectId, **{**data, **args})} + + +# 18.2 +@app.route('/{projectId}/dashboard/calls_errors_5xx', methods=['GET', 'POST']) +def get_dashboard_calls_errors_5xx(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_calls_errors_5xx(project_id=projectId, **{**data, **args})} + + +# 19 +@app.route('/{projectId}/dashboard/errors_per_type', methods=['GET', 'POST']) +def get_dashboard_errors_per_type(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_errors_per_type(project_id=projectId, **{**data, **args})} + + +# 20 +@app.route('/{projectId}/dashboard/resources_by_party', methods=['GET', 'POST']) +def get_dashboard_resources_by_party(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_resources_by_party(project_id=projectId, **{**data, **args})} + + +# 21 +@app.route('/{projectId}/dashboard/resource_type_vs_response_end', methods=['GET', 'POST']) +def get_dashboard_errors_per_resource_type(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.resource_type_vs_response_end(project_id=projectId, **{**data, **args})} + + +# 22 +@app.route('/{projectId}/dashboard/resources_vs_visually_complete', methods=['GET', 'POST']) +def get_dashboard_resources_vs_visually_complete(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_resources_vs_visually_complete(project_id=projectId, **{**data, **args})} + + +# 23 +@app.route('/{projectId}/dashboard/impacted_sessions_by_js_errors', methods=['GET', 'POST']) +def get_dashboard_impacted_sessions_by_js_errors(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_impacted_sessions_by_js_errors(project_id=projectId, **{**data, **args})} + + +# 24 +@app.route('/{projectId}/dashboard/resources_count_by_type', methods=['GET', 'POST']) +def get_dashboard_resources_count_by_type(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": dashboard.get_resources_count_by_type(project_id=projectId, **{**data, **args})} + + +# 25 +@app.route('/{projectId}/dashboard/time_between_events', methods=['GET']) +def get_dashboard_resources_count_by_type(projectId, context): + return {"errors": ["please choose 2 events"]} + + +@app.route('/{projectId}/dashboard/overview', methods=['GET', 'POST']) +def get_dashboard_group(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": [ + *helper.explode_widget(key="count_sessions", + data=dashboard.get_processed_sessions(project_id=projectId, **{**data, **args})), + *helper.explode_widget(data={**dashboard.get_application_activity(project_id=projectId, **{**data, **args}), + "chart": dashboard.get_performance(project_id=projectId, **{**data, **args}) + .get("chart", [])}), + *helper.explode_widget(data=dashboard.get_page_metrics(project_id=projectId, **{**data, **args})), + *helper.explode_widget(data=dashboard.get_user_activity(project_id=projectId, **{**data, **args})), + *helper.explode_widget(data=dashboard.get_pages_dom_build_time(project_id=projectId, **{**data, **args}), + key="avg_pages_dom_buildtime"), + *helper.explode_widget(data=dashboard.get_pages_response_time(project_id=projectId, **{**data, **args}), + key="avg_pages_response_time"), + *helper.explode_widget(dashboard.get_top_metrics(project_id=projectId, **{**data, **args})), + *helper.explode_widget(data=dashboard.get_time_to_render(project_id=projectId, **{**data, **args}), + key="avg_time_to_render"), + *helper.explode_widget(dashboard.get_memory_consumption(project_id=projectId, **{**data, **args})), + *helper.explode_widget(dashboard.get_avg_cpu(project_id=projectId, **{**data, **args})), + *helper.explode_widget(dashboard.get_avg_fps(project_id=projectId, **{**data, **args})), + ]} + + +@app.route('/{projectId}/dashboard/errors_crashes', methods=['GET', 'POST']) +def get_dashboard_group(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": [ + {"key": "errors", + "data": dashboard.get_errors(project_id=projectId, **{**data, **args})}, + {"key": "errors_trend", + "data": dashboard.get_errors_trend(project_id=projectId, **{**data, **args})}, + {"key": "crashes", + "data": dashboard.get_crashes(project_id=projectId, **{**data, **args})}, + {"key": "domains_errors", + "data": dashboard.get_domains_errors(project_id=projectId, **{**data, **args})}, + {"key": "errors_per_domains", + "data": dashboard.get_errors_per_domains(project_id=projectId, **{**data, **args})}, + {"key": "calls_errors", + "data": dashboard.get_calls_errors(project_id=projectId, **{**data, **args})}, + {"key": "errors_per_type", + "data": dashboard.get_errors_per_type(project_id=projectId, **{**data, **args})}, + {"key": "impacted_sessions_by_js_errors", + "data": dashboard.get_impacted_sessions_by_js_errors(project_id=projectId, **{**data, **args})} + ]} + + +@app.route('/{projectId}/dashboard/resources', methods=['GET', 'POST']) +def get_dashboard_group(projectId, context): + data = app.current_request.json_body + if data is None: + data = {} + params = app.current_request.query_params + args = dashboard.dashboard_args(params) + + return {"data": [ + {"key": "slowest_images", + "data": dashboard.get_slowest_images(project_id=projectId, **{**data, **args})}, + {"key": "missing_resources", + "data": dashboard.get_missing_resources_trend(project_id=projectId, **{**data, **args})}, + {"key": "slowest_resources", + "data": dashboard.get_slowest_resources(project_id=projectId, type='all', **{**data, **args})}, + {"key": "resources_loading_time", + "data": dashboard.get_resources_loading_time(project_id=projectId, **{**data, **args})}, + {"key": "resources_by_party", + "data": dashboard.get_resources_by_party(project_id=projectId, **{**data, **args})}, + {"key": "resource_type_vs_response_end", + "data": dashboard.resource_type_vs_response_end(project_id=projectId, **{**data, **args})}, + {"key": "resources_vs_visually_complete", + "data": dashboard.get_resources_vs_visually_complete(project_id=projectId, **{**data, **args})}, + {"key": "resources_count_by_type", + "data": dashboard.get_resources_count_by_type(project_id=projectId, **{**data, **args})} + ]} diff --git a/api/chalicelib/core/__init__.py b/api/chalicelib/core/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/api/chalicelib/core/alerts.py b/api/chalicelib/core/alerts.py new file mode 100644 index 000000000..6ed9aff3e --- /dev/null +++ b/api/chalicelib/core/alerts.py @@ -0,0 +1,168 @@ +import time +from chalicelib.utils.helper import environ + +from chalicelib.core import notifications +from chalicelib.utils import pg_client, helper, email_helper +from chalicelib.utils.TimeUTC import TimeUTC +import json + +ALLOW_UPDATE = ["name", "description", "active", "detectionMethod", "query", "options"] + + +def get(id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + SELECT * + FROM public.alerts + WHERE alert_id =%(id)s;""", + {"id": id}) + ) + a = helper.dict_to_camel_case(cur.fetchone()) + return __process_circular(a) + + +def get_all(project_id): + with pg_client.PostgresClient() as cur: + query = cur.mogrify("""\ + SELECT * + FROM public.alerts + WHERE project_id =%(project_id)s AND deleted_at ISNULL + ORDER BY created_at;""", + {"project_id": project_id}) + cur.execute(query=query) + all = helper.list_to_camel_case(cur.fetchall()) + for a in all: + a = __process_circular(a) + return all + + +SUPPORTED_THRESHOLD = [15, 30, 60, 120, 240, 1440] + + +def __transform_structure(data): + if data.get("options") is None: + return f"Missing 'options'", None + if data["options"].get("currentPeriod") not in SUPPORTED_THRESHOLD: + return f"Unsupported currentPeriod, please provide one of these values {SUPPORTED_THRESHOLD}", None + if data["options"].get("previousPeriod", 15) not in SUPPORTED_THRESHOLD: + return f"Unsupported previousPeriod, please provide one of these values {SUPPORTED_THRESHOLD}", None + if data["options"].get("renotifyInterval") is None: + data["options"]["renotifyInterval"] = 720 + data["query"]["right"] = float(data["query"]["right"]) + data["query"] = json.dumps(data["query"]) + data["description"] = data["description"] if data.get("description") is not None and len( + data["description"]) > 0 else None + if data.get("options"): + messages = [] + for m in data["options"].get("message", []): + if m.get("value") is None: + continue + m["value"] = str(m["value"]) + messages.append(m) + data["options"]["message"] = messages + data["options"] = json.dumps(data["options"]) + return None, data + + +def __process_circular(alert): + if alert is None: + return None + alert.pop("deletedAt") + alert["createdAt"] = TimeUTC.datetime_to_timestamp(alert["createdAt"]) + return alert + + +def create(project_id, data): + err, data = __transform_structure(data) + if err is not None: + return {"errors": [err]} + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + INSERT INTO public.alerts(project_id, name, description, detection_method, query, options) + VALUES (%(project_id)s, %(name)s, %(description)s, %(detectionMethod)s, %(query)s, %(options)s::jsonb) + RETURNING *;""", + {"project_id": project_id, **data}) + ) + a = helper.dict_to_camel_case(cur.fetchone()) + return {"data": helper.dict_to_camel_case(__process_circular(a))} + + +def update(id, changes): + changes = {k: changes[k] for k in changes.keys() if k in ALLOW_UPDATE} + err, changes = __transform_structure(changes) + if err is not None: + return {"errors": [err]} + updateq = [] + for k in changes.keys(): + updateq.append(f"{helper.key_to_snake_case(k)} = %({k})s") + if len(updateq) == 0: + return {"errors": ["nothing to update"]} + with pg_client.PostgresClient() as cur: + query = cur.mogrify(f"""\ + UPDATE public.alerts + SET {", ".join(updateq)} + WHERE alert_id =%(id)s AND deleted_at ISNULL + RETURNING *;""", + {"id": id, **changes}) + cur.execute(query=query) + a = helper.dict_to_camel_case(cur.fetchone()) + return {"data": __process_circular(a)} + + +def process_notifications(data): + full = {} + for n in data: + if "message" in n["options"]: + webhook_data = {} + if "data" in n["options"]: + webhook_data = n["options"].pop("data") + for c in n["options"].pop("message"): + if c["type"] not in full: + full[c["type"]] = [] + if c["type"] in ["slack", "email"]: + full[c["type"]].append({ + "notification": n, + "destination": c["value"] + }) + elif c["type"] in ["webhook"]: + full[c["type"]].append({"data": webhook_data, "destination": c["value"]}) + notifications.create(data) + BATCH_SIZE = 200 + for t in full.keys(): + for i in range(0, len(full[t]), BATCH_SIZE): + helper.async_post(environ['alert_ntf'] % t, {"notifications": full[t][i:i + BATCH_SIZE]}) + + +def send_by_email(notification, destination): + if notification is None: + return + email_helper.alert_email(recipients=destination, + subject=f'"{notification["title"]}" has been triggered', + data={ + "message": f'"{notification["title"]}" {notification["description"]}', + "project_id": notification["options"]["projectId"]}) + + +def send_by_email_batch(notifications_list): + if notifications_list is None or len(notifications_list) == 0: + return + for n in notifications_list: + send_by_email(notification=n.get("notification"), destination=n.get("destination")) + time.sleep(1) + + +def delete(project_id, alert_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + UPDATE public.alerts + SET + deleted_at = timezone('utc'::text, now()), + active = FALSE + WHERE + alert_id = %(alert_id)s AND project_id=%(project_id)s;""", + {"alert_id": alert_id, "project_id": project_id}) + ) + return {"data": {"state": "success"}} diff --git a/api/chalicelib/core/announcements.py b/api/chalicelib/core/announcements.py new file mode 100644 index 000000000..bb719afb9 --- /dev/null +++ b/api/chalicelib/core/announcements.py @@ -0,0 +1,42 @@ +from chalicelib.utils import pg_client +from chalicelib.utils import helper +from chalicelib.utils.helper import environ +from chalicelib.utils.TimeUTC import TimeUTC + + +def get_all(user_id): + with pg_client.PostgresClient() as cur: + query = cur.mogrify(""" + SELECT a.*, u.last >= (EXTRACT(EPOCH FROM a.created_at)*1000) AS viewed + FROM public.announcements AS a, + (SELECT COALESCE(CAST(data ->> 'lastAnnouncementView' AS bigint), 0) + FROM public.users + WHERE user_id = %(userId)s + LIMIT 1) AS u(last) + ORDER BY a.created_at DESC;""", + {"userId": user_id}) + cur.execute( + query + ) + announcements = helper.list_to_camel_case(cur.fetchall()) + for a in announcements: + a["createdAt"] = TimeUTC.datetime_to_timestamp(a["createdAt"]) + if a["imageUrl"] is not None and len(a["imageUrl"]) > 0: + a["imageUrl"] = environ["announcement_bucket"] + a["imageUrl"] + return announcements + + +def view(user_id): + with pg_client.PostgresClient() as cur: + query = cur.mogrify(""" + UPDATE public.users + SET data=data || + ('{"lastAnnouncementView":' || + (EXTRACT(EPOCH FROM timezone('utc'::text, now())) * 1000)::bigint - 20 * 000 || + '}')::jsonb + WHERE user_id = %(userId)s;""", + {"userId": user_id}) + cur.execute( + query + ) + return True diff --git a/api/chalicelib/core/authorizers.py b/api/chalicelib/core/authorizers.py new file mode 100644 index 000000000..1122b0d65 --- /dev/null +++ b/api/chalicelib/core/authorizers.py @@ -0,0 +1,61 @@ +from chalicelib.utils.helper import environ +import jwt +from chalicelib.utils import helper +from chalicelib.utils.TimeUTC import TimeUTC + +from chalicelib.core import tenants +from chalicelib.core import users + + +def jwt_authorizer(token): + token = token.split(" ") + if len(token) != 2 or token[0].lower() != "bearer": + return None + try: + payload = jwt.decode( + token[1], + environ["jwt_secret"], + algorithms=environ["jwt_algorithm"], + audience=[f"plugin:{helper.get_stage_name()}", f"front:{helper.get_stage_name()}"] + ) + except jwt.ExpiredSignatureError: + print("! JWT Expired signature") + return None + except BaseException as e: + print("! JWT Base Exception") + return None + return payload + + +def jwt_context(context): + user = users.get(user_id=context["userId"], tenant_id=context["tenantId"]) + if user is None: + return None + return { + "tenantId": context["tenantId"], + "userId": context["userId"], + **user + } + + +def generate_jwt(id, tenant_id, iat, aud): + token = jwt.encode( + payload={ + "userId": id, + "tenantId": tenant_id, + "exp": iat // 1000 + int(environ["jwt_exp_delta_seconds"]) + TimeUTC.get_utc_offset() // 1000, + "iss": environ["jwt_issuer"], + "iat": iat // 1000, + "aud": aud + }, + key=environ["jwt_secret"], + algorithm=environ["jwt_algorithm"] + ) + return token.decode("utf-8") + + +def api_key_authorizer(token): + t = tenants.get_by_api_key(token) + if t is not None: + t["createdAt"] = TimeUTC.datetime_to_timestamp(t["createdAt"]) + return t diff --git a/api/chalicelib/core/boarding.py b/api/chalicelib/core/boarding.py new file mode 100644 index 000000000..e39f8ff28 --- /dev/null +++ b/api/chalicelib/core/boarding.py @@ -0,0 +1,116 @@ +from chalicelib.utils import pg_client +from chalicelib.core import projects, log_tool_datadog, log_tool_stackdriver, log_tool_sentry + +from chalicelib.core import users + + +def get_state(tenant_id): + my_projects = projects.get_projects(tenant_id=tenant_id, recording_state=False) + pids = [s["projectId"] for s in my_projects] + with pg_client.PostgresClient() as cur: + recorded = False + meta = False + + if len(pids) > 0: + cur.execute( + cur.mogrify("""\ + SELECT + COUNT(*) + FROM public.sessions AS s + where s.project_id IN %(ids)s + LIMIT 1;""", + {"ids": tuple(pids)}) + ) + recorded = cur.fetchone()["count"] > 0 + meta = False + if recorded: + cur.execute("""SELECT SUM((SELECT COUNT(t.meta) + FROM (VALUES (p.metadata_1), (p.metadata_2), (p.metadata_3), (p.metadata_4), (p.metadata_5), + (p.metadata_6), (p.metadata_7), (p.metadata_8), (p.metadata_9), (p.metadata_10), + (sessions.user_id)) AS t(meta) + WHERE t.meta NOTNULL)) + FROM public.projects AS p + LEFT JOIN LATERAL ( SELECT 'defined' + FROM public.sessions + WHERE sessions.project_id=p.project_id AND sessions.user_id IS NOT NULL + LIMIT 1) AS sessions(user_id) ON(TRUE) + WHERE p.deleted_at ISNULL;""" + ) + + meta = cur.fetchone()["sum"] > 0 + + return [ + {"task": "Install Asayer", + "done": recorded, + "URL": "https://docs.asayer.io/getting-started/quick-start"}, + {"task": "Identify Users", + "done": meta, + "URL": "https://docs.asayer.io/data-privacy-security/metadata"}, + {"task": "Invite Team Members", + "done": len(users.get_members(tenant_id=tenant_id)) > 1, + "URL": "https://app.asayer.io/client/manage-users"}, + {"task": "Integrations", + "done": len(log_tool_datadog.get_all(tenant_id=tenant_id)) > 0 \ + or len(log_tool_sentry.get_all(tenant_id=tenant_id)) > 0 \ + or len(log_tool_stackdriver.get_all(tenant_id=tenant_id)) > 0, + "URL": "https://docs.asayer.io/integrations"} + ] + + +def get_state_installing(tenant_id): + my_projects = projects.get_projects(tenant_id=tenant_id, recording_state=False) + pids = [s["projectId"] for s in my_projects] + with pg_client.PostgresClient() as cur: + recorded = False + + if len(pids) > 0: + cur.execute( + cur.mogrify("""\ + SELECT + COUNT(*) + FROM public.sessions AS s + where s.project_id IN %(ids)s + LIMIT 1;""", + {"ids": tuple(pids)}) + ) + recorded = cur.fetchone()["count"] > 0 + + return {"task": "Install Asayer", + "done": recorded, + "URL": "https://docs.asayer.io/getting-started/quick-start"} + + +def get_state_identify_users(tenant_id): + with pg_client.PostgresClient() as cur: + cur.execute( + """SELECT SUM((SELECT COUNT(t.meta) + FROM (VALUES (p.metadata_1), (p.metadata_2), (p.metadata_3), (p.metadata_4), (p.metadata_5), + (p.metadata_6), (p.metadata_7), (p.metadata_8), (p.metadata_9), (p.metadata_10), + (sessions.user_id)) AS t(meta) + WHERE t.meta NOTNULL)) + FROM public.projects AS p + LEFT JOIN LATERAL ( SELECT 'defined' + FROM public.sessions + WHERE sessions.project_id=p.project_id AND sessions.user_id IS NOT NULL + LIMIT 1) AS sessions(user_id) ON(TRUE) + WHERE p.deleted_at ISNULL;""") + + meta = cur.fetchone()["sum"] > 0 + + return {"task": "Identify Users", + "done": meta, + "URL": "https://docs.asayer.io/data-privacy-security/metadata"} + + +def get_state_manage_users(tenant_id): + return {"task": "Invite Team Members", + "done": len(users.get_members(tenant_id=tenant_id)) > 1, + "URL": "https://app.asayer.io/client/manage-users"} + + +def get_state_integrations(tenant_id): + return {"task": "Integrations", + "done": len(log_tool_datadog.get_all(tenant_id=tenant_id)) > 0 \ + or len(log_tool_sentry.get_all(tenant_id=tenant_id)) > 0 \ + or len(log_tool_stackdriver.get_all(tenant_id=tenant_id)) > 0, + "URL": "https://docs.asayer.io/integrations"} diff --git a/api/chalicelib/core/collaboration_slack.py b/api/chalicelib/core/collaboration_slack.py new file mode 100644 index 000000000..5fc80511c --- /dev/null +++ b/api/chalicelib/core/collaboration_slack.py @@ -0,0 +1,126 @@ +import requests +from chalicelib.utils.helper import environ +from datetime import datetime +from chalicelib.core import webhook + + +class Slack: + @classmethod + def add_integration(cls, tenant_id, **args): + url = args["url"] + name = args["name"] + if cls.__say_hello(url): + webhook.add(tenant_id=tenant_id, + endpoint=url, + webhook_type="slack", + name=name) + return True + return False + + @classmethod + def __say_hello(cls, url): + r = requests.post( + url=url, + json={ + "attachments": [ + { + "text": "Welcome to OpenReplay", + "ts": datetime.now().timestamp(), + } + ] + }) + if r.status_code != 200: + print("slack integration failed") + print(r.text) + return False + return True + + @classmethod + def send_text(cls, tenant_id, webhook_id, text, **args): + integration = cls.__get(tenant_id=tenant_id, integration_id=webhook_id) + if integration is None: + return {"errors": ["slack integration not found"]} + print("====> sending slack notification") + r = requests.post( + url=integration["endpoint"], + json={ + "attachments": [ + { + "text": text, + "ts": datetime.now().timestamp(), + **args + } + ] + }) + print(r) + print(r.text) + return {"data": r.text} + + @classmethod + def send_batch(cls, tenant_id, webhook_id, attachments): + integration = cls.__get(tenant_id=tenant_id, integration_id=webhook_id) + if integration is None: + return {"errors": ["slack integration not found"]} + print(f"====> sending slack batch notification: {len(attachments)}") + for i in range(0, len(attachments), 100): + r = requests.post( + url=integration["endpoint"], + json={"attachments": attachments[i:i + 100]}) + if r.status_code != 200: + print("!!!! something went wrong") + print(r) + print(r.text) + + @classmethod + def __share_to_slack(cls, tenant_id, integration_id, fallback, pretext, title, title_link, text): + integration = cls.__get(tenant_id=tenant_id, integration_id=integration_id) + if integration is None: + return {"errors": ["slack integration not found"]} + r = requests.post( + url=integration["endpoint"], + json={ + "attachments": [ + { + "fallback": fallback, + "pretext": pretext, + "title": title, + "title_link": title_link, + "text": text, + "ts": datetime.now().timestamp() + } + ] + }) + return r.text + + @classmethod + def share_session(cls, tenant_id, project_id, session_id, user, comment, integration_id=None): + args = {"fallback": f"{user} has shared the below session!", + "pretext": f"{user} has shared the below session!", + "title": f"{environ['SITE_URL']}/{project_id}/session/{session_id}", + "title_link": f"{environ['SITE_URL']}/{project_id}/session/{session_id}", + "text": comment} + return {"data": cls.__share_to_slack(tenant_id, integration_id, **args)} + + @classmethod + def share_error(cls, tenant_id, project_id, error_id, user, comment, integration_id=None): + args = {"fallback": f"{user} has shared the below error!", + "pretext": f"{user} has shared the below error!", + "title": f"{environ['SITE_URL']}/{project_id}/errors/{error_id}", + "title_link": f"{environ['SITE_URL']}/{project_id}/errors/{error_id}", + "text": comment} + return {"data": cls.__share_to_slack(tenant_id, integration_id, **args)} + + @classmethod + def has_slack(cls, tenant_id): + integration = cls.__get(tenant_id=tenant_id) + return not (integration is None or len(integration) == 0) + + @classmethod + def __get(cls, tenant_id, integration_id=None): + if integration_id is not None: + return webhook.get(tenant_id=tenant_id, webhook_id=integration_id) + + integrations = webhook.get_by_type(tenant_id=tenant_id, webhook_type="slack") + if integrations is None or len(integrations) == 0: + return None + return integrations[0] diff --git a/api/chalicelib/core/dashboard.py b/api/chalicelib/core/dashboard.py new file mode 100644 index 000000000..e739ceb04 --- /dev/null +++ b/api/chalicelib/core/dashboard.py @@ -0,0 +1,2034 @@ +from chalicelib.core import metadata +from chalicelib.utils import args_transformer +from chalicelib.utils import helper, dev +from chalicelib.utils import pg_client +from chalicelib.utils.TimeUTC import TimeUTC +from chalicelib.utils.metrics_helper import __get_step_size +import math + + +# Written by David Aznaurov, inspired by numpy.quantile +def __quantiles(a, q, interpolation='higher'): + arr = a.copy() + arr = sorted(arr) + if isinstance(q, list): + ind = [qi * (len(arr) - 1) for qi in q] + else: + ind = q * (len(arr) - 1) + if interpolation == 'higher': + if isinstance(q, list): + ind = [math.ceil(i) for i in ind] + else: + ind = math.ceil(ind) + if isinstance(q, list): + return [arr[i] for i in ind] + else: + return arr[ind] + + +def __get_constraints(project_id, time_constraint=True, chart=False, duration=True, project=True, + project_identifier="project_id", + main_table="sessions", time_column="start_ts", data={}): + pg_sub_query = [] + if project: + pg_sub_query.append(f"{main_table}.{project_identifier} =%({project_identifier})s") + if duration: + pg_sub_query.append(f"{main_table}.duration>0") + if time_constraint: + pg_sub_query.append(f"{main_table}.{time_column} >= %(startTimestamp)s") + pg_sub_query.append(f"{main_table}.{time_column} < %(endTimestamp)s") + if chart: + pg_sub_query.append(f"{main_table}.{time_column} >= generated_timestamp") + pg_sub_query.append(f"{main_table}.{time_column} < generated_timestamp + %(step_size)s") + return pg_sub_query + __get_meta_constraint(project_id=project_id, data=data) + + +def __merge_charts(list1, list2, time_key="timestamp"): + if len(list1) != len(list2): + raise Exception("cannot merge unequal lists") + result = [] + for i in range(len(list1)): + timestamp = min(list1[i][time_key], list2[i][time_key]) + result.append({**list1[i], **list2[i], time_key: timestamp}) + return result + + +def __get_constraint_values(data): + params = {} + for i, f in enumerate(data.get("filters", [])): + params[f"{f['key']}_{i}"] = f["value"] + return params + + +METADATA_FIELDS = {"userId": "user_id", + "userAnonymousId": "user_anonymous_id", + "metadata1": "metadata_1", + "metadata2": "metadata_2", + "metadata3": "metadata_3", + "metadata4": "metadata_4", + "metadata5": "metadata_5", + "metadata6": "metadata_6", + "metadata7": "metadata_7", + "metadata8": "metadata_8", + "metadata9": "metadata_9", + "metadata10": "metadata_10"} + +from chalicelib.core import sessions_metas + + +def __get_meta_constraint(project_id, data): + if len(data.get("filters", [])) == 0: + return [] + constraints = [] + meta_keys = metadata.get(project_id=project_id) + meta_keys = {m["key"]: m["index"] for m in meta_keys} + print(meta_keys) + + for i, f in enumerate(data.get("filters", [])): + if f["key"] in meta_keys.keys(): + key = f"sessions.metadata_{meta_keys[f['key']]})" + if f["value"] in ["*", ""]: + constraints.append(f"{key} IS NOT NULL") + else: + constraints.append(f"{key} = %({f['key']}_{i})s") + else: + filter_type = f["key"].upper() + if filter_type == sessions_metas.meta_type.USERBROWSER: + constraints.append(f"sessions.user_browser = %({f['key']}_{i})s") + elif filter_type in [sessions_metas.meta_type.USEROS, sessions_metas.meta_type.USEROS_IOS]: + constraints.append(f"sessions.user_os = %({f['key']}_{i})s") + elif filter_type in [sessions_metas.meta_type.USERDEVICE, sessions_metas.meta_type.USERDEVICE_IOS]: + constraints.append(f"sessions.user_device = %({f['key']}_{i})s") + elif filter_type in [sessions_metas.meta_type.USERCOUNTRY, sessions_metas.meta_type.USERCOUNTRY_IOS]: + constraints.append(f"sessions.user_country = %({f['key']}_{i})s") + elif filter_type in [sessions_metas.meta_type.USERID, sessions_metas.meta_type.USERID_IOS]: + constraints.append(f"sessions.user_id = %({f['key']}_{i})s") + elif filter_type in [sessions_metas.meta_type.USERANONYMOUSID, + sessions_metas.meta_type.USERANONYMOUSID_IOS]: + constraints.append(f"sessions.user_anonymous_id = %({f['key']}_{i})s") + elif filter_type in [sessions_metas.meta_type.REVID, sessions_metas.meta_type.REVID_IOS]: + constraints.append(f"sessions.rev_id = %({f['key']}_{i})s") + return constraints + + +SESSIONS_META_FIELDS = {"revId": "rev_id", + "country": "user_country", + "os": "user_os", + "platform": "user_device_type", + "device": "user_device", + "browser": "user_browser"} + + +@dev.timed +def get_processed_sessions(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), + density=7, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, + chart=True, data=args) + with pg_client.PostgresClient() as cur: + pg_query = f"""\ + SELECT generated_timestamp AS timestamp, + COALESCE(COUNT(sessions), 0) AS count + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( SELECT 1 + FROM public.sessions + WHERE {" AND ".join(pg_sub_query_chart)} + ) AS sessions ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp;""" + params = {"step_size": step_size, "project_id": project_id, "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)} + cur.execute(cur.mogrify(pg_query, params)) + rows = cur.fetchall() + results = { + "count": sum([r["count"] for r in rows]), + "chart": rows + } + + diff = endTimestamp - startTimestamp + endTimestamp = startTimestamp + startTimestamp = endTimestamp - diff + + pg_query = f"""\ + SELECT COUNT(sessions.session_id) AS count + FROM public.sessions + WHERE {" AND ".join(pg_sub_query)};""" + params = {"project_id": project_id, "startTimestamp": startTimestamp, "endTimestamp": endTimestamp, + **__get_constraint_values(args)} + + cur.execute(cur.mogrify(pg_query, params)) + + count = cur.fetchone()["count"] + + results["countProgress"] = helper.__progress(old_val=count, new_val=results["count"]) + + return results + + +@dev.timed +def get_errors(project_id, startTimestamp=TimeUTC.now(delta_days=-1), endTimestamp=TimeUTC.now(), + density=7, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query.append("m_errors.source = 'js_exception'") + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, + chart=True, data=args) + pg_sub_query_chart.append("m_errors.source = 'js_exception'") + + with pg_client.PostgresClient() as cur: + pg_query = f"""\ + SELECT generated_timestamp AS timestamp, + COALESCE(COUNT(sessions), 0) AS count + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( SELECT DISTINCT session_id + FROM events.errors + INNER JOIN public.errors AS m_errors USING(error_id) + INNER JOIN public.sessions USING(session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + ) AS sessions ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp;""" + params = {"step_size": step_size, "project_id": project_id, "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)} + cur.execute(cur.mogrify(pg_query, params)) + rows = cur.fetchall() + results = { + "count": 0 if len(rows) == 0 else __count_distinct_errors(cur, project_id, startTimestamp, endTimestamp, + pg_sub_query), + "impactedSessions": sum([r["count"] for r in rows]), + "chart": rows + } + + diff = endTimestamp - startTimestamp + endTimestamp = startTimestamp + startTimestamp = endTimestamp - diff + count = __count_distinct_errors(cur, project_id, startTimestamp, endTimestamp, pg_sub_query, **args) + results["progress"] = helper.__progress(old_val=count, new_val=results["count"]) + return results + + +def __count_distinct_errors(cur, project_id, startTimestamp, endTimestamp, pg_sub_query, **args): + pg_query = f"""\ + SELECT COALESCE(COUNT(DISTINCT errors.error_id),0) AS count + FROM events.errors + INNER JOIN public.errors AS m_errors USING(error_id) + INNER JOIN public.sessions USING(session_id) + WHERE {" AND ".join(pg_sub_query)};""" + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)})) + return cur.fetchone()["count"] + + +@dev.timed +def get_errors_trend(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), + density=7, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query.append("m_errors.project_id = %(project_id)s") + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, chart=True, duration=False, + project=False, main_table="errors", time_column="timestamp", data=args) + pg_sub_query_chart.append("error_id = errors_details.error_id") + + with pg_client.PostgresClient() as cur: + pg_query = f""" + SELECT * + FROM (SELECT errors.error_id AS error_id, + m_errors.message AS error, + COUNT(errors.session_id) AS count, + COUNT(DISTINCT errors.session_id) AS sessions_count + FROM events.errors + INNER JOIN public.errors AS m_errors USING (error_id) + INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + GROUP BY errors.error_id, m_errors.message + ORDER BY sessions_count DESC, count DESC + LIMIT 10) AS errors_details + INNER JOIN LATERAL (SELECT MAX(timestamp) AS last_occurrence_at, + MIN(timestamp) AS first_occurrence_at + FROM events.errors + WHERE error_id = errors_details.error_id + GROUP BY error_id) AS errors_time ON (TRUE) + INNER JOIN LATERAL (SELECT jsonb_agg(chart) AS chart + FROM (SELECT generated_timestamp AS timestamp, COALESCE(COUNT(sessions), 0) AS count + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( SELECT DISTINCT session_id + FROM events.errors + WHERE {" AND ".join(pg_sub_query_chart)}) AS sessions + ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp) AS chart) AS chart ON (TRUE);""" + params = {"step_size": step_size, "project_id": project_id, "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)} + cur.execute(cur.mogrify(pg_query, params)) + rows = cur.fetchall() + + for i in range(len(rows)): + rows[i] = helper.dict_to_camel_case(rows[i]) + rows[i]["sessions"] = rows[i].pop("sessionsCount") + rows[i]["error_id"] = rows[i]["errorId"] + rows[i]["startTimestamp"] = startTimestamp + rows[i]["endTimestamp"] = endTimestamp + + return rows + + +@dev.timed +def get_page_metrics(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), **args): + with pg_client.PostgresClient() as cur: + rows = __get_page_metrics(cur, project_id, startTimestamp, endTimestamp, **args) + if len(rows) > 0: + results = helper.dict_to_camel_case(rows[0]) + diff = endTimestamp - startTimestamp + endTimestamp = startTimestamp + startTimestamp = endTimestamp - diff + rows = __get_page_metrics(cur, project_id, startTimestamp, endTimestamp, **args) + if len(rows) > 0: + previous = helper.dict_to_camel_case(rows[0]) + for key in previous.keys(): + results[key + "Progress"] = helper.__progress(old_val=previous[key], new_val=results[key]) + return results + + +def __get_page_metrics(cur, project_id, startTimestamp, endTimestamp, **args): + pg_sub_query = __get_constraints(project_id=project_id, data=args) + + pg_query = f"""\ + SELECT + COALESCE(AVG(NULLIF(pages.dom_content_loaded_time ,0)),0) AS avg_dom_content_load_start, + COALESCE(AVG(NULLIF(pages.first_contentful_paint_time,0)),0) AS avg_first_contentful_pixel + FROM events.pages INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)};""" + params = {"project_id": project_id, "startTimestamp": startTimestamp, "endTimestamp": endTimestamp, + **__get_constraint_values(args)} + cur.execute(cur.mogrify(pg_query, params)) + rows = cur.fetchall() + return rows + + +@dev.timed +def get_application_activity(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), **args): + with pg_client.PostgresClient() as cur: + row = __get_application_activity(cur, project_id, startTimestamp, endTimestamp, **args) + results = helper.dict_to_camel_case(row) + diff = endTimestamp - startTimestamp + endTimestamp = startTimestamp + startTimestamp = endTimestamp - diff + row = __get_application_activity(cur, project_id, startTimestamp, endTimestamp, **args) + previous = helper.dict_to_camel_case(row) + for key in previous.keys(): + results[key + "Progress"] = helper.__progress(old_val=previous[key], new_val=results[key]) + return results + + +def __get_application_activity(cur, project_id, startTimestamp, endTimestamp, **args): + result = {} + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query.append("pages.load_time > 0") + pg_query = f"""\ + SELECT COALESCE(AVG(pages.load_time) ,0) AS avg_page_load_time + FROM events.pages INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)};""" + params = {"project_id": project_id, "startTimestamp": startTimestamp, "endTimestamp": endTimestamp, + **__get_constraint_values(args)} + + cur.execute(cur.mogrify(pg_query, params)) + row = cur.fetchone() + result = {**result, **row} + + pg_sub_query[-1] = "resources.duration > 0" + pg_sub_query.append("resources.type= %(type)s") + pg_query = f"""\ + SELECT COALESCE(AVG(resources.duration),0) AS avg + FROM events.resources INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)};""" + + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, "type": 'img', "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)})) + row = cur.fetchone() + result = {**result, "avg_image_load_time": row["avg"]} + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, "type": 'fetch', "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)})) + + row = cur.fetchone() + result = {**result, "avg_request_load_time": row["avg"]} + + return result + + +@dev.timed +def get_user_activity(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), **args): + with pg_client.PostgresClient() as cur: + row = __get_user_activity(cur, project_id, startTimestamp, endTimestamp, **args) + results = helper.dict_to_camel_case(row) + diff = endTimestamp - startTimestamp + endTimestamp = startTimestamp + startTimestamp = endTimestamp - diff + row = __get_user_activity(cur, project_id, startTimestamp, endTimestamp, **args) + + previous = helper.dict_to_camel_case(row) + for key in previous: + results[key + "Progress"] = helper.__progress(old_val=previous[key], new_val=results[key]) + return results + + +def __get_user_activity(cur, project_id, startTimestamp, endTimestamp, **args): + pg_sub_query = __get_constraints(project_id=project_id, data=args) + + pg_query = f"""\ + SELECT COALESCE(CEIL(AVG(NULLIF(sessions.pages_count,0))),0) AS avg_visited_pages, + COALESCE(AVG(NULLIF(sessions.duration,0)),0) AS avg_session_duration + FROM public.sessions + WHERE {" AND ".join(pg_sub_query)};""" + params = {"project_id": project_id, "startTimestamp": startTimestamp, "endTimestamp": endTimestamp, + **__get_constraint_values(args)} + + cur.execute(cur.mogrify(pg_query, params)) + row = cur.fetchone() + return row + + +@dev.timed +def get_slowest_images(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), + density=7, **args): + step_size = __get_step_size(endTimestamp=endTimestamp, startTimestamp=startTimestamp, density=density, factor=1) + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query.append("resources.type = 'img'") + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, + chart=True, data=args) + pg_sub_query_chart.append("resources.type = 'img'") + pg_sub_query_chart.append("resources.url = %(url)s") + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT resources.url, + COALESCE(AVG(NULLIF(resources.duration,0)),0) AS avg_duration, + COUNT(resources.session_id) AS sessions_count + FROM events.resources INNER JOIN sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + GROUP BY resources.url + ORDER BY avg_duration DESC LIMIT 10;""" + + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)})) + rows = cur.fetchall() + urls = [row["url"] for row in rows] + + charts = {} + for url in urls: + pg_query = f"""SELECT generated_timestamp AS timestamp, + COALESCE(AVG(duration), 0) AS avg_duration + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( SELECT resources.duration + FROM events.resources INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + ) AS sessions ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp;""" + params = {"step_size": step_size, "project_id": project_id, "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, "url": url, **__get_constraint_values(args)} + cur.execute(cur.mogrify(pg_query, params)) + r = cur.fetchall() + charts[url] = helper.list_to_camel_case(r) + for i in range(len(rows)): + rows[i]["sessions"] = rows[i].pop("sessions_count") + rows[i] = helper.dict_to_camel_case(rows[i]) + rows[i]["chart"] = charts[rows[i]["url"]] + + return sorted(rows, key=lambda k: k["sessions"], reverse=True) + + +@dev.timed +def __get_performance_constraint(l): + if len(l) == 0: + return "" + l = [s.decode('UTF-8').replace("%", "%%") for s in l] + return f"AND ({' OR '.join(l)})" + + +@dev.timed +def get_performance(project_id, startTimestamp=TimeUTC.now(delta_days=-1), endTimestamp=TimeUTC.now(), + density=19, resources=None, **args): + step_size = __get_step_size(endTimestamp=endTimestamp, startTimestamp=startTimestamp, density=density, factor=1) + location_constraints = [] + img_constraints = [] + request_constraints = [] + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, + chart=True, data=args) + + img_constraints_vals = {} + location_constraints_vals = {} + request_constraints_vals = {} + + if resources and len(resources) > 0: + for r in resources: + if r["type"] == "IMG": + img_constraints.append(f"resources.url = %(val_{len(img_constraints)})s") + img_constraints_vals["val_" + str(len(img_constraints) - 1)] = r['value'] + elif r["type"] == "LOCATION": + location_constraints.append(f"pages.path = %(val_{len(location_constraints)})s") + location_constraints_vals["val_" + str(len(location_constraints) - 1)] = r['value'] + else: + request_constraints.append(f"resources.url = %(val_{len(request_constraints)})s") + request_constraints_vals["val_" + str(len(request_constraints) - 1)] = r['value'] + params = {"step_size": step_size, "project_id": project_id, "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp} + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT + generated_timestamp AS timestamp, + COALESCE(AVG(NULLIF(resources.duration,0)),0) AS avg_image_load_time + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( + SELECT resources.duration + FROM events.resources INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + AND resources.type = 'img' + {(f' AND ({" OR ".join(img_constraints)})') if len(img_constraints) > 0 else ""} + ) AS resources ON (TRUE) + GROUP BY timestamp + ORDER BY timestamp;""" + cur.execute(cur.mogrify(pg_query, {**params, **img_constraints_vals, **__get_constraint_values(args)})) + rows = cur.fetchall() + images = helper.list_to_camel_case(rows) + pg_query = f"""SELECT + generated_timestamp AS timestamp, + COALESCE(AVG(NULLIF(resources.duration,0)),0) AS avg_request_load_time + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( + SELECT resources.duration + FROM events.resources INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + AND resources.type = 'fetch' + {(f' AND ({" OR ".join(request_constraints)})') if len(request_constraints) > 0 else ""} + ) AS resources ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp;""" + cur.execute(cur.mogrify(pg_query, {**params, **request_constraints_vals, **__get_constraint_values(args)})) + rows = cur.fetchall() + requests = helper.list_to_camel_case(rows) + + pg_query = f"""SELECT + generated_timestamp AS timestamp, + COALESCE(AVG(NULLIF(pages.load_time ,0)),0) AS avg_page_load_time + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( SELECT pages.load_time + FROM events.pages INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + {(f' AND ({" OR ".join(location_constraints)})') if len(location_constraints) > 0 else ""} + ) AS pages ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp;""" + + cur.execute(cur.mogrify(pg_query, {**params, **location_constraints_vals, **__get_constraint_values(args)})) + rows = cur.fetchall() + pages = helper.list_to_camel_case(rows) + + rows = helper.merge_lists_by_key(helper.merge_lists_by_key(pages, requests, "timestamp"), images, "timestamp") + + return {"chart": rows} + + +RESOURCS_TYPE_TO_DB_TYPE = { + "img": "IMG", + "fetch": "REQUEST", + "stylesheet": "STYLESHEET", + "script": "SCRIPT", + "other": "OTHER", + "media": "MEDIA" +} + + +def __get_resource_type_from_db_type(db_type): + db_type = db_type.lower() + return RESOURCS_TYPE_TO_DB_TYPE.get(db_type, db_type) + + +def __get_resource_db_type_from_type(resource_type): + resource_type = resource_type.upper() + return {v: k for k, v in RESOURCS_TYPE_TO_DB_TYPE.items()}.get(resource_type, resource_type) + + +@dev.timed +def search(text, resource_type, project_id, performance=False, pages_only=False, events_only=False, + metadata=False, key=None, platform=None): + if not resource_type: + data = [] + if metadata: + resource_type = "METADATA" + elif pages_only or performance: + resource_type = "LOCATION" + else: + resource_type = "ALL" + data.extend(search(text=text, resource_type=resource_type, project_id=project_id, + performance=performance, pages_only=pages_only, events_only=events_only, key=key, + platform=platform)) + return data + + pg_sub_query = __get_constraints(project_id=project_id, time_constraint=False, duration=True, + data={} if platform is None else {"platform": platform}) + + if resource_type == "ALL" and not pages_only and not events_only: + pg_sub_query.append("url_hostpath ILIKE %(value)s") + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT key, value + FROM ( SELECT DISTINCT ON (url) ROW_NUMBER() OVER (PARTITION BY type ORDER BY url) AS r, + url AS value, + type AS key + FROM events.resources INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + ORDER BY url, type ASC) AS ranked_values + WHERE ranked_values.r<=5;""" + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, "value": helper.string_to_sql_like(text)})) + rows = cur.fetchall() + rows = [{"value": i["value"], "type": __get_resource_type_from_db_type(i["key"])} for i in rows] + elif resource_type == "ALL" and events_only: + with pg_client.PostgresClient() as cur: + pg_query = f"""(SELECT DISTINCT label AS value, 'INPUT' AS key + FROM events.inputs INNER JOIN public.sessions USING(session_id) + WHERE {" AND ".join(pg_sub_query)} AND positionUTF8(lowerUTF8(label), %(value)s) != 0 + LIMIT 10) + UNION ALL + (SELECT DISTINCT label AS value, 'CLICK' AS key + FROM events.clicks INNER JOIN public.sessions USING(session_id) + WHERE {" AND ".join(pg_sub_query)} AND positionUTF8(lowerUTF8(label), %(value)s) != 0 + LIMIT 10) + UNION ALL + (SELECT DISTINCT path AS value, 'LOCATION' AS key + FROM events.pages INNER JOIN public.sessions USING(session_id) + WHERE {" AND ".join(pg_sub_query)} AND positionUTF8(url_path, %(value)s) != 0 + LIMIT 10);""" + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, + "value": helper.string_to_sql_like(text.lower()), + "platform_0": platform})) + rows = cur.fetchall() + rows = [{"value": i["value"], "type": i["key"]} for i in rows] + elif resource_type in ['IMG', 'REQUEST', 'STYLESHEET', 'OTHER', 'SCRIPT'] and not pages_only: + pg_sub_query.append("url_hostpath ILIKE %(value)s") + pg_sub_query.append(f"resources.type = '{__get_resource_db_type_from_type(resource_type)}'") + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT + DISTINCT url_hostpath AS value, + %(resource_type)s AS type + FROM events.resources INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + LIMIT 10;""" + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, + "value": helper.string_to_sql_like(text), + "resource_type": resource_type, + "platform_0": platform})) + rows = cur.fetchall() + elif resource_type == 'LOCATION': + with pg_client.PostgresClient() as cur: + pg_sub_query.append("path ILIKE %(value)s") + pg_query = f"""SELECT + DISTINCT path AS value, + 'LOCATION' AS type + FROM events.pages INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + LIMIT 10;""" + print(cur.mogrify(pg_query, {"project_id": project_id, + "value": helper.string_to_sql_like(text), + "platform_0": platform})) + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, + "value": helper.string_to_sql_like(text), + "platform_0": platform})) + rows = cur.fetchall() + elif resource_type == "INPUT": + with pg_client.PostgresClient() as cur: + pg_sub_query.append("label ILIKE %(value)s") + pg_query = f"""SELECT DISTINCT label AS value, 'INPUT' AS type + FROM events.inputs INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + LIMIT 10;""" + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, + "value": helper.string_to_sql_like(text), + "platform_0": platform})) + rows = cur.fetchall() + elif resource_type == "CLICK": + with pg_client.PostgresClient() as cur: + pg_sub_query.append("label ILIKE %(value)s") + pg_query = f"""SELECT DISTINCT label AS value, 'CLICK' AS key + FROM events.clicks INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + LIMIT 10;""" + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, + "value": helper.string_to_sql_like(text), + "platform_0": platform})) + rows = cur.fetchall() + elif resource_type == "METADATA": + if key and len(key) > 0 and key in {**METADATA_FIELDS, **SESSIONS_META_FIELDS}.keys(): + if key in METADATA_FIELDS.keys(): + column = METADATA_FIELDS[key] + pg_sub_query.append(f"{METADATA_FIELDS[key]} ILIKE %(value)s") + else: + column = SESSIONS_META_FIELDS[key] + pg_sub_query.append(f"{SESSIONS_META_FIELDS[key]} ILIKE %(value)s") + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT DISTINCT {column} AS value, + %(key)s AS key + FROM sessions + WHERE {" AND ".join(pg_sub_query)} + LIMIT 10;""" + cur.execute(cur.mogrify(pg_query, + {"project_id": project_id, "value": helper.string_to_sql_like(text), "key": key, + "platform_0": platform})) + rows = cur.fetchall() + else: + with pg_client.PostgresClient() as cur: + pg_query = [] + for k in METADATA_FIELDS.keys(): + pg_query.append(f"""(SELECT DISTINCT sessions.{METADATA_FIELDS[k]} AS value, + '{k}' AS key + FROM public.sessions + WHERE {" AND ".join(pg_sub_query)} + AND {METADATA_FIELDS[k]} ILIKE %(value)s + LIMIT 10)""") + for k in SESSIONS_META_FIELDS.keys(): + if k in ["platform", "country"]: + continue + pg_query.append(f"""(SELECT DISTINCT sessions.{SESSIONS_META_FIELDS[k]} AS value, + '{k}' AS key + FROM sessions + WHERE {" AND ".join(pg_sub_query)} + AND sessions.{SESSIONS_META_FIELDS[k]} ILIKE %(value)s + LIMIT 10)""") + pg_query = " UNION ALL ".join(pg_query) + cur.execute(cur.mogrify(pg_query, + {"project_id": project_id, "value": helper.string_to_sql_like(text), + "key": key, + "platform_0": platform})) + rows = cur.fetchall() + else: + return [] + return [helper.dict_to_camel_case(row) for row in rows] + + +@dev.timed +def get_missing_resources_trend(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), + density=7, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, chart=True, data=args) + pg_sub_query.append("resources.success = FALSE") + pg_sub_query_chart.append("resources.success = FALSE") + pg_sub_query.append("resources.type != 'fetch'") + pg_sub_query_chart.append("resources.type != 'fetch'") + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT + resources.url_hostpath AS url, + COUNT(resources.session_id) AS sessions + FROM events.resources INNER JOIN sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + GROUP BY url_hostpath + ORDER BY sessions DESC + LIMIT 10;""" + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)})) + + rows = cur.fetchall() + # rows = [{"url": i["key"], "sessions": i["doc_count"]} for i in rows] + if len(rows) == 0: + return [] + pg_sub_query.append("resources.url_hostpath = %(value)s") + pg_query = f"""SELECT generated_timestamp AS timestamp, + COUNT(resources.session_id) AS count, + MAX(resources.timestamp) AS max_datatime + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( SELECT resources.session_id, + resources.timestamp + FROM events.resources INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + ) AS resources ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp;""" + for e in rows: + e["startedAt"] = startTimestamp + e["startTimestamp"] = startTimestamp + e["endTimestamp"] = endTimestamp + + cur.execute(cur.mogrify(pg_query, {"step_size": step_size, "project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, + "value": e["url"], + **__get_constraint_values(args)})) + r = cur.fetchall() + e["endedAt"] = r[-1]["max_datatime"] + e["chart"] = [{"timestamp": i["timestamp"], "count": i["count"]} for i in r] + return rows + + +@dev.timed +def get_network(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), + density=7, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, + chart=True, data=args) + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT generated_timestamp AS timestamp, + resources.url_hostpath, + COUNT(resources.session_id) AS doc_count + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( SELECT resources.session_id, + resources.url_hostpath + FROM events.resources INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + ) AS resources ON (TRUE) + GROUP BY generated_timestamp, resources.url_hostpath + ORDER BY generated_timestamp;""" + cur.execute(cur.mogrify(pg_query, {"step_size": step_size, "project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)})) + r = cur.fetchall() + results = [] + + i = 0 + while i < len(r): + results.append({"timestamp": r[i]["timestamp"], "domains": []}) + i += 1 + while i < len(r) and r[i]["timestamp"] == results[-1]["timestamp"]: + results[-1]["domains"].append({r[i]["url_hostpath"]: r[i]["doc_count"]}) + i += 1 + + return {"startTimestamp": startTimestamp, "endTimestamp": endTimestamp, "chart": results} + + +KEYS = { + 'startTimestamp': args_transformer.int_arg, + 'endTimestamp': args_transformer.int_arg, + 'density': args_transformer.int_arg, + 'performanceDensity': args_transformer.int_arg, + 'platform': args_transformer.string +} + + +def dashboard_args(params): + args = {} + if params is not None: + for key in params.keys(): + if key in KEYS.keys(): + args[key] = KEYS[key](params.get(key)) + return args + + +@dev.timed +def get_resources_loading_time(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), + density=19, type=None, url=None, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, + chart=True, data=args) + if type is not None: + pg_sub_query.append(f"resources.type = '{__get_resource_db_type_from_type(type)}'") + pg_sub_query_chart.append(f"resources.type = '{__get_resource_db_type_from_type(type)}'") + if url is not None: + pg_sub_query.append(f"resources.url = %(value)s") + pg_sub_query_chart.append(f"resources.url = %(value)s") + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT generated_timestamp AS timestamp, + COALESCE(AVG(NULLIF(resources.duration,0)),0) AS avg + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( SELECT resources.duration + FROM events.resources INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + ) AS resources ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp;""" + params = {"step_size": step_size, "project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, + "value": url, "type": type, **__get_constraint_values(args)} + cur.execute(cur.mogrify(pg_query, params)) + rows = cur.fetchall() + if len(rows) > 0: + pg_query = f"""SELECT COALESCE(AVG(NULLIF(resources.duration,0)),0) AS avg + FROM events.resources INNER JOIN sessions USING(session_id) + WHERE {" AND ".join(pg_sub_query)};""" + cur.execute(cur.mogrify(pg_query, params)) + avg = cur.fetchone()["avg"] + else: + avg = 0 + return {"avg": avg, "chart": rows} + + +@dev.timed +def get_pages_dom_build_time(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), density=19, url=None, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, + chart=True, data=args) + if url is not None: + pg_sub_query.append(f"pages.path = %(value)s") + pg_sub_query_chart.append(f"pages.path = %(value)s") + pg_sub_query.append("pages.dom_building_time>0") + pg_sub_query_chart.append("pages.dom_building_time>0") + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT COALESCE(avg, 0) AS avg, chart + FROM (SELECT AVG(dom_building_time) + FROM public.sessions + INNER JOIN events.pages USING (session_id) + WHERE {" AND ".join(pg_sub_query)}) AS avg + LEFT JOIN + (SELECT jsonb_agg(chart) AS chart + FROM ( + SELECT generated_timestamp AS timestamp, + COALESCE(AVG(dom_building_time), 0) AS avg + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( SELECT pages.dom_building_time + FROM public.sessions + INNER JOIN events.pages USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + ) AS sessionsBD ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp) AS chart) AS chart ON (TRUE);""" + params = {"step_size": step_size, "project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, + "value": url, **__get_constraint_values(args)} + + cur.execute(cur.mogrify(pg_query, params)) + row = cur.fetchone() + return row + + +@dev.timed +def get_slowest_resources(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), type="all", density=19, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, + chart=True, data=args) + + if type is not None and type.upper() != "ALL": + sq = f"resources.type = '{__get_resource_db_type_from_type(type.upper())}'" + else: + sq = "resources.type != 'fetch'" + pg_sub_query.append(sq) + pg_sub_query_chart.append(sq) + pg_sub_query_chart.append("resources.duration IS NOT NULL") + pg_sub_query_chart.append("resources.duration>0") + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT * + FROM (SELECT regexp_replace(resources.url_hostpath, '^.*/', '') AS name, + AVG(NULLIF(resources.duration, 0)) AS avg + FROM events.resources + INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + GROUP BY name + ORDER BY avg DESC + LIMIT 10) AS main_list + INNER JOIN LATERAL ( + SELECT url, type + FROM events.resources + INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + AND resources.url_hostpath ILIKE '%%' || main_list.name + ORDER BY resources.duration DESC + LIMIT 1 + ) AS resource_details ON (TRUE) + INNER JOIN LATERAL ( + SELECT JSONB_AGG(chart_details) AS chart + FROM ( + SELECT generated_timestamp AS timestamp, + COALESCE(AVG(resources.duration), 0) AS avg + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( + SELECT resources.duration + FROM events.resources + INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + AND resources.url_hostpath ILIKE '%%' || main_list.name + ) AS resources ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp + ) AS chart_details + ) AS chart_details ON (TRUE);""" + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, + "step_size": step_size, + **__get_constraint_values(args)})) + rows = cur.fetchall() + for r in rows: + r["type"] = __get_resource_type_from_db_type(r["type"]) + return rows + + +@dev.timed +def get_sessions_location(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), **args): + pg_sub_query = __get_constraints(project_id=project_id, data=args) + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT user_country, COUNT(session_id) AS count + FROM public.sessions + WHERE {" AND ".join(pg_sub_query)} + GROUP BY user_country + ORDER BY user_country;""" + cur.execute(cur.mogrify(pg_query, + {"project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)})) + rows = cur.fetchall() + return {"count": sum(i["count"] for i in rows), "chart": helper.list_to_camel_case(rows)} + + +@dev.timed +def get_speed_index_location(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), **args): + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query.append("pages.speed_index IS NOT NULL") + pg_sub_query.append("pages.speed_index>0") + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT sessions.user_country, AVG(pages.speed_index) AS avg + FROM events.pages INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + GROUP BY sessions.user_country + ORDER BY avg,sessions.user_country;""" + params = {"project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)} + cur.execute(cur.mogrify(pg_query, params)) + rows = cur.fetchall() + if len(rows) > 0: + pg_query = f"""SELECT AVG(pages.speed_index) AS avg + FROM events.pages INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)};""" + cur.execute(cur.mogrify(pg_query, params)) + avg = cur.fetchone()["avg"] + else: + avg = 0 + return {"avg": avg, "chart": helper.list_to_camel_case(rows)} + + +@dev.timed +def get_pages_response_time(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), density=7, url=None, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query.append("pages.response_time IS NOT NULL") + pg_sub_query.append("pages.response_time>0") + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, chart=True, + data=args) + pg_sub_query_chart.append("pages.response_time IS NOT NULL") + pg_sub_query_chart.append("pages.response_time>0") + + if url is not None: + pg_sub_query_chart.append(f"url = %(value)s") + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT generated_timestamp AS timestamp, + COALESCE(AVG(pages.response_time),0) AS avg + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( + SELECT response_time + FROM events.pages INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + ) AS pages ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp;""" + params = {"step_size": step_size, + "project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, + "value": url, **__get_constraint_values(args)} + cur.execute(cur.mogrify(pg_query, params)) + rows = cur.fetchall() + pg_query = f"""SELECT COALESCE(AVG(pages.response_time),0) AS avg + FROM events.pages INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)};""" + cur.execute(cur.mogrify(pg_query, params)) + avg = cur.fetchone()["avg"] + return {"avg": avg, "chart": rows} + + +@dev.timed +def get_pages_response_time_distribution(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), density=20, **args): + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query.append("pages.response_time IS NOT NULL") + pg_sub_query.append("pages.response_time>0") + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT pages.response_time AS response_time, + COUNT(pages.session_id) AS count + FROM events.pages INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + GROUP BY response_time + ORDER BY pages.response_time;""" + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)})) + rows = cur.fetchall() + pg_query = f"""SELECT COALESCE(AVG(pages.response_time),0) AS avg + FROM events.pages INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)};""" + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)})) + avg = cur.fetchone()["avg"] + quantiles_keys = [50, 90, 95, 99] + pg_query = f"""SELECT pages.response_time AS value + FROM events.pages INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)};""" + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)})) + response_times = cur.fetchall() + response_times = [i["value"] for i in response_times] + if len(response_times) > 0: + quantiles = __quantiles(a=response_times, + q=[i / 100 for i in quantiles_keys], + interpolation='higher') + else: + quantiles = [0 for i in range(len(quantiles_keys))] + result = { + "avg": avg, + "total": sum(r["count"] for r in rows), + "chart": [], + "percentiles": [{ + "percentile": float(v), + "responseTime": int(quantiles[i]) + } for i, v in enumerate(quantiles_keys) + ], + "extremeValues": [{"count": 0}] + } + rows = helper.list_to_camel_case(rows) + _99 = result["percentiles"][-1]["responseTime"] + extreme_values_first_index = -1 + for i, r in enumerate(rows): + if r["responseTime"] > _99: + extreme_values_first_index = i + break + + if extreme_values_first_index >= 0: + extreme_values_first_index += 1 + result["extremeValues"][0]["count"] = sum(r["count"] for r in rows[extreme_values_first_index:]) + rows = rows[:extreme_values_first_index] + + # ------- Merge points to reduce chart length till density + if density < len(quantiles_keys): + density = len(quantiles_keys) + + while len(rows) > density: + true_length = len(rows) + rows_partitions = [] + offset = 0 + for p in result["percentiles"]: + rows_partitions.append([]) + for r in rows[offset:]: + if r["responseTime"] < p["responseTime"]: + rows_partitions[-1].append(r) + offset += 1 + else: + break + rows_partitions.append(rows[offset:]) + + largest_partition = 0 + for i in range(len(rows_partitions)): + if len(rows_partitions[i]) > len(rows_partitions[largest_partition]): + largest_partition = i + + if len(rows_partitions[largest_partition]) <= 2: + break + # computing lowest merge diff + diff = rows[-1]["responseTime"] + for i in range(1, len(rows_partitions[largest_partition]) - 1, 1): + v1 = rows_partitions[largest_partition][i] + v2 = rows_partitions[largest_partition][i + 1] + if (v2["responseTime"] - v1["responseTime"]) < diff: + diff = v2["responseTime"] - v1["responseTime"] + + i = 1 + while i < len(rows_partitions[largest_partition]) - 1 and true_length > density - 1: + v1 = rows_partitions[largest_partition][i] + v2 = rows_partitions[largest_partition][i + 1] + if (v2["responseTime"] - v1["responseTime"]) == diff: + rows_partitions[largest_partition][i]["count"] += v2["count"] + rows_partitions[largest_partition][i]["responseTime"] = v2["responseTime"] + del rows_partitions[largest_partition][i + 1] + true_length -= 1 + else: + i += 1 + + rows = [r for rp in rows_partitions for r in rp] + + if extreme_values_first_index == len(rows): + rows.append({"count": 0, "responseTime": rows[-1]["responseTime"] + 10}) + + result["chart"] = rows + return result + + +@dev.timed +def get_busiest_time_of_day(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), **args): + pg_sub_query = __get_constraints(project_id=project_id, data=args) + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT + (EXTRACT(HOUR FROM TO_TIMESTAMP(sessions.start_ts))::INTEGER / 2) * 2 AS hour, + COUNT(sessions.session_id) AS count + FROM public.sessions + WHERE {" AND ".join(pg_sub_query)} + GROUP BY hour + ORDER BY hour ASC;""" + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)})) + rows = cur.fetchall() + return rows + + +@dev.timed +def get_top_metrics(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), value=None, **args): + pg_sub_query = __get_constraints(project_id=project_id, data=args) + + if value is not None: + pg_sub_query.append("pages.path = %(value)s") + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT (SELECT COALESCE(AVG(pages.response_time),0) FROM events.pages INNER JOIN public.sessions USING (session_id) WHERE {" AND ".join(pg_sub_query)} AND pages.response_time IS NOT NULL AND pages.response_time>0) AS avg_response_time, + (SELECT COUNT(pages.session_id) FROM events.pages INNER JOIN public.sessions USING (session_id) WHERE {" AND ".join(pg_sub_query)}) AS count_requests, + (SELECT COALESCE(AVG(pages.first_paint_time),0) FROM events.pages INNER JOIN public.sessions USING (session_id) WHERE {" AND ".join(pg_sub_query)} AND pages.first_paint_time IS NOT NULL AND pages.first_paint_time>0) AS avg_first_paint, + (SELECT COALESCE(AVG(pages.dom_content_loaded_time),0) FROM events.pages INNER JOIN public.sessions USING (session_id) WHERE {" AND ".join(pg_sub_query)} AND pages.dom_content_loaded_time IS NOT NULL AND pages.dom_content_loaded_time>0) AS avg_dom_content_loaded, + (SELECT COALESCE(AVG(pages.ttfb),0) FROM events.pages INNER JOIN public.sessions USING (session_id) WHERE {" AND ".join(pg_sub_query)} AND pages.ttfb IS NOT NULL AND pages.ttfb>0) AS avg_till_first_bit, + (SELECT COALESCE(AVG(pages.time_to_interactive),0) FROM events.pages INNER JOIN public.sessions USING (session_id) WHERE {" AND ".join(pg_sub_query)} AND pages.time_to_interactive IS NOT NULL AND pages.time_to_interactive >0) AS avg_time_to_interactive;""" + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, + "value": value, **__get_constraint_values(args)})) + row = cur.fetchone() + return helper.dict_to_camel_case(row) + + +@dev.timed +def get_time_to_render(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), density=7, url=None, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, + chart=True, + data=args) + pg_sub_query.append("pages.visually_complete>0") + pg_sub_query_chart.append("pages.visually_complete>0") + if url is not None: + pg_sub_query_chart.append("pages.path = %(value)s") + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT COALESCE(avg,0) AS avg, chart + FROM (SELECT AVG(pages.visually_complete) + FROM events.pages INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)}) AS avg + LEFT JOIN + (SELECT jsonb_agg(chart) AS chart + FROM (SELECT generated_timestamp AS timestamp, + COALESCE(AVG(visually_complete), 0) AS avg + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( SELECT pages.visually_complete + FROM events.pages INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + ) AS pages ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp) AS chart) AS chart ON(TRUE);""" + params = {"step_size": step_size, + "project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, "value": url, **__get_constraint_values(args)} + cur.execute(cur.mogrify(pg_query, params)) + row = cur.fetchone() + return row + + +@dev.timed +def get_impacted_sessions_by_slow_pages(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), value=None, density=7, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, chart=True, + data=args) + pg_sub_query.append("pages.response_time IS NOT NULL") + pg_sub_query_chart.append("pages.response_time IS NOT NULL") + pg_sub_query.append("pages.response_time>0") + pg_sub_query_chart.append("pages.response_time>0") + if value is not None: + pg_sub_query.append("pages.path = %(value)s") + pg_sub_query_chart.append("pages.path = %(value)s") + pg_sub_query_chart.append("avg_response_time>0") + pg_sub_query_chart.append("pages.response_time>avg_response_time*2") + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT generated_timestamp AS timestamp, + COUNT(pages.session_id) AS count + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN ( SELECT AVG(pages.response_time) AS avg_response_time + FROM events.pages INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + ) AS avg_response_time ON (avg_response_time>0) + LEFT JOIN LATERAL ( SELECT DISTINCT pages.session_id + FROM events.pages INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + ) AS pages ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp;""" + cur.execute(cur.mogrify(pg_query, {"step_size": step_size, + "project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, + "value": value, **__get_constraint_values(args)})) + rows = cur.fetchall() + return rows + + +@dev.timed +def get_memory_consumption(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), density=7, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, + chart=True, data=args) + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT generated_timestamp AS timestamp, + COALESCE(AVG(performance.avg_used_js_heap_size),0) AS avg_used_js_heap_size + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( + SELECT avg_used_js_heap_size + FROM events.performance INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + ) AS performance ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp ASC;""" + params = {"step_size": step_size, + "project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)} + cur.execute(cur.mogrify(pg_query, params)) + rows = cur.fetchall() + pg_query = f"""SELECT COALESCE(AVG(performance.avg_used_js_heap_size),0) AS avg + FROM events.performance INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)};""" + cur.execute(cur.mogrify(pg_query, params)) + avg = cur.fetchone()["avg"] + return {"avgUsedJsHeapSize": avg, "chart": helper.list_to_camel_case(rows)} + + +@dev.timed +def get_avg_cpu(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), density=7, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, + chart=True, data=args) + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT generated_timestamp AS timestamp, + COALESCE(AVG(performance.avg_cpu),0) AS avg_cpu + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( + SELECT avg_cpu + FROM events.performance INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + ) AS performance ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp ASC;""" + params = {"step_size": step_size, + "project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)} + cur.execute(cur.mogrify(pg_query, params)) + rows = cur.fetchall() + pg_query = f"""SELECT COALESCE(AVG(performance.avg_cpu),0) AS avg + FROM events.performance INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)};""" + cur.execute(cur.mogrify(pg_query, params)) + avg = cur.fetchone()["avg"] + return {"avgCpu": avg, "chart": helper.list_to_camel_case(rows)} + + +@dev.timed +def get_avg_fps(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), density=7, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, + chart=True, data=args) + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT generated_timestamp AS timestamp, + COALESCE(AVG(NULLIF(performance.avg_fps,0)),0) AS avg_fps + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( + SELECT avg_fps + FROM events.performance INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + ) AS performance ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp ASC;""" + params = {"step_size": step_size, + "project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)} + cur.execute(cur.mogrify(pg_query, params)) + rows = cur.fetchall() + pg_query = f"""SELECT COALESCE(AVG(NULLIF(performance.avg_fps,0)),0) AS avg + FROM events.performance INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)};""" + cur.execute(cur.mogrify(pg_query, params)) + avg = cur.fetchone()["avg"] + return {"avgFps": avg, "chart": helper.list_to_camel_case(rows)} + + +@dev.timed +def get_crashes(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), density=7, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query.append("m_issues.type = 'crash'") + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, + chart=True, data=args) + pg_sub_query_chart.append("m_issues.type = 'crash'") + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT generated_timestamp AS timestamp, + COUNT(sessions) AS count + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( + SELECT sessions.session_id + FROM public.sessions + INNER JOIN events_common.issues USING (session_id) + INNER JOIN public.issues AS m_issues USING (issue_id) + WHERE {" AND ".join(pg_sub_query_chart)} + ) AS sessions ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp;""" + cur.execute(cur.mogrify(pg_query, {"step_size": step_size, + "project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, + **__get_constraint_values(args)})) + rows = cur.fetchall() + pg_query = f"""SELECT b.user_browser AS browser, + sum(bv.count) AS total, + JSONB_AGG(bv) AS versions + FROM ( + SELECT sessions.user_browser + FROM public.sessions + INNER JOIN events_common.issues USING (session_id) + INNER JOIN public.issues AS m_issues USING (issue_id) + WHERE {" AND ".join(pg_sub_query)} + GROUP BY sessions.user_browser + ORDER BY COUNT(sessions.session_id) DESC + LIMIT 3 + ) AS b + INNER JOIN LATERAL + ( + SELECT sessions.user_browser_version AS version, + COUNT(sessions.session_id) AS count + FROM sessions + INNER JOIN events_common.issues USING (session_id) + INNER JOIN public.issues AS m_issues USING (issue_id) + WHERE {" AND ".join(pg_sub_query)} + AND sessions.user_browser = b.user_browser + GROUP BY sessions.user_browser_version + ORDER BY count DESC + ) AS bv ON (TRUE) + GROUP BY b.user_browser + ORDER BY b.user_browser;""" + cur.execute(cur.mogrify(pg_query, {"step_size": step_size, + "project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, + **__get_constraint_values(args)})) + browsers = cur.fetchall() + total = sum(r["total"] for r in browsers) + for r in browsers: + r["percentage"] = r["total"] / (total / 100) + versions = [] + for v in r["versions"][:3]: + versions.append({v["version"]: v["count"] / (r["total"] / 100)}) + r["versions"] = versions + + return {"chart": rows, "browsers": browsers} + + +def __get_neutral(rows, add_All_if_empty=True): + neutral = {l: 0 for l in [i for k in [list(v.keys()) for v in rows] for i in k]} + if add_All_if_empty and len(neutral.keys()) == 0: + neutral = {"All": 0} + return neutral + + +def __merge_rows_with_neutral(rows, neutral): + for i in range(len(rows)): + rows[i] = {**neutral, **rows[i]} + return rows + + +@dev.timed +def get_domains_errors(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), density=6, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, chart=True, + data=args) + pg_sub_query_chart.append("resources.status/100 = %(status_code)s") + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT generated_timestamp AS timestamp, + COALESCE(JSONB_AGG(resources) FILTER ( WHERE resources IS NOT NULL ), '[]'::JSONB) AS keys + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( SELECT resources.url_host, COUNT(resources.session_id) AS count + FROM events.resources INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + GROUP BY url_host + ORDER BY count DESC + LIMIT 5 + ) AS resources ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp;""" + params = {"project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, + "step_size": step_size, + "status_code": 4, **__get_constraint_values(args)} + cur.execute(cur.mogrify(pg_query, params)) + rows = cur.fetchall() + rows = __nested_array_to_dict_array(rows) + neutral = __get_neutral(rows) + rows = __merge_rows_with_neutral(rows, neutral) + + result = {"4xx": rows} + params["status_code"] = 5 + cur.execute(cur.mogrify(pg_query, params)) + rows = cur.fetchall() + rows = __nested_array_to_dict_array(rows) + neutral = __get_neutral(rows) + rows = __merge_rows_with_neutral(rows, neutral) + result["5xx"] = rows + return result + + +@dev.timed +def get_domains_errors_4xx(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), density=6, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, chart=True, + data=args) + pg_sub_query_chart.append("resources.status/100 = %(status_code)s") + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT generated_timestamp AS timestamp, + COALESCE(JSONB_AGG(resources) FILTER ( WHERE resources IS NOT NULL ), '[]'::JSONB) AS keys + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( SELECT resources.url_host, COUNT(resources.session_id) AS count + FROM events.resources INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + GROUP BY url_host + ORDER BY count DESC + LIMIT 5 + ) AS resources ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp;""" + params = {"project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, + "step_size": step_size, + "status_code": 4, **__get_constraint_values(args)} + cur.execute(cur.mogrify(pg_query, params)) + rows = cur.fetchall() + rows = __nested_array_to_dict_array(rows) + neutral = __get_neutral(rows) + rows = __merge_rows_with_neutral(rows, neutral) + + return rows + + +@dev.timed +def get_domains_errors_5xx(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), density=6, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, chart=True, + data=args) + pg_sub_query_chart.append("resources.status/100 = %(status_code)s") + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT generated_timestamp AS timestamp, + COALESCE(JSONB_AGG(resources) FILTER ( WHERE resources IS NOT NULL ), '[]'::JSONB) AS keys + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( SELECT resources.url_host, COUNT(resources.session_id) AS count + FROM events.resources INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + GROUP BY url_host + ORDER BY count DESC + LIMIT 5 + ) AS resources ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp;""" + params = {"project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, + "step_size": step_size, + "status_code": 5, **__get_constraint_values(args)} + cur.execute(cur.mogrify(pg_query, params)) + rows = cur.fetchall() + rows = __nested_array_to_dict_array(rows) + neutral = __get_neutral(rows) + rows = __merge_rows_with_neutral(rows, neutral) + + return rows + + +def __nested_array_to_dict_array(rows, key="url_host", value="count"): + for r in rows: + for i in range(len(r["keys"])): + r[r["keys"][i][key]] = r["keys"][i][value] + r.pop("keys") + return rows + + +@dev.timed +def get_slowest_domains(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), **args): + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query.append("resources.duration IS NOT NULL") + pg_sub_query.append("resources.duration>0") + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT + resources.url_host AS domain, + AVG(resources.duration) AS avg + FROM events.resources INNER JOIN sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + GROUP BY resources.url_host + ORDER BY avg DESC + LIMIT 5;""" + params = {"project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)} + cur.execute(cur.mogrify(pg_query, params)) + rows = cur.fetchall() + if len(rows) > 0: + pg_query = f"""SELECT AVG(resources.duration) AS avg + FROM events.resources INNER JOIN sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)};""" + cur.execute(cur.mogrify(pg_query, params)) + avg = cur.fetchone()["avg"] + else: + avg = 0 + return {"avg": avg, "partition": rows} + + +@dev.timed +def get_errors_per_domains(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), **args): + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query.append("resources.success = FALSE") + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT + resources.url_host AS domain, + COUNT(resources.session_id) AS errors_count + FROM events.resources INNER JOIN sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + GROUP BY resources.url_host + ORDER BY errors_count DESC + LIMIT 10;""" + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)})) + rows = cur.fetchall() + return helper.list_to_camel_case(rows) + + +@dev.timed +def get_sessions_per_browser(project_id, startTimestamp=TimeUTC.now(delta_days=-1), endTimestamp=TimeUTC.now(), + platform=None, **args): + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query2 = pg_sub_query[:] + pg_sub_query2.append("sessions.user_browser = b.user_browser") + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT b.user_browser AS browser, + b.count, + jsonb_agg(bv) AS versions + FROM ( + SELECT sessions.user_browser, + COUNT(sessions.session_id) AS count + FROM sessions + WHERE {" AND ".join(pg_sub_query)} + GROUP BY sessions.user_browser + ORDER BY count DESC + LIMIT 3 + ) AS b + INNER JOIN LATERAL + ( + SELECT sessions.user_browser_version, + COUNT(sessions.session_id) AS count + FROM public.sessions + WHERE {" AND ".join(pg_sub_query2)} + GROUP BY sessions.user_browser, + sessions.user_browser_version + ORDER BY count DESC + LIMIT 3 + ) AS bv ON (TRUE) + GROUP BY b.user_browser, b.count + ORDER BY b.count DESC;""" + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)})) + rows = cur.fetchall() + for r in rows: + for j in r["versions"]: + r[j["user_browser_version"]] = j["count"] + r.pop("versions") + return {"count": sum(i["count"] for i in rows), "chart": rows} + + +@dev.timed +def get_calls_errors(project_id, startTimestamp=TimeUTC.now(delta_days=-1), endTimestamp=TimeUTC.now(), + platform=None, **args): + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query.append("resources.type = 'fetch'") + pg_sub_query.append("resources.status/100 != 2") + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT resources.method, + resources.url_hostpath, + COUNT(resources.session_id) AS all_requests, + SUM(CASE WHEN resources.status/100 = 4 THEN 1 ELSE 0 END) AS _4xx, + SUM(CASE WHEN resources.status/100 = 5 THEN 1 ELSE 0 END) AS _5xx + FROM events.resources INNER JOIN sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + GROUP BY resources.method, resources.url_hostpath + ORDER BY (4 + 5), 3 DESC + LIMIT 50;""" + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)})) + rows = cur.fetchall() + return helper.list_to_camel_case(rows) + + +@dev.timed +def get_calls_errors_4xx(project_id, startTimestamp=TimeUTC.now(delta_days=-1), endTimestamp=TimeUTC.now(), + platform=None, **args): + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query.append("resources.type = 'fetch'") + pg_sub_query.append("resources.status/100 = 4") + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT resources.method, + resources.url_hostpath, + COUNT(resources.session_id) AS all_requests + FROM events.resources INNER JOIN sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + GROUP BY resources.method, resources.url_hostpath + ORDER BY all_requests DESC + LIMIT 10;""" + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)})) + rows = cur.fetchall() + return helper.list_to_camel_case(rows) + + +@dev.timed +def get_calls_errors_5xx(project_id, startTimestamp=TimeUTC.now(delta_days=-1), endTimestamp=TimeUTC.now(), + platform=None, **args): + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query.append("resources.type = 'fetch'") + pg_sub_query.append("resources.status/100 = 5") + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT resources.method, + resources.url_hostpath, + COUNT(resources.session_id) AS all_requests + FROM events.resources INNER JOIN sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + GROUP BY resources.method, resources.url_hostpath + ORDER BY all_requests DESC + LIMIT 10;""" + cur.execute(cur.mogrify(pg_query, {"project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)})) + rows = cur.fetchall() + return helper.list_to_camel_case(rows) + + +@dev.timed +def get_errors_per_type(project_id, startTimestamp=TimeUTC.now(delta_days=-1), endTimestamp=TimeUTC.now(), + platform=None, density=7, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, + chart=True, data=args) + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT generated_timestamp AS timestamp, + COALESCE(SUM(CASE WHEN type = 'fetch' AND status / 100 = 4 THEN 1 ELSE 0 END), 0) AS _4xx, + COALESCE(SUM(CASE WHEN type = 'fetch' AND status / 100 = 5 THEN 1 ELSE 0 END), 0) AS _5xx, + COALESCE(SUM(CASE WHEN type = 'js_exception' THEN 1 ELSE 0 END), 0) AS js, + COALESCE(SUM(CASE WHEN type != 'fetch' AND type != 'js_exception' THEN 1 ELSE 0 END), 0) AS integrations + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ((SELECT status, 'fetch' AS type + FROM events.resources + INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + AND resources.timestamp >= %(startTimestamp)s - %(step_size)s + AND resources.timestamp < %(endTimestamp)s + %(step_size)s + AND resources.type = 'fetch' + AND resources.status > 200) + UNION ALL + (SELECT 0 AS status, m_errors.source::text AS type + FROM events.errors + INNER JOIN public.errors AS m_errors USING (error_id) + INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + AND errors.timestamp >= %(startTimestamp)s - %(step_size)s + AND errors.timestamp < %(endTimestamp)s + %(step_size)s) + ) AS errors_partition ON (TRUE) + GROUP BY timestamp + ORDER BY timestamp;""" + params = {"step_size": step_size, + "project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)} + cur.execute(cur.mogrify(pg_query, params)) + rows = cur.fetchall() + rows = helper.list_to_camel_case(rows) + return rows + + +@dev.timed +def resource_type_vs_response_end(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), density=7, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, + chart=True, data=args) + + params = {"step_size": step_size, + "project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)} + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT generated_timestamp AS timestamp, + COUNT(resources.session_id) AS total, + SUM(CASE WHEN resources.type='fetch' THEN 1 ELSE 0 END) AS xhr + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL (SELECT resources.session_id, resources.type + FROM events.resources INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)}) AS resources ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp;""" + cur.execute(cur.mogrify(pg_query, params)) + actions = cur.fetchall() + pg_sub_query_chart.append("pages.response_end IS NOT NULL") + pg_sub_query_chart.append("pages.response_end>0") + pg_query = f"""SELECT generated_timestamp AS timestamp, + COALESCE(AVG(pages.response_end),0) AS avg_response_end + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL (SELECT pages.response_end + FROM events.pages INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)}) AS pages ON(TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp;""" + cur.execute(cur.mogrify(pg_query, params)) + response_end = cur.fetchall() + return helper.list_to_camel_case(__merge_charts(response_end, actions)) + + +@dev.timed +def get_impacted_sessions_by_js_errors(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), density=7, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query = __get_constraints(project_id=project_id, data=args) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, + chart=True, data=args) + pg_sub_query.append("m_errors.source = 'js_exception'") + pg_sub_query.append("m_errors.project_id = %(project_id)s") + pg_sub_query.append("errors.timestamp >= %(startTimestamp)s") + pg_sub_query.append("errors.timestamp < %(endTimestamp)s") + pg_sub_query_chart.append("m_errors.source = 'js_exception'") + pg_sub_query_chart.append("m_errors.project_id = %(project_id)s") + pg_sub_query_chart.append("errors.timestamp >= generated_timestamp") + pg_sub_query_chart.append("errors.timestamp < generated_timestamp+ %(step_size)s") + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT * + FROM (SELECT COUNT(DISTINCT errors.session_id) AS sessions_count + FROM events.errors + INNER JOIN public.errors AS m_errors USING (error_id) + INNER JOIN public.sessions USING(session_id) + WHERE {" AND ".join(pg_sub_query)}) AS counts + LEFT JOIN + (SELECT jsonb_agg(chart) AS chart + FROM(SELECT generated_timestamp AS timestamp, + COALESCE(COUNT(session_id), 0) AS sessions_count + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( SELECT DISTINCT errors.session_id + FROM events.errors + INNER JOIN public.errors AS m_errors USING (error_id) + INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + ) AS sessions ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp) AS chart) AS chart ON(TRUE);""" + cur.execute(cur.mogrify(pg_query, {"step_size": step_size, + "project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, + **__get_constraint_values(args)})) + row_sessions = cur.fetchone() + pg_query = f"""SELECT * + FROM (SELECT COUNT(DISTINCT errors.error_id) AS errors_count + FROM events.errors + INNER JOIN public.errors AS m_errors USING (error_id) + INNER JOIN public.sessions USING(session_id) + WHERE {" AND ".join(pg_sub_query)}) AS counts + LEFT JOIN + (SELECT jsonb_agg(chart) AS chart + FROM(SELECT generated_timestamp AS timestamp, + COALESCE(COUNT(error_id), 0) AS errors_count + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL ( SELECT DISTINCT errors.error_id + FROM events.errors + INNER JOIN public.errors AS m_errors USING (error_id) + INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + ) AS errors ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp) AS chart) AS chart ON(TRUE);""" + cur.execute(cur.mogrify(pg_query, {"step_size": step_size, + "project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, + **__get_constraint_values(args)})) + row_errors = cur.fetchone() + chart = __merge_charts(row_sessions.pop("chart"), row_errors.pop("chart")) + row_sessions = helper.dict_to_camel_case(row_sessions) + row_errors = helper.dict_to_camel_case(row_errors) + return {**row_sessions, **row_errors, "chart": chart} + + +@dev.timed +def get_resources_vs_visually_complete(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), density=7, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, + chart=True, data=args) + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT generated_timestamp AS timestamp, + COALESCE(jsonb_agg(resources_avg_count_by_type) + FILTER ( WHERE resources_avg_count_by_type IS NOT NULL ), '[]'::jsonb) AS types, + COALESCE(AVG(total_count), 0) AS avg_count_resources, + COALESCE(AVG(avg_time_to_render), 0) AS avg_time_to_render + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL (SELECT resources_count_by_session_by_type.type, + avg(resources_count_by_session_by_type.count) AS avg_count, + sum(resources_count_by_session_by_type.count) AS total_count + FROM (SELECT resources.type, COUNT(resources.url) AS count + FROM events.resources + INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + GROUP BY resources.session_id, resources.type) AS resources_count_by_session_by_type + GROUP BY resources_count_by_session_by_type.type) AS resources_avg_count_by_type ON (TRUE) + LEFT JOIN LATERAL (SELECT AVG(visually_complete) AS avg_time_to_render + FROM events.pages + INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + AND pages.visually_complete > 0) AS time_to_render ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp;""" + cur.execute(cur.mogrify(pg_query, {"step_size": step_size, + "project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)})) + rows = cur.fetchall() + for r in rows: + r["types"] = {t["type"]: t["avg_count"] for t in r["types"]} + + return helper.list_to_camel_case(rows) + + +@dev.timed +def get_resources_count_by_type(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), density=7, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, + chart=True, data=args) + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT generated_timestamp AS timestamp, + COALESCE(JSONB_AGG(t) FILTER (WHERE t IS NOT NULL), '[]'::JSONB) AS types + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL (SELECT resources.type, COUNT(resources.session_id) AS count + FROM events.resources INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + GROUP BY resources.type + ) AS t ON(TRUE) + GROUP BY timestamp + ORDER BY timestamp;""" + cur.execute(cur.mogrify(pg_query, {"step_size": step_size, + "project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)})) + rows = cur.fetchall() + for r in rows: + for t in r["types"]: + r[t["type"]] = t["count"] + r.pop("types") + rows = __merge_rows_with_neutral(rows, {k: 0 for k in RESOURCS_TYPE_TO_DB_TYPE.keys()}) + return rows + + +@dev.timed +def get_resources_by_party(project_id, startTimestamp=TimeUTC.now(delta_days=-1), + endTimestamp=TimeUTC.now(), density=7, **args): + step_size = __get_step_size(startTimestamp, endTimestamp, density, factor=1) + pg_sub_query_chart = __get_constraints(project_id=project_id, time_constraint=True, chart=True, + data=args) + pg_sub_query_chart.append("resources.success = FALSE") + pg_sub_query = ["sessions.project_id =%(project_id)s", "rs.type IN ('fetch','script')"] + + with pg_client.PostgresClient() as cur: + pg_query = f"""SELECT generated_timestamp AS timestamp, + SUM(CASE WHEN first.url_host = sub_resources.url_host THEN 1 ELSE 0 END) AS first_party, + SUM(CASE WHEN first.url_host != sub_resources.url_host THEN 1 ELSE 0 END) AS third_party + FROM generate_series(%(startTimestamp)s, %(endTimestamp)s, %(step_size)s) AS generated_timestamp + LEFT JOIN ( + SELECT resources.url_host, + COUNT(resources.session_id) AS count + FROM events.resources + INNER JOIN public.sessions USING (session_id) + WHERE sessions.project_id = '1' + AND resources.type IN ('fetch', 'script') + AND sessions.start_ts > (EXTRACT(EPOCH FROM now() - INTERVAL '31 days') * 1000)::BIGINT + AND resources.timestamp > (EXTRACT(EPOCH FROM now() - INTERVAL '31 days') * 1000)::BIGINT + GROUP BY resources.url_host + ORDER BY count DESC + LIMIT 1 + ) AS first ON (TRUE) + LEFT JOIN LATERAL ( + SELECT resources.url_host + FROM events.resources + INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + ) AS sub_resources ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp;""" + cur.execute(cur.mogrify(pg_query, {"step_size": step_size, + "project_id": project_id, + "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp, **__get_constraint_values(args)})) + rows = cur.fetchall() + return rows diff --git a/api/chalicelib/core/errors.py b/api/chalicelib/core/errors.py new file mode 100644 index 000000000..10ad52f59 --- /dev/null +++ b/api/chalicelib/core/errors.py @@ -0,0 +1,777 @@ +import json + +from chalicelib.utils import pg_client, helper, dev +from chalicelib.core import sourcemaps, sessions +from chalicelib.utils.TimeUTC import TimeUTC +from chalicelib.utils.metrics_helper import __get_step_size + + +def get(error_id, family=False): + if family: + return get_batch([error_id]) + with pg_client.PostgresClient() as cur: + query = cur.mogrify( + "SELECT * FROM events.errors AS e INNER JOIN public.errors AS re USING(error_id) WHERE error_id = %(error_id)s;", + {"error_id": error_id}) + cur.execute(query=query) + result = cur.fetchone() + if result is not None: + result["stacktrace_parsed_at"] = TimeUTC.datetime_to_timestamp(result["stacktrace_parsed_at"]) + return helper.dict_to_camel_case(result) + + +def get_batch(error_ids): + if len(error_ids) == 0: + return [] + with pg_client.PostgresClient() as cur: + query = cur.mogrify( + """ + WITH RECURSIVE error_family AS ( + SELECT * + FROM public.errors + WHERE error_id IN %(error_ids)s + UNION + SELECT child_errors.* + FROM public.errors AS child_errors + INNER JOIN error_family ON error_family.error_id = child_errors.parent_error_id OR error_family.parent_error_id = child_errors.error_id + ) + SELECT * + FROM error_family;""", + {"error_ids": tuple(error_ids)}) + cur.execute(query=query) + return helper.list_to_camel_case(cur.fetchall()) + + +def __flatten_sort_key_count_version(data, merge_nested=False): + if data is None: + return [] + return sorted( + [ + { + "name": f'{o["name"]}@{v["version"]}', + "count": v["count"] + } for o in data for v in o["partition"] + ], + key=lambda o: o["count"], reverse=True) if merge_nested else \ + [ + { + "name": o["name"], + "count": o["count"], + } for o in data + ] + + +def __process_tags(row): + return [ + {"name": "browser", "partitions": __flatten_sort_key_count_version(data=row.get("browsers_partition"))}, + {"name": "browser.ver", + "partitions": __flatten_sort_key_count_version(data=row.pop("browsers_partition"), merge_nested=True)}, + {"name": "OS", "partitions": __flatten_sort_key_count_version(data=row.get("os_partition"))}, + {"name": "OS.ver", + "partitions": __flatten_sort_key_count_version(data=row.pop("os_partition"), merge_nested=True)}, + {"name": "device.family", "partitions": __flatten_sort_key_count_version(data=row.get("device_partition"))}, + {"name": "device", + "partitions": __flatten_sort_key_count_version(data=row.pop("device_partition"), merge_nested=True)}, + {"name": "country", "partitions": row.pop("country_partition")} + ] + + +def get_details(project_id, error_id, user_id, **data): + pg_sub_query24 = __get_basic_constraints(time_constraint=False, chart=True, step_size_name="step_size24") + pg_sub_query24.append("error_id = %(error_id)s") + pg_sub_query30 = __get_basic_constraints(time_constraint=False, chart=True, step_size_name="step_size30") + pg_sub_query30.append("error_id = %(error_id)s") + pg_basic_query = __get_basic_constraints(time_constraint=False) + pg_basic_query.append("error_id = %(error_id)s") + with pg_client.PostgresClient() as cur: + data["startDate24"] = TimeUTC.now(-1) + data["endDate24"] = TimeUTC.now() + data["startDate30"] = TimeUTC.now(-30) + data["endDate30"] = TimeUTC.now() + density24 = int(data.get("density24", 24)) + step_size24 = __get_step_size(data["startDate24"], data["endDate24"], density24, factor=1) + density30 = int(data.get("density30", 30)) + step_size30 = __get_step_size(data["startDate30"], data["endDate30"], density30, factor=1) + params = { + "startDate24": data['startDate24'], + "endDate24": data['endDate24'], + "startDate30": data['startDate30'], + "endDate30": data['endDate30'], + "project_id": project_id, + "userId": user_id, + "step_size24": step_size24, + "step_size30": step_size30, + "error_id": error_id} + + main_pg_query = f"""\ + SELECT error_id, + name, + message, + users, + sessions, + last_occurrence, + first_occurrence, + last_session_id, + browsers_partition, + os_partition, + device_partition, + country_partition, + chart24, + chart30 + FROM (SELECT error_id, + name, + message, + COUNT(DISTINCT user_uuid) AS users, + COUNT(DISTINCT session_id) AS sessions + FROM public.errors + INNER JOIN events.errors AS s_errors USING (error_id) + INNER JOIN public.sessions USING (session_id) + WHERE error_id = %(error_id)s + GROUP BY error_id, name, message) AS details + INNER JOIN (SELECT error_id, + MAX(timestamp) AS last_occurrence, + MIN(timestamp) AS first_occurrence + FROM events.errors + WHERE error_id = %(error_id)s + GROUP BY error_id) AS time_details USING (error_id) + INNER JOIN (SELECT error_id, + session_id AS last_session_id, + user_os, + user_os_version, + user_browser, + user_browser_version, + user_device, + user_device_type, + user_uuid + FROM events.errors INNER JOIN public.sessions USING (session_id) + WHERE error_id = %(error_id)s + ORDER BY errors.timestamp DESC + LIMIT 1) AS last_session_details USING (error_id) + INNER JOIN (SELECT jsonb_agg(browser_details) AS browsers_partition + FROM (SELECT * + FROM (SELECT user_browser AS name, + COUNT(session_id) AS count + FROM events.errors + INNER JOIN sessions USING (session_id) + WHERE {" AND ".join(pg_basic_query)} + GROUP BY user_browser + ORDER BY count DESC) AS count_per_browser_query + INNER JOIN LATERAL (SELECT JSONB_AGG(version_details) AS partition + FROM (SELECT user_browser_version AS version, + COUNT(session_id) AS count + FROM events.errors INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_basic_query)} + AND sessions.user_browser = count_per_browser_query.name + GROUP BY user_browser_version + ORDER BY count DESC) AS version_details + ) AS browser_version_details ON (TRUE)) AS browser_details) AS browser_details ON (TRUE) + INNER JOIN (SELECT jsonb_agg(os_details) AS os_partition + FROM (SELECT * + FROM (SELECT user_os AS name, + COUNT(session_id) AS count + FROM events.errors INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_basic_query)} + GROUP BY user_os + ORDER BY count DESC) AS count_per_os_details + INNER JOIN LATERAL (SELECT jsonb_agg(count_per_version_details) AS partition + FROM (SELECT COALESCE(user_os_version,'unknown') AS version, COUNT(session_id) AS count + FROM events.errors INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_basic_query)} + AND sessions.user_os = count_per_os_details.name + GROUP BY user_os_version + ORDER BY count DESC) AS count_per_version_details + GROUP BY count_per_os_details.name ) AS os_version_details + ON (TRUE)) AS os_details) AS os_details ON (TRUE) + INNER JOIN (SELECT jsonb_agg(device_details) AS device_partition + FROM (SELECT * + FROM (SELECT user_device_type AS name, + COUNT(session_id) AS count + FROM events.errors INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_basic_query)} + GROUP BY user_device_type + ORDER BY count DESC) AS count_per_device_details + INNER JOIN LATERAL (SELECT jsonb_agg(count_per_device_v_details) AS partition + FROM (SELECT CASE + WHEN user_device = '' OR user_device ISNULL + THEN 'unknown' + ELSE user_device END AS version, + COUNT(session_id) AS count + FROM events.errors INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_basic_query)} + AND sessions.user_device_type = count_per_device_details.name + GROUP BY user_device + ORDER BY count DESC) AS count_per_device_v_details + GROUP BY count_per_device_details.name ) AS device_version_details + ON (TRUE)) AS device_details) AS device_details ON (TRUE) + INNER JOIN (SELECT jsonb_agg(count_per_country_details) AS country_partition + FROM (SELECT user_country AS name, + COUNT(session_id) AS count + FROM events.errors INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_basic_query)} + GROUP BY user_country + ORDER BY count DESC) AS count_per_country_details) AS country_details ON (TRUE) + INNER JOIN (SELECT jsonb_agg(chart_details) AS chart24 + FROM (SELECT generated_timestamp AS timestamp, + COUNT(session_id) AS count + FROM generate_series(%(startDate24)s, %(endDate24)s, %(step_size24)s) AS generated_timestamp + LEFT JOIN LATERAL (SELECT DISTINCT session_id + FROM events.errors + INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query24)} + ) AS chart_details ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp) AS chart_details) AS chart_details24 ON (TRUE) + INNER JOIN (SELECT jsonb_agg(chart_details) AS chart30 + FROM (SELECT generated_timestamp AS timestamp, + COUNT(session_id) AS count + FROM generate_series(%(startDate30)s, %(endDate30)s, %(step_size30)s) AS generated_timestamp + LEFT JOIN LATERAL (SELECT DISTINCT session_id + FROM events.errors INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query30)}) AS chart_details + ON (TRUE) + GROUP BY timestamp + ORDER BY timestamp) AS chart_details) AS chart_details30 ON (TRUE); + """ + + # print("--------------------") + # print(cur.mogrify(main_pg_query, params)) + # print("--------------------") + cur.execute(cur.mogrify(main_pg_query, params)) + row = cur.fetchone() + if row is None: + return {"errors": ["error doesn't exist"]} + row["tags"] = __process_tags(row) + + query = cur.mogrify( + f"""SELECT error_id, status, session_id, start_ts, + parent_error_id,session_id, user_anonymous_id, + user_id, user_uuid, user_browser, user_browser_version, + user_os, user_os_version, user_device, payload, + COALESCE((SELECT TRUE + FROM public.user_favorite_errors AS fe + WHERE pe.error_id = fe.error_id + AND fe.user_id = %(user_id)s), FALSE) AS favorite, + True AS viewed + FROM public.errors AS pe + INNER JOIN events.errors AS ee USING (error_id) + INNER JOIN public.sessions USING (session_id) + WHERE pe.project_id = %(project_id)s + AND error_id = %(error_id)s + ORDER BY start_ts DESC + LIMIT 1;""", + {"project_id": project_id, "error_id": error_id, "user_id": user_id}) + cur.execute(query=query) + status = cur.fetchone() + + if status is not None: + row["stack"] = format_first_stack_frame(status).pop("stack") + row["status"] = status.pop("status") + row["parent_error_id"] = status.pop("parent_error_id") + row["favorite"] = status.pop("favorite") + row["viewed"] = status.pop("viewed") + row["last_hydrated_session"] = status + else: + row["stack"] = [] + row["last_hydrated_session"] = None + row["status"] = "untracked" + row["parent_error_id"] = None + row["favorite"] = False + row["viewed"] = False + return {"data": helper.dict_to_camel_case(row)} + + +def get_details_chart(project_id, error_id, user_id, **data): + pg_sub_query = __get_basic_constraints() + pg_sub_query.append("error_id = %(error_id)s") + pg_sub_query_chart = __get_basic_constraints(time_constraint=False, chart=True) + pg_sub_query_chart.append("error_id = %(error_id)s") + with pg_client.PostgresClient() as cur: + if data.get("startDate") is None: + data["startDate"] = TimeUTC.now(-7) + else: + data["startDate"] = int(data["startDate"]) + if data.get("endDate") is None: + data["endDate"] = TimeUTC.now() + else: + data["endDate"] = int(data["endDate"]) + density = int(data.get("density", 7)) + step_size = __get_step_size(data["startDate"], data["endDate"], density, factor=1) + params = { + "startDate": data['startDate'], + "endDate": data['endDate'], + "project_id": project_id, + "userId": user_id, + "step_size": step_size, + "error_id": error_id} + + main_pg_query = f"""\ + SELECT %(error_id)s AS error_id, + browsers_partition, + os_partition, + device_partition, + country_partition, + chart + FROM (SELECT jsonb_agg(browser_details) AS browsers_partition + FROM (SELECT * + FROM (SELECT user_browser AS name, + COUNT(session_id) AS count + FROM events.errors INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + GROUP BY user_browser + ORDER BY count DESC) AS count_per_browser_query + INNER JOIN LATERAL (SELECT jsonb_agg(count_per_version_details) AS partition + FROM (SELECT user_browser_version AS version, + COUNT(session_id) AS count + FROM events.errors INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + AND user_browser = count_per_browser_query.name + GROUP BY user_browser_version + ORDER BY count DESC) AS count_per_version_details) AS browesr_version_details + ON (TRUE)) AS browser_details) AS browser_details + INNER JOIN (SELECT jsonb_agg(os_details) AS os_partition + FROM (SELECT * + FROM (SELECT user_os AS name, + COUNT(session_id) AS count + FROM events.errors INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + GROUP BY user_os + ORDER BY count DESC) AS count_per_os_details + INNER JOIN LATERAL (SELECT jsonb_agg(count_per_version_query) AS partition + FROM (SELECT COALESCE(user_os_version, 'unknown') AS version, + COUNT(session_id) AS count + FROM events.errors INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + AND user_os = count_per_os_details.name + GROUP BY user_os_version + ORDER BY count DESC) AS count_per_version_query + ) AS os_version_query ON (TRUE)) AS os_details) AS os_details ON (TRUE) + INNER JOIN (SELECT jsonb_agg(device_details) AS device_partition + FROM (SELECT * + FROM (SELECT user_device_type AS name, + COUNT(session_id) AS count + FROM events.errors INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + GROUP BY user_device_type + ORDER BY count DESC) AS count_per_device_details + INNER JOIN LATERAL (SELECT jsonb_agg(count_per_device_details) AS partition + FROM (SELECT CASE + WHEN user_device = '' OR user_device ISNULL + THEN 'unknown' + ELSE user_device END AS version, + COUNT(session_id) AS count + FROM events.errors INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + AND user_device_type = count_per_device_details.name + GROUP BY user_device_type, user_device + ORDER BY count DESC) AS count_per_device_details + ) AS device_version_details ON (TRUE)) AS device_details) AS device_details ON (TRUE) + INNER JOIN (SELECT jsonb_agg(count_per_country_details) AS country_partition + FROM (SELECT user_country AS name, + COUNT(session_id) AS count + FROM events.errors INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + GROUP BY user_country + ORDER BY count DESC) AS count_per_country_details) AS country_details ON (TRUE) + INNER JOIN (SELECT jsonb_agg(chart_details) AS chart + FROM (SELECT generated_timestamp AS timestamp, + COUNT(session_id) AS count + FROM generate_series(%(startDate)s, %(endDate)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL (SELECT DISTINCT session_id + FROM events.errors + INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query_chart)} + ) AS chart_details ON (TRUE) + GROUP BY generated_timestamp + ORDER BY generated_timestamp) AS chart_details) AS chart_details ON (TRUE);""" + + cur.execute(cur.mogrify(main_pg_query, params)) + row = cur.fetchone() + if row is None: + return {"errors": ["error doesn't exist"]} + row["tags"] = __process_tags(row) + return {"data": helper.dict_to_camel_case(row)} + + +def __get_basic_constraints(platform=None, time_constraint=True, startTime_arg_name="startDate", + endTime_arg_name="endDate", chart=False, step_size_name="step_size", + project_key="project_id"): + ch_sub_query = [f"{project_key} =%(project_id)s"] + if time_constraint: + ch_sub_query += [f"timestamp >= %({startTime_arg_name})s", + f"timestamp < %({endTime_arg_name})s"] + if chart: + ch_sub_query += [f"timestamp >= generated_timestamp", + f"timestamp < generated_timestamp + %({step_size_name})s"] + if platform == 'mobile': + ch_sub_query.append("user_device_type = 'mobile'") + elif platform == 'desktop': + ch_sub_query.append("user_device_type = 'desktop'") + return ch_sub_query + + +def __get_sort_key(key): + return { + "datetime": "max_datetime", + "lastOccurrence": "max_datetime", + "firstOccurrence": "min_datetime" + }.get(key, 'max_datetime') + + +@dev.timed +def search(data, project_id, user_id, flows=False, status="ALL", favorite_only=False): + status = status.upper() + if status.lower() not in ['all', 'unresolved', 'resolved', 'ignored']: + return {"errors": ["invalid error status"]} + pg_sub_query = __get_basic_constraints(data.get('platform'), project_key="sessions.project_id") + pg_sub_query += ["sessions.start_ts>=%(startDate)s", "sessions.start_ts<%(endDate)s", "source ='js_exception'", + "pe.project_id=%(project_id)s"] + pg_sub_query_chart = __get_basic_constraints(data.get('platform'), time_constraint=False, chart=True) + pg_sub_query_chart.append("source ='js_exception'") + pg_sub_query_chart.append("errors.error_id =details.error_id") + statuses = [] + error_ids = None + if data.get("startDate") is None: + data["startDate"] = TimeUTC.now(-30) + if data.get("endDate") is None: + data["endDate"] = TimeUTC.now(1) + if len(data.get("events", [])) > 0 or len(data.get("filters", [])) > 0 or status != "ALL" or favorite_only: + statuses = sessions.search2_pg(data=data, project_id=project_id, user_id=user_id, errors_only=True, + error_status=status, favorite_only=favorite_only) + if len(statuses) == 0: + return {"data": { + 'total': 0, + 'errors': [] + }} + error_ids = [e["error_id"] for e in statuses] + with pg_client.PostgresClient() as cur: + if data.get("startDate") is None: + data["startDate"] = TimeUTC.now(-7) + if data.get("endDate") is None: + data["endDate"] = TimeUTC.now() + density = data.get("density", 7) + step_size = __get_step_size(data["startDate"], data["endDate"], density, factor=1) + sort = __get_sort_key('datetime') + if data.get("sort") is not None: + sort = __get_sort_key(data["sort"]) + order = "DESC" + if data.get("order") is not None: + order = data["order"] + + params = { + "startDate": data['startDate'], + "endDate": data['endDate'], + "project_id": project_id, + "userId": user_id, + "step_size": step_size} + if error_ids is not None: + params["error_ids"] = tuple(error_ids) + pg_sub_query.append("error_id IN %(error_ids)s") + main_pg_query = f"""\ + SELECT error_id, + name, + message, + users, + sessions, + last_occurrence, + first_occurrence, + chart + FROM (SELECT error_id, + name, + message, + COUNT(DISTINCT user_uuid) AS users, + COUNT(DISTINCT session_id) AS sessions, + MAX(timestamp) AS max_datetime, + MIN(timestamp) AS min_datetime + FROM events.errors + INNER JOIN public.errors AS pe USING (error_id) + INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(pg_sub_query)} + GROUP BY error_id, name, message + ORDER BY {sort} {order}) AS details + INNER JOIN LATERAL (SELECT MAX(timestamp) AS last_occurrence, + MIN(timestamp) AS first_occurrence + FROM events.errors + WHERE errors.error_id = details.error_id) AS time_details ON (TRUE) + INNER JOIN LATERAL (SELECT jsonb_agg(chart_details) AS chart + FROM (SELECT generated_timestamp AS timestamp, + COUNT(session_id) AS count + FROM generate_series(%(startDate)s, %(endDate)s, %(step_size)s) AS generated_timestamp + LEFT JOIN LATERAL (SELECT DISTINCT session_id + FROM events.errors INNER JOIN public.errors AS m_errors USING (error_id) + WHERE {" AND ".join(pg_sub_query_chart)} + ) AS sessions ON (TRUE) + GROUP BY timestamp + ORDER BY timestamp) AS chart_details) AS chart_details ON (TRUE);""" + + print("--------------------") + print(cur.mogrify(main_pg_query, params)) + cur.execute(cur.mogrify(main_pg_query, params)) + total = cur.rowcount + if flows: + return {"data": {"count": total}} + row = cur.fetchone() + rows = [] + limit = 200 + while row is not None and len(rows) < limit: + rows.append(row) + row = cur.fetchone() + if total == 0: + rows = [] + else: + if len(statuses) == 0: + query = cur.mogrify( + """SELECT error_id, status, parent_error_id, payload, + COALESCE((SELECT TRUE + FROM public.user_favorite_errors AS fe + WHERE errors.error_id = fe.error_id + AND fe.user_id = %(user_id)s LIMIT 1), FALSE) AS favorite, + COALESCE((SELECT TRUE + FROM public.user_viewed_errors AS ve + WHERE errors.error_id = ve.error_id + AND ve.user_id = %(user_id)s LIMIT 1), FALSE) AS viewed + FROM public.errors + WHERE project_id = %(project_id)s AND error_id IN %(error_ids)s;""", + {"project_id": project_id, "error_ids": tuple([r["error_id"] for r in rows]), + "user_id": user_id}) + cur.execute(query=query) + statuses = cur.fetchall() + statuses = { + s["error_id"]: s for s in statuses + } + + for r in rows: + if r["error_id"] in statuses: + r["status"] = statuses[r["error_id"]]["status"] + r["parent_error_id"] = statuses[r["error_id"]]["parent_error_id"] + r["favorite"] = statuses[r["error_id"]]["favorite"] + r["viewed"] = statuses[r["error_id"]]["viewed"] + r["stack"] = format_first_stack_frame(statuses[r["error_id"]])["stack"] + else: + r["status"] = "untracked" + r["parent_error_id"] = None + r["favorite"] = False + r["viewed"] = False + r["stack"] = None + + offset = len(rows) + rows = [r for r in rows if r["stack"] is None + or (len(r["stack"]) == 0 or len(r["stack"]) > 1 + or len(r["stack"]) > 0 + and (r["message"].lower() != "script error." or len(r["stack"][0]["absPath"]) > 0))] + offset -= len(rows) + return { + "data": { + 'total': total - offset, + 'errors': helper.list_to_camel_case(rows) + } + } + + +def __save_stacktrace(error_id, data): + with pg_client.PostgresClient() as cur: + query = cur.mogrify( + """UPDATE public.errors + SET stacktrace=%(data)s::jsonb, stacktrace_parsed_at=timezone('utc'::text, now()) + WHERE error_id = %(error_id)s;""", + {"error_id": error_id, "data": json.dumps(data)}) + cur.execute(query=query) + + +def get_trace(project_id, error_id): + error = get(error_id=error_id) + if error is None: + return {"errors": ["error not found"]} + if error.get("source", "") != "js_exception": + return {"errors": ["this source of errors doesn't have a sourcemap"]} + if error.get("payload") is None: + return {"errors": ["null payload"]} + if error.get("stacktrace") is not None: + return {"sourcemapUploaded": True, + "trace": error.get("stacktrace"), + "preparsed": True} + trace, all_exists = sourcemaps.get_traces_group(project_id=project_id, payload=error["payload"]) + if all_exists: + __save_stacktrace(error_id=error_id, data=trace) + return {"sourcemapUploaded": all_exists, + "trace": trace, + "preparsed": False} + + +def get_sessions(start_date, end_date, project_id, user_id, error_id): + extra_constraints = ["s.project_id = %(project_id)s", + "s.start_ts >= %(startDate)s", + "s.start_ts <= %(endDate)s", + "e.error_id = %(error_id)s"] + if start_date is None: + start_date = TimeUTC.now(-7) + if end_date is None: + end_date = TimeUTC.now() + + params = { + "startDate": start_date, + "endDate": end_date, + "project_id": project_id, + "userId": user_id, + "error_id": error_id} + with pg_client.PostgresClient() as cur: + query = cur.mogrify( + f"""SELECT s.project_id, + s.session_id::text AS session_id, + s.user_uuid, + s.user_id, + s.user_agent, + s.user_os, + s.user_browser, + s.user_device, + s.user_country, + s.start_ts, + s.duration, + s.events_count, + s.pages_count, + s.errors_count, + s.issue_types, + COALESCE((SELECT TRUE + FROM public.user_favorite_sessions AS fs + WHERE s.session_id = fs.session_id + AND fs.user_id = %(userId)s LIMIT 1), FALSE) AS favorite, + COALESCE((SELECT TRUE + FROM public.user_viewed_sessions AS fs + WHERE s.session_id = fs.session_id + AND fs.user_id = %(userId)s LIMIT 1), FALSE) AS viewed + FROM public.sessions AS s INNER JOIN events.errors AS e USING (session_id) + WHERE {" AND ".join(extra_constraints)} + ORDER BY s.start_ts DESC;""", + params) + cur.execute(query=query) + sessions_list = [] + total = cur.rowcount + row = cur.fetchone() + while row is not None and len(sessions_list) < 100: + sessions_list.append(row) + row = cur.fetchone() + + return { + 'total': total, + 'sessions': helper.list_to_camel_case(sessions_list) + } + + +ACTION_STATE = { + "unsolve": 'unresolved', + "solve": 'resolved', + "ignore": 'ignored' +} + + +def change_state(project_id, user_id, error_id, action): + errors = get(error_id, family=True) + print(len(errors)) + status = ACTION_STATE.get(action) + if errors is None or len(errors) == 0: + return {"errors": ["error not found"]} + if errors[0]["status"] == status: + return {"errors": [f"error is already {status}"]} + + if errors[0]["status"] == ACTION_STATE["solve"] and status == ACTION_STATE["ignore"]: + return {"errors": [f"state transition not permitted {errors[0]['status']} -> {status}"]} + + params = { + "userId": user_id, + "error_ids": tuple([e["errorId"] for e in errors]), + "status": status} + with pg_client.PostgresClient() as cur: + query = cur.mogrify( + """UPDATE public.errors + SET status = %(status)s + WHERE error_id IN %(error_ids)s + RETURNING status""", + params) + cur.execute(query=query) + row = cur.fetchone() + if row is not None: + for e in errors: + e["status"] = row["status"] + return {"data": errors} + + +MAX_RANK = 2 + + +def __status_rank(status): + return { + 'unresolved': MAX_RANK - 2, + 'ignored': MAX_RANK - 1, + 'resolved': MAX_RANK + }.get(status) + + +def merge(error_ids): + error_ids = list(set(error_ids)) + errors = get_batch(error_ids) + if len(error_ids) <= 1 or len(error_ids) > len(errors): + return {"errors": ["invalid list of ids"]} + error_ids = [e["errorId"] for e in errors] + parent_error_id = error_ids[0] + status = "unresolved" + for e in errors: + if __status_rank(status) < __status_rank(e["status"]): + status = e["status"] + if __status_rank(status) == MAX_RANK: + break + params = { + "error_ids": tuple(error_ids), + "parent_error_id": parent_error_id, + "status": status + } + with pg_client.PostgresClient() as cur: + query = cur.mogrify( + """UPDATE public.errors + SET parent_error_id = %(parent_error_id)s, status = %(status)s + WHERE error_id IN %(error_ids)s OR parent_error_id IN %(error_ids)s;""", + params) + cur.execute(query=query) + # row = cur.fetchone() + + return {"data": "success"} + + +def format_first_stack_frame(error): + error["stack"] = sourcemaps.format_payload(error.pop("payload"), truncate_to_first=True) + for s in error["stack"]: + for c in s.get("context", []): + for sci, sc in enumerate(c): + if isinstance(sc, str) and len(sc) > 1000: + c[sci] = sc[:1000] + # convert bytes to string: + if isinstance(s["filename"], bytes): + s["filename"] = s["filename"].decode("utf-8") + return error + + +def stats(project_id, user_id, startTimestamp=TimeUTC.now(delta_days=-7), endTimestamp=TimeUTC.now()): + with pg_client.PostgresClient() as cur: + query = cur.mogrify( + """ + SELECT COUNT(errors.*) AS unresolved_and_unviewed + FROM public.errors + INNER JOIN (SELECT root_error.error_id + FROM events.errors + INNER JOIN public.errors AS root_error USING (error_id) + WHERE project_id = %(project_id)s + AND timestamp >= %(startTimestamp)s + AND timestamp <= %(endTimestamp)s + AND source = 'js_exception') AS timed_errors USING (error_id) + LEFT JOIN (SELECT error_id FROM public.user_viewed_errors WHERE user_id = %(user_id)s) AS user_viewed + USING (error_id) + WHERE user_viewed.error_id ISNULL + AND errors.project_id = %(project_id)s + AND errors.status = 'unresolved' + AND errors.source = 'js_exception';""", + {"project_id": project_id, "user_id": user_id, "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp}) + cur.execute(query=query) + row = cur.fetchone() + + return { + "data": helper.dict_to_camel_case(row) + } diff --git a/api/chalicelib/core/errors_favorite_viewed.py b/api/chalicelib/core/errors_favorite_viewed.py new file mode 100644 index 000000000..0bbc10b68 --- /dev/null +++ b/api/chalicelib/core/errors_favorite_viewed.py @@ -0,0 +1,91 @@ +from chalicelib.utils import pg_client + + +def add_favorite_error(project_id, user_id, error_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify(f"""\ + INSERT INTO public.user_favorite_errors + (user_id, error_id) + VALUES + (%(userId)s,%(error_id)s);""", + {"userId": user_id, "error_id": error_id}) + ) + return {"errorId": error_id, "favorite": True} + + +def remove_favorite_error(project_id, user_id, error_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify(f"""\ + DELETE FROM public.user_favorite_errors + WHERE + user_id = %(userId)s + AND error_id = %(error_id)s;""", + {"userId": user_id, "error_id": error_id}) + ) + return {"errorId": error_id, "favorite": False} + + +def favorite_error(project_id, user_id, error_id): + exists, favorite = error_exists_and_favorite(user_id=user_id, error_id=error_id) + if not exists: + return {"errors": ["cannot bookmark non-rehydrated errors"]} + if favorite: + return remove_favorite_error(project_id=project_id, user_id=user_id, error_id=error_id) + return add_favorite_error(project_id=project_id, user_id=user_id, error_id=error_id) + + +def error_exists_and_favorite(user_id, error_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + """SELECT errors.error_id AS exists, ufe.error_id AS favorite + FROM public.errors + LEFT JOIN (SELECT error_id FROM public.user_favorite_errors WHERE user_id = %(userId)s) AS ufe USING (error_id) + WHERE error_id = %(error_id)s;""", + {"userId": user_id, "error_id": error_id}) + ) + r = cur.fetchone() + if r is None: + return False, False + return True, r.get("favorite") is not None + + +def add_viewed_error(project_id, user_id, error_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + INSERT INTO public.user_viewed_errors + (user_id, error_id) + VALUES + (%(userId)s,%(error_id)s);""", + {"userId": user_id, "error_id": error_id}) + ) + + +def viewed_error_exists(user_id, error_id): + with pg_client.PostgresClient() as cur: + query = cur.mogrify( + """SELECT + errors.error_id AS hydrated, + COALESCE((SELECT TRUE + FROM public.user_viewed_errors AS ve + WHERE ve.error_id = %(error_id)s + AND ve.user_id = %(userId)s LIMIT 1), FALSE) AS viewed + FROM public.errors + WHERE error_id = %(error_id)s""", + {"userId": user_id, "error_id": error_id}) + cur.execute( + query=query + ) + r = cur.fetchone() + if r: + return r.get("viewed") + return True + + +def viewed_error(project_id, user_id, error_id): + if viewed_error_exists(user_id=user_id, error_id=error_id): + return None + return add_viewed_error(project_id=project_id, user_id=user_id, error_id=error_id) diff --git a/api/chalicelib/core/events.py b/api/chalicelib/core/events.py new file mode 100644 index 000000000..65ade49ed --- /dev/null +++ b/api/chalicelib/core/events.py @@ -0,0 +1,422 @@ +from chalicelib.utils import pg_client, helper +from chalicelib.core import sessions_metas, metadata +from chalicelib.core import issues +from chalicelib.utils.TimeUTC import TimeUTC +from chalicelib.utils.event_filter_definition import SupportedFilter, Event + + +def get_customs_by_sessionId2_pg(session_id, project_id): + with pg_client.PostgresClient() as cur: + cur.execute(cur.mogrify("""\ + SELECT + c.*, + 'CUSTOM' AS type + FROM events_common.customs AS c + WHERE + c.session_id = %(session_id)s + ORDER BY c.timestamp;""", + {"project_id": project_id, "session_id": session_id}) + ) + rows = cur.fetchall() + return helper.dict_to_camel_case(rows) + + +def __merge_cells(rows, start, count, replacement): + rows[start] = replacement + rows = rows[:start + 1] + rows[start + count:] + return rows + + +def __get_grouped_clickrage(rows, session_id): + click_rage_issues = issues.get_by_session_id(session_id=session_id, issue_type="click_rage") + if len(click_rage_issues) == 0: + return rows + + for c in click_rage_issues: + merge_count = c.get("payload") + if merge_count is not None: + merge_count = merge_count.get("count", 3) + else: + merge_count = 3 + for i in range(len(rows)): + if rows[i]["timestamp"] == c["timestamp"]: + rows = __merge_cells(rows=rows, + start=i, + count=merge_count, + replacement={**rows[i], "type": "CLICKRAGE", "count": merge_count}) + break + return rows + + +def get_by_sessionId2_pg(session_id, project_id, group_clickrage=False): + with pg_client.PostgresClient() as cur: + cur.execute(cur.mogrify("""\ + SELECT + c.*, + 'CLICK' AS type + FROM events.clicks AS c + WHERE + c.session_id = %(session_id)s + ORDER BY c.timestamp;""", + {"project_id": project_id, "session_id": session_id}) + ) + rows = cur.fetchall() + if group_clickrage: + rows = __get_grouped_clickrage(rows=rows, session_id=session_id) + + cur.execute(cur.mogrify(""" + SELECT + i.*, + 'INPUT' AS type + FROM events.inputs AS i + WHERE + i.session_id = %(session_id)s + ORDER BY i.timestamp;""", + {"project_id": project_id, "session_id": session_id}) + ) + rows += cur.fetchall() + cur.execute(cur.mogrify("""\ + SELECT + l.*, + l.path AS value, + l.path AS url, + 'LOCATION' AS type + FROM events.pages AS l + WHERE + l.session_id = %(session_id)s + ORDER BY l.timestamp;""", {"project_id": project_id, "session_id": session_id})) + rows += cur.fetchall() + rows = helper.list_to_camel_case(rows) + rows = sorted(rows, key=lambda k: k["messageId"]) + return rows + + +def __get_data_for_extend(data): + if "errors" not in data: + return data["data"] + + +def __pg_errors_query(source=None): + return f"""((SELECT DISTINCT ON(lg.message) + lg.message AS value, + source, + '{event_type.ERROR.ui_type}' AS type + FROM {event_type.ERROR.table} INNER JOIN public.errors AS lg USING (error_id) LEFT JOIN public.sessions AS s USING(session_id) + WHERE + s.project_id = %(project_id)s + AND lg.message ILIKE %(svalue)s + {"AND source = %(source)s" if source is not None else ""} + LIMIT 5) + UNION ALL + (SELECT DISTINCT ON(lg.name) + lg.name AS value, + source, + '{event_type.ERROR.ui_type}' AS type + FROM {event_type.ERROR.table} INNER JOIN public.errors AS lg USING (error_id) LEFT JOIN public.sessions AS s USING(session_id) + WHERE + s.project_id = %(project_id)s + AND lg.name ILIKE %(svalue)s + {"AND source = %(source)s" if source is not None else ""} + LIMIT 5) + UNION + (SELECT DISTINCT ON(lg.message) + lg.message AS value, + source, + '{event_type.ERROR.ui_type}' AS type + FROM {event_type.ERROR.table} INNER JOIN public.errors AS lg USING (error_id) LEFT JOIN public.sessions AS s USING(session_id) + WHERE + s.project_id = %(project_id)s + AND lg.message ILIKE %(value)s + {"AND source = %(source)s" if source is not None else ""} + LIMIT 5) + UNION ALL + (SELECT DISTINCT ON(lg.name) + lg.name AS value, + source, + '{event_type.ERROR.ui_type}' AS type + FROM {event_type.ERROR.table} INNER JOIN public.errors AS lg USING (error_id) LEFT JOIN public.sessions AS s USING(session_id) + WHERE + s.project_id = %(project_id)s + AND lg.name ILIKE %(value)s + {"AND source = %(source)s" if source is not None else ""} + LIMIT 5));""" + + +def __search_pg_errors(project_id, value, key=None, source=None): + now = TimeUTC.now() + + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify(__pg_errors_query(source), {"project_id": project_id, "value": helper.string_to_sql_like(value), + "svalue": helper.string_to_sql_like("^" + value), + "source": source})) + results = helper.list_to_camel_case(cur.fetchall()) + print(f"{TimeUTC.now() - now} : errors") + return results + + +def __search_pg_errors_ios(project_id, value, key=None, source=None): + now = TimeUTC.now() + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify(f"""(SELECT DISTINCT ON(lg.reason) + lg.reason AS value, + '{event_type.ERROR_IOS.ui_type}' AS type + FROM {event_type.ERROR_IOS.table} INNER JOIN public.crashes_ios AS lg USING (crash_id) LEFT JOIN public.sessions AS s USING(session_id) + WHERE + s.project_id = %(project_id)s + AND lg.reason ILIKE %(value)s + LIMIT 5) + UNION ALL + (SELECT DISTINCT ON(lg.name) + lg.name AS value, + '{event_type.ERROR_IOS.ui_type}' AS type + FROM {event_type.ERROR_IOS.table} INNER JOIN public.crashes_ios AS lg USING (crash_id) LEFT JOIN public.sessions AS s USING(session_id) + WHERE + s.project_id = %(project_id)s + AND lg.name ILIKE %(value)s + LIMIT 5);""", + {"project_id": project_id, "value": helper.string_to_sql_like(value)})) + results = helper.list_to_camel_case(cur.fetchall()) + print(f"{TimeUTC.now() - now} : errors") + return results + + +def __search_pg_metadata(project_id, value, key=None, source=None): + meta_keys = metadata.get(project_id=project_id) + meta_keys = {m["key"]: m["index"] for m in meta_keys} + if len(meta_keys) == 0 or key is not None and key not in meta_keys.keys(): + return [] + sub_from = [] + if key is not None: + meta_keys = {key: meta_keys[key]} + + for k in meta_keys.keys(): + colname = metadata.index_to_colname(meta_keys[k]) + sub_from.append( + f"(SELECT DISTINCT ON ({colname}) {colname} AS value, '{k}' AS key FROM public.sessions WHERE project_id = %(project_id)s AND {colname} ILIKE %(value)s LIMIT 5)") + with pg_client.PostgresClient() as cur: + cur.execute(cur.mogrify(f"""\ + SELECT key, value, 'METADATA' AS TYPE + FROM({" UNION ALL ".join(sub_from)}) AS all_metas + LIMIT 5;""", {"project_id": project_id, "value": helper.string_to_sql_like(value)})) + results = helper.list_to_camel_case(cur.fetchall()) + return results + + +def __generic_query(typename): + return f"""\ + (SELECT value, type + FROM public.autocomplete + WHERE + project_id = %(project_id)s + AND type='{typename}' + AND value ILIKE %(svalue)s + LIMIT 5) + UNION + (SELECT value, type + FROM public.autocomplete + WHERE + project_id = %(project_id)s + AND type='{typename}' + AND value ILIKE %(value)s + LIMIT 5)""" + + +def __generic_autocomplete(event: Event): + def f(project_id, value, key=None, source=None): + with pg_client.PostgresClient() as cur: + cur.execute(cur.mogrify(__generic_query(event.ui_type), + {"project_id": project_id, "value": helper.string_to_sql_like(value), + "svalue": helper.string_to_sql_like("^" + value)})) + return helper.list_to_camel_case(cur.fetchall()) + + return f + + +class event_type: + CLICK = Event(ui_type="CLICK", table="events.clicks", column="label") + INPUT = Event(ui_type="INPUT", table="events.inputs", column="label") + LOCATION = Event(ui_type="LOCATION", table="events.pages", column="base_path") + CUSTOM = Event(ui_type="CUSTOM", table="events_common.customs", column="name") + REQUEST = Event(ui_type="REQUEST", table="events_common.requests", column="url") + GRAPHQL = Event(ui_type="GRAPHQL", table="events.graphql", column="name") + STATEACTION = Event(ui_type="STATEACTION", table="events.state_actions", column="name") + ERROR = Event(ui_type="ERROR", table="events.errors", + column=None) # column=None because errors are searched by name or message + METADATA = Event(ui_type="METADATA", table="public.sessions", column=None) + # IOS + CLICK_IOS = Event(ui_type="CLICK_IOS", table="events_ios.clicks", column="label") + INPUT_IOS = Event(ui_type="INPUT_IOS", table="events_ios.inputs", column="label") + VIEW_IOS = Event(ui_type="VIEW_IOS", table="events_ios.views", column="name") + CUSTOM_IOS = Event(ui_type="CUSTOM_IOS", table="events_common.customs", column="name") + REQUEST_IOS = Event(ui_type="REQUEST_IOS", table="events_common.requests", column="url") + ERROR_IOS = Event(ui_type="ERROR_IOS", table="events_ios.crashes", + column=None) # column=None because errors are searched by name or message + + +SUPPORTED_TYPES = { + event_type.CLICK.ui_type: SupportedFilter(get=__generic_autocomplete(event_type.CLICK), + query=__generic_query(typename=event_type.CLICK.ui_type), + value_limit=3, + starts_with="", + starts_limit=3, + ignore_if_starts_with=["/"]), + event_type.INPUT.ui_type: SupportedFilter(get=__generic_autocomplete(event_type.INPUT), + query=__generic_query(typename=event_type.INPUT.ui_type), + value_limit=3, + starts_with="", + starts_limit=3, + ignore_if_starts_with=["/"]), + event_type.LOCATION.ui_type: SupportedFilter(get=__generic_autocomplete(event_type.LOCATION), + query=__generic_query(typename=event_type.LOCATION.ui_type), + value_limit=3, + starts_with="/", + starts_limit=3, + ignore_if_starts_with=[]), + event_type.CUSTOM.ui_type: SupportedFilter(get=__generic_autocomplete(event_type.CUSTOM), + query=__generic_query(typename=event_type.CUSTOM.ui_type), + value_limit=3, + starts_with="", + starts_limit=3, + ignore_if_starts_with=[""]), + event_type.REQUEST.ui_type: SupportedFilter(get=__generic_autocomplete(event_type.REQUEST), + query=__generic_query(typename=event_type.REQUEST.ui_type), + value_limit=3, + starts_with="/", + starts_limit=3, + ignore_if_starts_with=[""]), + event_type.GRAPHQL.ui_type: SupportedFilter(get=__generic_autocomplete(event_type.GRAPHQL), + query=__generic_query(typename=event_type.GRAPHQL.ui_type), + value_limit=3, + starts_with="/", + starts_limit=4, + ignore_if_starts_with=[]), + event_type.STATEACTION.ui_type: SupportedFilter(get=__generic_autocomplete(event_type.STATEACTION), + query=__generic_query(typename=event_type.STATEACTION.ui_type), + value_limit=3, + starts_with="", + starts_limit=3, + ignore_if_starts_with=[]), + event_type.ERROR.ui_type: SupportedFilter(get=__search_pg_errors, + query=None, + value_limit=4, + starts_with="", + starts_limit=4, + ignore_if_starts_with=["/"]), + event_type.METADATA.ui_type: SupportedFilter(get=__search_pg_metadata, + query=None, + value_limit=3, + starts_with="", + starts_limit=3, + ignore_if_starts_with=["/"]), + # IOS + event_type.CLICK_IOS.ui_type: SupportedFilter(get=__generic_autocomplete(event_type.CLICK_IOS), + query=__generic_query(typename=event_type.CLICK_IOS.ui_type), + value_limit=3, + starts_with="", + starts_limit=3, + ignore_if_starts_with=["/"]), + event_type.INPUT_IOS.ui_type: SupportedFilter(get=__generic_autocomplete(event_type.INPUT_IOS), + query=__generic_query(typename=event_type.INPUT_IOS.ui_type), + value_limit=3, + starts_with="", + starts_limit=3, + ignore_if_starts_with=["/"]), + event_type.VIEW_IOS.ui_type: SupportedFilter(get=__generic_autocomplete(event_type.VIEW_IOS), + query=__generic_query(typename=event_type.VIEW_IOS.ui_type), + value_limit=3, + starts_with="/", + starts_limit=3, + ignore_if_starts_with=[]), + event_type.CUSTOM_IOS.ui_type: SupportedFilter(get=__generic_autocomplete(event_type.CUSTOM_IOS), + query=__generic_query(typename=event_type.CUSTOM_IOS.ui_type), + value_limit=3, + starts_with="", + starts_limit=3, + ignore_if_starts_with=[""]), + event_type.REQUEST_IOS.ui_type: SupportedFilter(get=__generic_autocomplete(event_type.REQUEST_IOS), + query=__generic_query(typename=event_type.REQUEST_IOS.ui_type), + value_limit=3, + starts_with="/", + starts_limit=3, + ignore_if_starts_with=[""]), + event_type.ERROR_IOS.ui_type: SupportedFilter(get=__search_pg_errors, + query=None, + value_limit=4, + starts_with="", + starts_limit=4, + ignore_if_starts_with=["/"]), +} + + +def __get_merged_queries(queries, value, project_id): + if len(queries) == 0: + return [] + now = TimeUTC.now() + with pg_client.PostgresClient() as cur: + cur.execute(cur.mogrify("(" + ")UNION ALL(".join(queries) + ")", + {"project_id": project_id, "value": helper.string_to_sql_like(value)})) + results = helper.list_to_camel_case(cur.fetchall()) + print(f"{TimeUTC.now() - now} : merged-queries for len: {len(queries)}") + return results + + +def __get_autocomplete_table(value, project_id): + with pg_client.PostgresClient() as cur: + cur.execute(cur.mogrify("""SELECT DISTINCT ON(value,type) project_id, value, type + FROM (SELECT * + FROM (SELECT *, + ROW_NUMBER() OVER (PARTITION BY type ORDER BY value) AS Row_ID + FROM public.autocomplete + WHERE project_id = %(project_id)s + AND value ILIKE %(svalue)s + UNION + SELECT *, + ROW_NUMBER() OVER (PARTITION BY type ORDER BY value) AS Row_ID + FROM public.autocomplete + WHERE project_id = %(project_id)s + AND value ILIKE %(value)s) AS u + WHERE Row_ID <= 5) AS sfa + ORDER BY sfa.type;""", + {"project_id": project_id, "value": helper.string_to_sql_like(value), + "svalue": helper.string_to_sql_like("^" + value)})) + results = helper.list_to_camel_case(cur.fetchall()) + return results + + +def search_pg2(text, event_type, project_id, source, key): + if not event_type: + return {"data": __get_autocomplete_table(text, project_id)} + + if event_type.upper() in SUPPORTED_TYPES.keys(): + rows = SUPPORTED_TYPES[event_type.upper()].get(project_id=project_id, value=text, key=key, source=source) + if event_type.upper() + "_IOS" in SUPPORTED_TYPES.keys(): + rows += SUPPORTED_TYPES[event_type.upper() + "_IOS"].get(project_id=project_id, value=text, key=key, + source=source) + elif event_type.upper() + "_IOS" in SUPPORTED_TYPES.keys(): + rows = SUPPORTED_TYPES[event_type.upper() + "_IOS"].get(project_id=project_id, value=text, key=key, + source=source) + elif event_type.upper() in sessions_metas.SUPPORTED_TYPES.keys(): + return sessions_metas.search(text, event_type, project_id) + elif event_type.upper().endswith("_IOS") \ + and event_type.upper()[:-len("_IOS")] in sessions_metas.SUPPORTED_TYPES.keys(): + return sessions_metas.search(text, event_type, project_id) + else: + return {"errors": ["unsupported event"]} + + return {"data": rows} + + +def get_errors_by_session_id(session_id): + with pg_client.PostgresClient() as cur: + cur.execute(cur.mogrify(f"""\ + SELECT er.*,ur.*, er.timestamp - s.start_ts AS time + FROM {event_type.ERROR.table} AS er INNER JOIN public.errors AS ur USING (error_id) INNER JOIN public.sessions AS s USING (session_id) + WHERE + er.session_id = %(session_id)s + ORDER BY timestamp;""", {"session_id": session_id})) + errors = cur.fetchall() + for e in errors: + e["stacktrace_parsed_at"] = TimeUTC.datetime_to_timestamp(e["stacktrace_parsed_at"]) + return helper.list_to_camel_case(errors) diff --git a/api/chalicelib/core/events_ios.py b/api/chalicelib/core/events_ios.py new file mode 100644 index 000000000..bae48599f --- /dev/null +++ b/api/chalicelib/core/events_ios.py @@ -0,0 +1,69 @@ +from chalicelib.utils import pg_client, helper +from chalicelib.core import events + + +def get_customs_by_sessionId(session_id, project_id): + with pg_client.PostgresClient() as cur: + cur.execute(cur.mogrify(f"""\ + SELECT + c.*, + '{events.event_type.CUSTOM_IOS.ui_type}' AS type + FROM {events.event_type.CUSTOM_IOS.table} AS c + WHERE + c.session_id = %(session_id)s + ORDER BY c.timestamp;""", + {"project_id": project_id, "session_id": session_id}) + ) + rows = cur.fetchall() + return helper.dict_to_camel_case(rows) + + +def get_by_sessionId(session_id, project_id): + with pg_client.PostgresClient() as cur: + cur.execute(cur.mogrify(f""" + SELECT + c.*, + '{events.event_type.CLICK_IOS.ui_type}' AS type + FROM {events.event_type.CLICK_IOS.table} AS c + WHERE + c.session_id = %(session_id)s + ORDER BY c.timestamp;""", + {"project_id": project_id, "session_id": session_id}) + ) + rows = cur.fetchall() + + cur.execute(cur.mogrify(f""" + SELECT + i.*, + '{events.event_type.INPUT_IOS.ui_type}' AS type + FROM {events.event_type.INPUT_IOS.table} AS i + WHERE + i.session_id = %(session_id)s + ORDER BY i.timestamp;""", + {"project_id": project_id, "session_id": session_id}) + ) + rows += cur.fetchall() + cur.execute(cur.mogrify(f""" + SELECT + v.*, + '{events.event_type.VIEW_IOS.ui_type}' AS type + FROM {events.event_type.VIEW_IOS.table} AS v + WHERE + v.session_id = %(session_id)s + ORDER BY v.timestamp;""", {"project_id": project_id, "session_id": session_id})) + rows += cur.fetchall() + rows = helper.list_to_camel_case(rows) + rows = sorted(rows, key=lambda k: k["timestamp"]) + return rows + + +def get_crashes_by_session_id(session_id): + with pg_client.PostgresClient() as cur: + cur.execute(cur.mogrify(f""" + SELECT cr.*,uc.*, cr.timestamp - s.start_ts AS time + FROM {events.event_type.ERROR_IOS.table} AS cr INNER JOIN public.crashes_ios AS uc USING (crash_id) INNER JOIN public.sessions AS s USING (session_id) + WHERE + cr.session_id = %(session_id)s + ORDER BY timestamp;""", {"session_id": session_id})) + errors = cur.fetchall() + return helper.list_to_camel_case(errors) diff --git a/api/chalicelib/core/funnels.py b/api/chalicelib/core/funnels.py new file mode 100644 index 000000000..0c3717038 --- /dev/null +++ b/api/chalicelib/core/funnels.py @@ -0,0 +1,269 @@ +import chalicelib.utils.helper +from chalicelib.core import events, significance, sessions +from chalicelib.utils.TimeUTC import TimeUTC + +from chalicelib.utils import helper, pg_client +from chalicelib.utils import dev +import json + +REMOVE_KEYS = ["key", "_key", "startDate", "endDate"] + +ALLOW_UPDATE_FOR = ["name", "filter"] + + +def filter_stages(stages): + ALLOW_TYPES = [events.event_type.CLICK.ui_type, events.event_type.INPUT.ui_type, + events.event_type.LOCATION.ui_type, events.event_type.CUSTOM.ui_type, + events.event_type.CLICK_IOS.ui_type, events.event_type.INPUT_IOS.ui_type, + events.event_type.VIEW_IOS.ui_type, events.event_type.CUSTOM_IOS.ui_type, ] + return [s for s in stages if s["type"] in ALLOW_TYPES and s.get("value") is not None] + + +def create(project_id, user_id, name, filter, is_public): + helper.delete_keys_from_dict(filter, REMOVE_KEYS) + filter["events"] = filter_stages(stages=filter.get("events", [])) + with pg_client.PostgresClient() as cur: + query = cur.mogrify("""\ + INSERT INTO public.funnels (project_id, user_id, name, filter,is_public) + VALUES (%(project_id)s, %(user_id)s, %(name)s, %(filter)s::jsonb,%(is_public)s) + RETURNING *;""", + {"user_id": user_id, "project_id": project_id, "name": name, "filter": json.dumps(filter), + "is_public": is_public}) + + cur.execute( + query + ) + r = cur.fetchone() + r["created_at"] = TimeUTC.datetime_to_timestamp(r["created_at"]) + r = helper.dict_to_camel_case(r) + r["filter"]["startDate"], r["filter"]["endDate"] = TimeUTC.get_start_end_from_range(r["filter"]["rangeValue"]) + return {"data": r} + + +def update(funnel_id, user_id, name=None, filter=None, is_public=None): + s_query = [] + if filter is not None: + helper.delete_keys_from_dict(filter, REMOVE_KEYS) + s_query.append("filter = %(filter)s::jsonb") + if name is not None and len(name) > 0: + s_query.append("name = %(name)s") + if is_public is not None: + s_query.append("is_public = %(is_public)s") + if len(s_query) == 0: + return {"errors": ["Nothing to update"]} + with pg_client.PostgresClient() as cur: + query = cur.mogrify(f"""\ + UPDATE public.funnels + SET {" , ".join(s_query)} + WHERE funnel_id=%(funnel_id)s + RETURNING *;""", + {"user_id": user_id, "funnel_id": funnel_id, "name": name, + "filter": json.dumps(filter) if filter is not None else None, "is_public": is_public}) + # print("--------------------") + # print(query) + # print("--------------------") + cur.execute( + query + ) + r = cur.fetchone() + r["created_at"] = TimeUTC.datetime_to_timestamp(r["created_at"]) + r = helper.dict_to_camel_case(r) + r["filter"]["startDate"], r["filter"]["endDate"] = TimeUTC.get_start_end_from_range(r["filter"]["rangeValue"]) + return {"data": r} + + +def get_by_user(project_id, user_id, range_value=None, start_date=None, end_date=None, details=False): + with pg_client.PostgresClient() as cur: + team_query = "" + cur.execute( + cur.mogrify( + f"""\ + SELECT DISTINCT ON (funnels.funnel_id) funnel_id,project_id, user_id, name, created_at, deleted_at, is_public + {",filter" if details else ""} + FROM public.funnels {team_query} + WHERE project_id = %(project_id)s + AND funnels.deleted_at IS NULL + AND (funnels.user_id = %(user_id)s OR funnels.is_public);""", + {"project_id": project_id, "user_id": user_id} + ) + ) + + rows = cur.fetchall() + rows = helper.list_to_camel_case(rows) + for row in rows: + row["createdAt"] = TimeUTC.datetime_to_timestamp(row["createdAt"]) + if details: + row["filter"]["events"] = filter_stages(row["filter"]["events"]) + get_start_end_time(filter_d=row["filter"], range_value=range_value, start_date=start_date, + end_date=end_date) + counts = sessions.search2_pg(data=row["filter"], project_id=project_id, user_id=None, count_only=True) + row["sessionsCount"] = counts["countSessions"] + row["usersCount"] = counts["countUsers"] + overview = significance.get_overview(filter_d=row["filter"], project_id=project_id) + row["stages"] = overview["stages"] + row.pop("filter") + row["stagesCount"] = len(row["stages"]) + # TODO: ask david to count it alone + row["criticalIssuesCount"] = overview["criticalIssuesCount"] + row["missedConversions"] = 0 if len(row["stages"]) < 2 \ + else row["stages"][0]["sessionsCount"] - row["stages"][-1]["sessionsCount"] + return rows + + +def get_possible_issue_types(project_id): + return [{"type": t, "title": chalicelib.utils.helper.get_issue_title(t)} for t in + ['click_rage', 'dead_click', 'excessive_scrolling', + 'bad_request', 'missing_resource', 'memory', 'cpu', + 'slow_resource', 'slow_page_load', 'crash', 'custom_event_error', + 'js_error']] + + +def get_start_end_time(filter_d, range_value, start_date, end_date): + if start_date is not None and end_date is not None: + filter_d["startDate"], filter_d["endDate"] = start_date, end_date + elif range_value is not None and len(range_value) > 0: + filter_d["rangeValue"] = range_value + filter_d["startDate"], filter_d["endDate"] = TimeUTC.get_start_end_from_range(range_value) + else: + filter_d["startDate"], filter_d["endDate"] = TimeUTC.get_start_end_from_range(filter_d["rangeValue"]) + + +def delete(project_id, funnel_id, user_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + UPDATE public.funnels + SET deleted_at = timezone('utc'::text, now()) + WHERE project_id = %(project_id)s + AND funnel_id = %(funnel_id)s;""", + {"funnel_id": funnel_id, "project_id": project_id, "user_id": user_id}) + ) + + return {"data": {"state": "success"}} + + +def get_sessions(project_id, funnel_id, user_id, range_value=None, start_date=None, end_date=None): + f = get(funnel_id=funnel_id, project_id=project_id) + if f is None: + return {"errors": ["filter not found"]} + get_start_end_time(filter_d=f["filter"], range_value=range_value, start_date=start_date, end_date=end_date) + return sessions.search2_pg(data=f["filter"], project_id=project_id, user_id=user_id) + + +def get_sessions_on_the_fly(funnel_id, project_id, user_id, data): + data["events"] = filter_stages(data.get("events", [])) + if len(data["events"]) == 0: + f = get(funnel_id=funnel_id, project_id=project_id) + if f is None: + return {"errors": ["funnel not found"]} + get_start_end_time(filter_d=f["filter"], range_value=data.get("rangeValue", None), + start_date=data.get('startDate', None), + end_date=data.get('endDate', None)) + data = f["filter"] + return sessions.search2_pg(data=data, project_id=project_id, user_id=user_id) + + +def get_top_insights(project_id, funnel_id, range_value=None, start_date=None, end_date=None): + f = get(funnel_id=funnel_id, project_id=project_id) + if f is None: + return {"errors": ["filter not found"]} + get_start_end_time(filter_d=f["filter"], range_value=range_value, start_date=start_date, end_date=end_date) + insights, total_drop_due_to_issues = significance.get_top_insights(filter_d=f["filter"], project_id=project_id) + insights[-1]["dropDueToIssues"] = total_drop_due_to_issues + return {"stages": helper.list_to_camel_case(insights), + "totalDropDueToIssues": total_drop_due_to_issues} + + +def get_top_insights_on_the_fly(funnel_id, project_id, data): + data["events"] = filter_stages(data.get("events", [])) + if len(data["events"]) == 0: + f = get(funnel_id=funnel_id, project_id=project_id) + if f is None: + return {"errors": ["funnel not found"]} + get_start_end_time(filter_d=f["filter"], range_value=data.get("rangeValue", None), + start_date=data.get('startDate', None), + end_date=data.get('endDate', None)) + data = f["filter"] + insights, total_drop_due_to_issues = significance.get_top_insights(filter_d=data, project_id=project_id) + if len(insights) > 0: + insights[-1]["dropDueToIssues"] = total_drop_due_to_issues + return {"stages": helper.list_to_camel_case(insights), + "totalDropDueToIssues": total_drop_due_to_issues} + + +def get_issues(project_id, funnel_id, range_value=None, start_date=None, end_date=None): + f = get(funnel_id=funnel_id, project_id=project_id) + if f is None: + return {"errors": ["funnel not found"]} + get_start_end_time(filter_d=f["filter"], range_value=range_value, start_date=start_date, end_date=end_date) + return {"data": { + "issues": helper.dict_to_camel_case(significance.get_issues_list(filter_d=f["filter"], project_id=project_id)) + }} + + +@dev.timed +def get_issues_on_the_fly(funnel_id, project_id, data): + first_stage = data.get("firstStage") + last_stage = data.get("lastStage") + data["events"] = filter_stages(data.get("events", [])) + if len(data["events"]) == 0: + f = get(funnel_id=funnel_id, project_id=project_id) + if f is None: + return {"errors": ["funnel not found"]} + get_start_end_time(filter_d=f["filter"], range_value=data.get("rangeValue", None), + start_date=data.get('startDate', None), + end_date=data.get('endDate', None)) + data = f["filter"] + return { + "issues": helper.dict_to_camel_case( + significance.get_issues_list(filter_d=data, project_id=project_id, first_stage=first_stage, + last_stage=last_stage))} + + +def get(funnel_id, project_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + """\ + SELECT + * + FROM public.funnels + WHERE project_id = %(project_id)s + AND deleted_at IS NULL + AND funnel_id = %(funnel_id)s;""", + {"funnel_id": funnel_id, "project_id": project_id} + ) + ) + + f = helper.dict_to_camel_case(cur.fetchone()) + if f is None: + return None + + f["createdAt"] = TimeUTC.datetime_to_timestamp(f["createdAt"]) + f["filter"]["events"] = filter_stages(stages=f["filter"]["events"]) + return f + + +@dev.timed +def search_by_issue(user_id, project_id, funnel_id, issue_id, data, range_value=None, start_date=None, end_date=None): + if len(data.get("events", [])) == 0: + f = get(funnel_id=funnel_id, project_id=project_id) + if f is None: + return {"errors": ["funnel not found"]} + get_start_end_time(filter_d=f["filter"], range_value=range_value, start_date=data.get('startDate', start_date), + end_date=data.get('endDate', end_date)) + data = f["filter"] + + # insights, total_drop_due_to_issues = significance.get_top_insights(filter_d=data, project_id=project_id) + issues = get_issues_on_the_fly(funnel_id=funnel_id, project_id=project_id, data=data).get("issues", {}) + issues = issues.get("significant", []) + issues.get("insignificant", []) + issue = None + for i in issues: + if i.get("issueId", "") == issue_id: + issue = i + break + return {"sessions": sessions.search2_pg(user_id=user_id, project_id=project_id, issue=issue, + data=data) if issue is not None else {"total": 0, "sessions": []}, + # "stages": helper.list_to_camel_case(insights), + # "totalDropDueToIssues": total_drop_due_to_issues, + "issue": issue} diff --git a/api/chalicelib/core/integration_base.py b/api/chalicelib/core/integration_base.py new file mode 100644 index 000000000..45e1891a1 --- /dev/null +++ b/api/chalicelib/core/integration_base.py @@ -0,0 +1,53 @@ +from abc import ABC, abstractmethod +from chalicelib.utils import pg_client, helper + + +class BaseIntegration(ABC): + + def __init__(self, user_id, ISSUE_CLASS): + self._user_id = user_id + self.issue_handler = ISSUE_CLASS(self.integration_token) + + @property + @abstractmethod + def provider(self): + pass + + @property + def integration_token(self): + integration = self.get() + if integration is None: + print("no token configured yet") + return None + return integration["token"] + + def get(self): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + """SELECT * + FROM public.oauth_authentication + WHERE user_id=%(user_id)s AND provider=%(provider)s;""", + {"user_id": self._user_id, "provider": self.provider.lower()}) + ) + return helper.dict_to_camel_case(cur.fetchone()) + + @abstractmethod + def get_obfuscated(self): + pass + + @abstractmethod + def update(self, changes): + pass + + @abstractmethod + def _add(self, data): + pass + + @abstractmethod + def delete(self): + pass + + @abstractmethod + def add_edit(self, data): + pass diff --git a/api/chalicelib/core/integration_base_issue.py b/api/chalicelib/core/integration_base_issue.py new file mode 100644 index 000000000..deb5792e6 --- /dev/null +++ b/api/chalicelib/core/integration_base_issue.py @@ -0,0 +1,41 @@ +from abc import ABC, abstractmethod + + +class RequestException(Exception): + pass + + +def proxy_issues_handler(e): + print("=======__proxy_issues_handler=======") + print(str(e)) + return {"errors": [str(e)]} + + +class BaseIntegrationIssue(ABC): + def __init__(self, provider, integration_token): + self.provider = provider + self.integration_token = integration_token + + @abstractmethod + def create_new_assignment(self, integration_project_id, title, description, assignee, issue_type): + pass + + @abstractmethod + def get_by_ids(self, saved_issues): + pass + + @abstractmethod + def get(self, integration_project_id, assignment_id): + pass + + @abstractmethod + def comment(self, integration_project_id, assignment_id, comment): + pass + + @abstractmethod + def get_metas(self, integration_project_id): + pass + + @abstractmethod + def get_projects(self): + pass diff --git a/api/chalicelib/core/integration_github.py b/api/chalicelib/core/integration_github.py new file mode 100644 index 000000000..a13946e46 --- /dev/null +++ b/api/chalicelib/core/integration_github.py @@ -0,0 +1,78 @@ +from chalicelib.utils import pg_client, helper +from chalicelib.core.integration_github_issue import GithubIntegrationIssue +from chalicelib.core import integration_base + +PROVIDER = "GITHUB" + + +class GitHubIntegration(integration_base.BaseIntegration): + + def __init__(self, tenant_id, user_id): + self.__tenant_id = tenant_id + super(GitHubIntegration, self).__init__(user_id=user_id, ISSUE_CLASS=GithubIntegrationIssue) + + @property + def provider(self): + return PROVIDER + + + + def get_obfuscated(self): + integration = self.get() + if integration is None: + return None + token = "*" * (len(integration["token"]) - 4) + integration["token"][-4:] + return {"token": token, "provider": self.provider.lower()} + + def update(self, changes): + with pg_client.PostgresClient() as cur: + sub_query = [f"{helper.key_to_snake_case(k)} = %({k})s" for k in changes.keys()] + cur.execute( + cur.mogrify(f"""\ + UPDATE public.oauth_authentication + SET {','.join(sub_query)} + WHERE user_id=%(user_id)s + RETURNING token;""", + {"user_id": self._user_id, + **changes}) + ) + w = helper.dict_to_camel_case(cur.fetchone()) + return w + + def _add(self, data): + pass + + def add(self, token): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + INSERT INTO public.oauth_authentication(user_id, provider, provider_user_id, token) + VALUES(%(user_id)s, 'github', '', %(token)s) + RETURNING token;""", + {"user_id": self._user_id, + "token": token}) + ) + w = helper.dict_to_camel_case(cur.fetchone()) + return w + + # TODO: make a revoke token call + def delete(self): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + DELETE FROM public.oauth_authentication + WHERE user_id=%(user_id)s AND provider=%(provider)s;""", + {"user_id": self._user_id, "provider": self.provider.lower()}) + ) + return {"state": "success"} + + def add_edit(self, data): + s = self.get() + if s is not None: + return self.update( + changes={ + "token": data["token"] + } + ) + else: + return self.add(token=data["token"]) diff --git a/api/chalicelib/core/integration_github_issue.py b/api/chalicelib/core/integration_github_issue.py new file mode 100644 index 000000000..8bac3c619 --- /dev/null +++ b/api/chalicelib/core/integration_github_issue.py @@ -0,0 +1,100 @@ +from chalicelib.core.integration_base_issue import BaseIntegrationIssue +from chalicelib.utils import github_client_v3 +from chalicelib.utils.github_client_v3 import github_formatters as formatter + + +class GithubIntegrationIssue(BaseIntegrationIssue): + def __init__(self, integration_token): + self.__client = github_client_v3.githubV3Request(integration_token) + super(GithubIntegrationIssue, self).__init__("GITHUB", integration_token) + + def get_current_user(self): + return formatter.user(self.__client.get("/user")) + + def get_meta(self, repoId): + current_user = self.get_current_user() + try: + users = self.__client.get(f"/repositories/{repoId}/collaborators") + except Exception as e: + users = [] + users = [formatter.user(u) for u in users] + if current_user not in users: + users.insert(0, current_user) + meta = { + 'users': users, + 'issueTypes': [formatter.label(l) for l in + self.__client.get(f"/repositories/{repoId}/labels")] + } + + return meta + + def create_new_assignment(self, integration_project_id, title, description, assignee, + issue_type): + repoId = integration_project_id + assignees = [assignee] + labels = [str(issue_type)] + + metas = self.get_meta(repoId) + real_assignees = [] + for a in assignees: + for u in metas["users"]: + if a == str(u["id"]): + real_assignees.append(u["login"]) + break + real_labels = ["Asayer"] + for l in labels: + found = False + for ll in metas["issueTypes"]: + if l == str(ll["id"]): + real_labels.append(ll["name"]) + found = True + break + if not found: + real_labels.append(l) + issue = self.__client.post(f"/repositories/{repoId}/issues", body={"title": title, "body": description, + "assignees": real_assignees, + "labels": real_labels}) + return formatter.issue(issue) + + def get_by_ids(self, saved_issues): + results = [] + for i in saved_issues: + results.append(self.get(integration_project_id=i["integrationProjectId"], assignment_id=i["id"])) + return {"issues": results} + + def get(self, integration_project_id, assignment_id): + repoId = integration_project_id + issueNumber = assignment_id + issue = self.__client.get(f"/repositories/{repoId}/issues/{issueNumber}") + issue = formatter.issue(issue) + if issue["commentsCount"] > 0: + issue["comments"] = [formatter.comment(c) for c in + self.__client.get(f"/repositories/{repoId}/issues/{issueNumber}/comments")] + return issue + + def comment(self, integration_project_id, assignment_id, comment): + repoId = integration_project_id + issueNumber = assignment_id + commentCreated = self.__client.post(f"/repositories/{repoId}/issues/{issueNumber}/comments", + body={"body": comment}) + return formatter.comment(commentCreated) + + def get_metas(self, integration_project_id): + current_user = self.get_current_user() + try: + users = self.__client.get(f"/repositories/{integration_project_id}/collaborators") + except Exception as e: + users = [] + users = [formatter.user(u) for u in users] + if current_user not in users: + users.insert(0, current_user) + + return {"provider": self.provider.lower(), + 'users': users, + 'issueTypes': [formatter.label(l) for l in + self.__client.get(f"/repositories/{integration_project_id}/labels")] + } + + def get_projects(self): + repos = self.__client.get("/user/repos") + return [formatter.repo(r) for r in repos] diff --git a/api/chalicelib/core/integration_jira_cloud.py b/api/chalicelib/core/integration_jira_cloud.py new file mode 100644 index 000000000..65bad1e4a --- /dev/null +++ b/api/chalicelib/core/integration_jira_cloud.py @@ -0,0 +1,101 @@ +from chalicelib.utils import pg_client, helper +from chalicelib.core.integration_jira_cloud_issue import JIRACloudIntegrationIssue +from chalicelib.core import integration_base + +PROVIDER = "JIRA" + + +class JIRAIntegration(integration_base.BaseIntegration): + def __init__(self, tenant_id, user_id): + self.__tenant_id = tenant_id + # TODO: enable super-constructor when OAuth is done + # super(JIRAIntegration, self).__init__(jwt, user_id, JIRACloudIntegrationProxy) + self._user_id = user_id + i = self.get() + if i is None: + return + self.issue_handler = JIRACloudIntegrationIssue(token=i["token"], username=i["username"], url=i["url"]) + + @property + def provider(self): + return PROVIDER + + # TODO: remove this once jira-oauth is done + def get(self): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + """SELECT username, token, url + FROM public.jira_cloud + WHERE user_id=%(user_id)s;""", + {"user_id": self._user_id}) + ) + return helper.dict_to_camel_case(cur.fetchone()) + + def get_obfuscated(self): + integration = self.get() + if integration is None: + return None + integration["token"] = "*" * (len(integration["token"]) - 4) + integration["token"][-4:] + integration["provider"] = self.provider.lower() + return integration + + def update(self, changes): + with pg_client.PostgresClient() as cur: + sub_query = [f"{helper.key_to_snake_case(k)} = %({k})s" for k in changes.keys()] + cur.execute( + cur.mogrify(f"""\ + UPDATE public.jira_cloud + SET {','.join(sub_query)} + WHERE user_id=%(user_id)s + RETURNING username, token, url;""", + {"user_id": self._user_id, + **changes}) + ) + w = helper.dict_to_camel_case(cur.fetchone()) + return w + + # TODO: make this generic for all issue tracking integrations + def _add(self, data): + print("a pretty defined abstract method") + return + + def add(self, username, token, url): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + INSERT INTO public.jira_cloud(username, token, user_id,url) + VALUES (%(username)s, %(token)s, %(user_id)s,%(url)s) + RETURNING username, token, url;""", + {"user_id": self._user_id, "username": username, + "token": token, "url": url}) + ) + w = helper.dict_to_camel_case(cur.fetchone()) + return w + + def delete(self): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + DELETE FROM public.jira_cloud + WHERE user_id=%(user_id)s;""", + {"user_id": self._user_id}) + ) + return {"state": "success"} + + def add_edit(self, data): + s = self.get() + if s is not None: + return self.update( + changes={ + "username": data["username"], + "token": data["token"], + "url": data["url"] + } + ) + else: + return self.add( + username=data["username"], + token=data["token"], + url=data["url"] + ) diff --git a/api/chalicelib/core/integration_jira_cloud_issue.py b/api/chalicelib/core/integration_jira_cloud_issue.py new file mode 100644 index 000000000..b765903c2 --- /dev/null +++ b/api/chalicelib/core/integration_jira_cloud_issue.py @@ -0,0 +1,56 @@ +from chalicelib.utils import jira_client +from chalicelib.core.integration_base_issue import BaseIntegrationIssue + + +class JIRACloudIntegrationIssue(BaseIntegrationIssue): + def __init__(self, token, username, url): + self.username = username + self.url = url + self._client = jira_client.JiraManager(self.url, self.username, token, None) + super(JIRACloudIntegrationIssue, self).__init__("JIRA", token) + + def create_new_assignment(self, integration_project_id, title, description, assignee, issue_type): + self._client.set_jira_project_id(integration_project_id) + data = { + 'summary': title, + 'description': description, + 'issuetype': {'id': issue_type}, + 'assignee': {"id": assignee}, + "labels": ["Asayer"] + } + return self._client.create_issue(data) + + def get_by_ids(self, saved_issues): + projects_map = {} + for i in saved_issues: + if i["integrationProjectId"] not in projects_map.keys(): + projects_map[i["integrationProjectId"]] = [] + projects_map[i["integrationProjectId"]].append(i["id"]) + + results = [] + for integration_project_id in projects_map: + self._client.set_jira_project_id(integration_project_id) + jql = 'labels = Asayer' + if len(projects_map[integration_project_id]) > 0: + jql += f" AND ID IN ({','.join(projects_map[integration_project_id])})" + issues = self._client.get_issues(jql, offset=0) + results += [issues] + return {"issues": results} + + def get(self, integration_project_id, assignment_id): + self._client.set_jira_project_id(integration_project_id) + return self._client.get_issue_v3(assignment_id) + + def comment(self, integration_project_id, assignment_id, comment): + self._client.set_jira_project_id(integration_project_id) + return self._client.add_comment_v3(assignment_id, comment) + + def get_metas(self, integration_project_id): + meta = {} + self._client.set_jira_project_id(integration_project_id) + meta['issueTypes'] = self._client.get_issue_types() + meta['users'] = self._client.get_assignable_users() + return {"provider": self.provider.lower(), **meta} + + def get_projects(self): + return self._client.get_projects() diff --git a/api/chalicelib/core/integrations_manager.py b/api/chalicelib/core/integrations_manager.py new file mode 100644 index 000000000..fca271870 --- /dev/null +++ b/api/chalicelib/core/integrations_manager.py @@ -0,0 +1,42 @@ +from chalicelib.core import integration_github, integration_jira_cloud +from chalicelib.utils import pg_client + +SUPPORTED_TOOLS = [integration_github.PROVIDER, integration_jira_cloud.PROVIDER] + + +def get_available_integrations(user_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify(f"""\ + SELECT EXISTS((SELECT 1 + FROM public.oauth_authentication + WHERE user_id = %(user_id)s + AND provider = 'github')) AS github, + EXISTS((SELECT 1 + FROM public.jira_cloud + WHERE user_id = %(user_id)s)) AS jira;""", + {"user_id": user_id}) + ) + current_integrations = cur.fetchone() + return dict(current_integrations) + + +def __get_default_integration(user_id): + current_integrations = get_available_integrations(user_id) + return integration_github.PROVIDER if current_integrations["github"] else integration_jira_cloud.PROVIDER if \ + current_integrations["jira"] else None + + +def get_integration(tenant_id, user_id, tool=None): + if tool is None: + tool = __get_default_integration(user_id=user_id) + if tool is None: + return {"errors": [f"no issue tracking tool found"]}, None + tool = tool.upper() + if tool not in SUPPORTED_TOOLS: + return {"errors": [f"issue tracking tool not supported yet, available: {SUPPORTED_TOOLS}"]}, None + if tool == integration_jira_cloud.PROVIDER: + return None, integration_jira_cloud.JIRAIntegration(tenant_id=tenant_id, user_id=user_id) + elif tool == integration_github.PROVIDER: + return None, integration_github.GitHubIntegration(tenant_id=tenant_id, user_id=user_id) + return {"errors": ["lost integration"]}, None diff --git a/api/chalicelib/core/issues.py b/api/chalicelib/core/issues.py new file mode 100644 index 000000000..61a6946da --- /dev/null +++ b/api/chalicelib/core/issues.py @@ -0,0 +1,72 @@ +from chalicelib.utils import pg_client, helper + +ISSUE_TYPES = ['click_rage', 'dead_click', 'excessive_scrolling', 'bad_request', 'missing_resource', 'memory', 'cpu', + 'slow_resource', 'slow_page_load', 'crash', 'ml_cpu', 'ml_memory', 'ml_dead_click', 'ml_click_rage', + 'ml_mouse_thrashing', 'ml_excessive_scrolling', 'ml_slow_resources', 'custom', 'js_exception', + 'custom_event_error', 'js_error'] +ORDER_QUERY = """\ +(CASE WHEN type = 'js_exception' THEN 0 + WHEN type = 'bad_request' THEN 1 + WHEN type = 'missing_resource' THEN 2 + WHEN type = 'click_rage' THEN 3 + WHEN type = 'dead_click' THEN 4 + WHEN type = 'memory' THEN 5 + WHEN type = 'cpu' THEN 6 + WHEN type = 'crash' THEN 7 + ELSE -1 END)::INTEGER +""" +NAME_QUERY = """\ +(CASE WHEN type = 'js_exception' THEN 'Errors' + WHEN type = 'bad_request' THEN 'Bad Requests' + WHEN type = 'missing_resource' THEN 'Missing Images' + WHEN type = 'click_rage' THEN 'Click Rage' + WHEN type = 'dead_click' THEN 'Dead Clicks' + WHEN type = 'memory' THEN 'High Memory' + WHEN type = 'cpu' THEN 'High CPU' + WHEN type = 'crash' THEN 'Crashes' + ELSE type::text END)::text +""" + + +def get(project_id, issue_id): + with pg_client.PostgresClient() as cur: + query = cur.mogrify( + """\ + SELECT + * + FROM public.issues + WHERE project_id = %(project_id)s + AND issue_id = %(issue_id)s;""", + {"project_id": project_id, "issue_id": issue_id} + ) + cur.execute(query=query) + data = cur.fetchone() + return helper.dict_to_camel_case(data) + + +def get_by_session_id(session_id, issue_type=None): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify(f"""\ + SELECT * + FROM events_common.issues + INNER JOIN public.issues USING (issue_id) + WHERE session_id = %(session_id)s {"AND type = %(type)s" if issue_type is not None else ""} + ORDER BY timestamp;""", + {"session_id": session_id, "type": issue_type}) + ) + return helper.list_to_camel_case(cur.fetchall()) + + +def get_types(project_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify(f"""SELECT type, + {ORDER_QUERY}>=0 AS visible, + {ORDER_QUERY} AS order, + {NAME_QUERY} AS name + FROM (SELECT DISTINCT type + FROM public.issues + WHERE project_id = %(project_id)s) AS types + ORDER BY "order";""", {"project_id": project_id})) + return helper.list_to_camel_case(cur.fetchall()) diff --git a/api/chalicelib/core/log_tool_bugsnag.py b/api/chalicelib/core/log_tool_bugsnag.py new file mode 100644 index 000000000..8354142ab --- /dev/null +++ b/api/chalicelib/core/log_tool_bugsnag.py @@ -0,0 +1,73 @@ +from chalicelib.core import log_tools +import requests + +IN_TY = "bugsnag" + + +def list_projects(auth_token): + r = requests.get(url="https://api.bugsnag.com/user/organizations", + params={"per_page": "100"}, + headers={"Authorization": "token " + auth_token, "X-Version": "2"}) + if r.status_code != 200: + print("=======> bugsnag get organizations: something went wrong") + print(r) + print(r.status_code) + print(r.text) + return [] + + orgs = [] + for i in r.json(): + + pr = requests.get(url="https://api.bugsnag.com/organizations/%s/projects" % i["id"], + params={"per_page": "100"}, + headers={"Authorization": "token " + auth_token, "X-Version": "2"}) + if pr.status_code != 200: + print("=======> bugsnag get projects: something went wrong") + print(pr) + print(r.status_code) + print(r.text) + continue + orgs.append({"name": i["name"], "projects": [{"name": p["name"], "id": p["id"]} for p in pr.json()]}) + return orgs + + +def get_all(tenant_id): + return log_tools.get_all_by_tenant(tenant_id=tenant_id, integration=IN_TY) + + +def get(project_id): + return log_tools.get(project_id=project_id, integration=IN_TY) + + +def update(tenant_id, project_id, changes): + options = {} + if "authorizationToken" in changes: + options["authorizationToken"] = changes.pop("authorizationToken") + if "bugsnagProjectId" in changes: + options["bugsnagProjectId"] = changes.pop("bugsnagProjectId") + return log_tools.edit(project_id=project_id, integration=IN_TY, changes=options) + + +def add(tenant_id, project_id, authorization_token, bugsnag_project_id): + options = { + "bugsnagProjectId": bugsnag_project_id, + "authorizationToken": authorization_token, + } + return log_tools.add(project_id=project_id, integration=IN_TY, options=options) + + +def delete(tenant_id, project_id): + return log_tools.delete(project_id=project_id, integration=IN_TY) + + +def add_edit(tenant_id, project_id, data): + s = get(project_id) + if s is not None: + return update(tenant_id=tenant_id, project_id=project_id, + changes={"authorizationToken": data["authorizationToken"], + "bugsnagProjectId": data["bugsnagProjectId"]}) + else: + return add(tenant_id=tenant_id, + project_id=project_id, + authorization_token=data["authorizationToken"], + bugsnag_project_id=data["bugsnagProjectId"]) diff --git a/api/chalicelib/core/log_tool_cloudwatch.py b/api/chalicelib/core/log_tool_cloudwatch.py new file mode 100644 index 000000000..bdd4a2644 --- /dev/null +++ b/api/chalicelib/core/log_tool_cloudwatch.py @@ -0,0 +1,119 @@ +import boto3 +from chalicelib.core import log_tools + +IN_TY = "cloudwatch" + + +def __find_groups(client, token): + d_args = { + "limit": 50 + } + if token is not None: + d_args["nextToken"] = token + response = client.describe_log_groups(**d_args) + response["logGroups"] = [i['logGroupName'] for i in response["logGroups"]] + if "nextToken" not in response: + return response["logGroups"] + + return response["logGroups"] + __find_groups(client, response["nextToken"]) + + +def __make_stream_filter(start_time, end_time): + def __valid_stream(stream): + return "firstEventTimestamp" in stream and not ( + stream['firstEventTimestamp'] <= start_time and stream["lastEventTimestamp"] <= start_time + or stream['firstEventTimestamp'] >= end_time and stream["lastEventTimestamp"] >= end_time + ) + + return __valid_stream + + +def __find_streams(project_id, log_group, client, token, stream_filter): + d_args = {"logGroupName": log_group, "orderBy": 'LastEventTime', 'limit': 50} + if token is not None and len(token) > 0: + d_args["nextToken"] = token + data = client.describe_log_streams(**d_args) + streams = list(filter(stream_filter, data['logStreams'])) + if 'nextToken' not in data: + save_new_token(project_id=project_id, token=token) + return streams + return streams + __find_streams(project_id, log_group, client, data['nextToken'], stream_filter) + + +def __find_events(client, log_group, streams, last_token, start_time, end_time): + f_args = { + "logGroupName": log_group, + "logStreamNames": streams, + "startTime": start_time, + "endTime": end_time, + "limit": 10000, + "filterPattern": "asayer_session_id" + } + if last_token is not None: + f_args["nextToken"] = last_token + response = client.filter_log_events( + **f_args + ) + if "nextToken" not in response: + return response["events"] + + return response["events"] + __find_events(client, log_group, streams, response["nextToken"], start_time, end_time) + + +def list_log_groups(aws_access_key_id, aws_secret_access_key, region): + logs = boto3.client('logs', aws_access_key_id=aws_access_key_id, + aws_secret_access_key=aws_secret_access_key, + region_name=region + ) + return __find_groups(logs, None) + + +def get_all(tenant_id): + return log_tools.get_all_by_tenant(tenant_id=tenant_id, integration=IN_TY) + + +def get(project_id): + return log_tools.get(project_id=project_id, integration=IN_TY) + + +def update(tenant_id, project_id, changes): + options = {} + if "authorization_token" in changes: + options["authorization_token"] = changes.pop("authorization_token") + if "project_id" in changes: + options["project_id"] = changes.pop("project_id") + if len(options.keys()) > 0: + changes["options"] = options + return log_tools.edit(project_id=project_id, integration=IN_TY, changes=changes) + + +def add(tenant_id, project_id, aws_access_key_id, aws_secret_access_key, log_group_name, region): + return log_tools.add(project_id=project_id, integration=IN_TY, + options={"awsAccessKeyId": aws_access_key_id, + "awsSecretAccessKey": aws_secret_access_key, + "logGroupName": log_group_name, "region": region}) + + +def save_new_token(project_id, token): + update(tenant_id=None, project_id=project_id, changes={"last_token": token}) + + +def delete(tenant_id, project_id): + return log_tools.delete(project_id=project_id, integration=IN_TY) + + +def add_edit(tenant_id, project_id, data): + s = get(project_id) + if s is not None: + return update(tenant_id=tenant_id, project_id=project_id, + changes={"awsAccessKeyId": data["awsAccessKeyId"], + "awsSecretAccessKey": data["awsSecretAccessKey"], + "logGroupName": data["logGroupName"], + "region": data["region"]}) + else: + return add(tenant_id=tenant_id, + project_id=project_id, + aws_access_key_id=data["awsAccessKeyId"], + aws_secret_access_key=data["awsSecretAccessKey"], + log_group_name=data["logGroupName"], + region=data["region"]) diff --git a/api/chalicelib/core/log_tool_datadog.py b/api/chalicelib/core/log_tool_datadog.py new file mode 100644 index 000000000..68735f833 --- /dev/null +++ b/api/chalicelib/core/log_tool_datadog.py @@ -0,0 +1,43 @@ +from chalicelib.core import log_tools + +IN_TY = "datadog" + + +def get_all(tenant_id): + return log_tools.get_all_by_tenant(tenant_id=tenant_id, integration=IN_TY) + + +def get(project_id): + return log_tools.get(project_id=project_id, integration=IN_TY) + + +def update(tenant_id, project_id, changes): + options = {} + if "apiKey" in changes: + options["apiKey"] = changes["apiKey"] + if "applicationKey" in changes: + options["applicationKey"] = changes["applicationKey"] + + return log_tools.edit(project_id=project_id, integration=IN_TY, changes=options) + + +def add(tenant_id, project_id, api_key, application_key): + options = {"apiKey": api_key, "applicationKey": application_key} + return log_tools.add(project_id=project_id, integration=IN_TY, options=options) + + +def delete(tenant_id, project_id): + return log_tools.delete(project_id=project_id, integration=IN_TY) + + +def add_edit(tenant_id, project_id, data): + s = get(project_id) + if s is not None: + return update(tenant_id=tenant_id, project_id=project_id, + changes={"apiKey": data["apiKey"], + "applicationKey": data["applicationKey"]}) + else: + return add(tenant_id=tenant_id, + project_id=project_id, + api_key=data["apiKey"], + application_key=data["applicationKey"]) diff --git a/api/chalicelib/core/log_tool_elasticsearch.py b/api/chalicelib/core/log_tool_elasticsearch.py new file mode 100644 index 000000000..5fdfccf24 --- /dev/null +++ b/api/chalicelib/core/log_tool_elasticsearch.py @@ -0,0 +1,94 @@ +from elasticsearch import Elasticsearch, RequestsHttpConnection +from chalicelib.core import log_tools +import base64 +import logging + +logging.getLogger('elasticsearch').level = logging.ERROR + +IN_TY = "elasticsearch" + + +def get_all(tenant_id): + return log_tools.get_all_by_tenant(tenant_id=tenant_id, integration=IN_TY) + + +def get(project_id): + return log_tools.get(project_id=project_id, integration=IN_TY) + + +def update(tenant_id, project_id, changes): + options = {} + + if "host" in changes: + options["host"] = changes["host"] + if "apiKeyId" in changes: + options["apiKeyId"] = changes["apiKeyId"] + if "apiKey" in changes: + options["apiKey"] = changes["apiKey"] + if "indexes" in changes: + options["indexes"] = changes["indexes"] + if "port" in changes: + options["port"] = changes["port"] + + return log_tools.edit(project_id=project_id, integration=IN_TY, changes=options) + + +def add(tenant_id, project_id, host, api_key_id, api_key, indexes, port): + options = { + "host": host, "apiKeyId": api_key_id, "apiKey": api_key, "indexes": indexes, "port": port + } + return log_tools.add(project_id=project_id, integration=IN_TY, options=options) + + +def delete(tenant_id, project_id): + return log_tools.delete(project_id=project_id, integration=IN_TY) + + +def add_edit(tenant_id, project_id, data): + s = get(project_id) + if s is not None: + return update(tenant_id=tenant_id, project_id=project_id, + changes={"host": data["host"], "apiKeyId": data["apiKeyId"], "apiKey": data["apiKey"], + "indexes": data["indexes"], "port": data["port"]}) + else: + return add(tenant_id=tenant_id, + project_id=project_id, + host=data["host"], api_key=data["apiKeyId"], api_key_id=data["apiKey"], indexes=data["indexes"], + port=data["port"]) + + +def __get_es_client(host, port, api_key_id, api_key, use_ssl=False, timeout=29): + host = host.replace("http://", "").replace("https://", "") + try: + args = { + "hosts": [{"host": host, "port": port}], + "use_ssl": use_ssl, + "verify_certs": False, + "ca_certs": False, + "connection_class": RequestsHttpConnection, + "timeout": timeout + } + if api_key_id is not None and len(api_key_id) > 0: + # args["http_auth"] = (username, password) + token = "ApiKey " + base64.b64encode(f"{api_key_id}:{api_key}".encode("utf-8")).decode("utf-8") + args["headers"] = {"Authorization": token} + es = Elasticsearch( + **args + ) + r = es.ping() + if not r and not use_ssl: + return __get_es_client(host, port, api_key_id, api_key, use_ssl=True, timeout=timeout) + if not r: + return None + except Exception as err: + print("================exception connecting to ES host:") + print(err) + return None + return es + + +def ping(tenant_id, host, port, apiKeyId, apiKey): + es = __get_es_client(host, port, apiKeyId, apiKey, timeout=3) + if es is None: + return {"state": False} + return {"state": es.ping()} diff --git a/api/chalicelib/core/log_tool_newrelic.py b/api/chalicelib/core/log_tool_newrelic.py new file mode 100644 index 000000000..14b0d4e57 --- /dev/null +++ b/api/chalicelib/core/log_tool_newrelic.py @@ -0,0 +1,50 @@ +from chalicelib.core import log_tools + +IN_TY = "newrelic" + + +def get_all(tenant_id): + return log_tools.get_all_by_tenant(tenant_id=tenant_id, integration=IN_TY) + + +def get(project_id): + return log_tools.get(project_id=project_id, integration=IN_TY) + + +def update(tenant_id, project_id, changes): + options = {} + if "region" in changes and len(changes["region"]) == 0: + options["region"] = "US" + if "applicationId" in changes: + options["applicationId"] = changes["applicationId"] + if "xQueryKey" in changes: + options["xQueryKey"] = changes["xQueryKey"] + + return log_tools.edit(project_id=project_id, integration=IN_TY, changes=options) + + +def add(tenant_id, project_id, application_id, x_query_key, region): + if region is None or len(region) == 0: + region = "US" + options = {"applicationId": application_id, "xQueryKey": x_query_key, "region": region} + return log_tools.add(project_id=project_id, integration=IN_TY, options=options) + + +def delete(tenant_id, project_id): + return log_tools.delete(project_id=project_id, integration=IN_TY) + + +def add_edit(tenant_id, project_id, data): + s = get(project_id) + if s is not None: + return update(tenant_id=tenant_id, project_id=project_id, + changes={"applicationId": data["applicationId"], + "xQueryKey": data["xQueryKey"], + "region": data["region"]}) + else: + return add(tenant_id=tenant_id, + project_id=project_id, + application_id=data["applicationId"], + x_query_key=data["xQueryKey"], + region=data["region"] + ) diff --git a/api/chalicelib/core/log_tool_rollbar.py b/api/chalicelib/core/log_tool_rollbar.py new file mode 100644 index 000000000..34f6c6114 --- /dev/null +++ b/api/chalicelib/core/log_tool_rollbar.py @@ -0,0 +1,38 @@ +from chalicelib.core import log_tools + +IN_TY = "rollbar" + + +def get_all(tenant_id): + return log_tools.get_all_by_tenant(tenant_id=tenant_id, integration=IN_TY) + + +def get(project_id): + return log_tools.get(project_id=project_id, integration=IN_TY) + + +def update(tenant_id, project_id, changes): + options = {} + if "accessToken" in changes: + options["accessToken"] = changes["accessToken"] + return log_tools.edit(project_id=project_id, integration=IN_TY, changes=options) + + +def add(tenant_id, project_id, access_token): + options = {"accessToken": access_token} + return log_tools.add(project_id=project_id, integration=IN_TY, options=options) + + +def delete(tenant_id, project_id): + return log_tools.delete(project_id=project_id, integration=IN_TY) + + +def add_edit(tenant_id, project_id, data): + s = get(project_id) + if s is not None: + return update(tenant_id=tenant_id, project_id=project_id, + changes={"accessToken": data["accessToken"]}) + else: + return add(tenant_id=tenant_id, + project_id=project_id, + access_token=data["accessToken"]) diff --git a/api/chalicelib/core/log_tool_sentry.py b/api/chalicelib/core/log_tool_sentry.py new file mode 100644 index 000000000..1f51f1556 --- /dev/null +++ b/api/chalicelib/core/log_tool_sentry.py @@ -0,0 +1,65 @@ +import requests +from chalicelib.core import log_tools + +IN_TY = "sentry" + + +def get_all(tenant_id): + return log_tools.get_all_by_tenant(tenant_id=tenant_id, integration=IN_TY) + + +def get(project_id): + return log_tools.get(project_id=project_id, integration=IN_TY) + + +def update(tenant_id, project_id, changes): + options = {} + if "organizationSlug" in changes: + options["organizationSlug"] = changes["organizationSlug"] + if "projectSlug" in changes: + options["projectSlug"] = changes["projectSlug"] + if "token" in changes: + options["token"] = changes["token"] + + return log_tools.edit(project_id=project_id, integration=IN_TY, changes=changes) + + +def add(tenant_id, project_id, project_slug, organization_slug, token): + options = { + "organizationSlug": organization_slug, "projectSlug": project_slug, "token": token + } + return log_tools.add(project_id=project_id, integration=IN_TY, options=options) + + +def delete(tenant_id, project_id): + return log_tools.delete(project_id=project_id, integration=IN_TY) + + +def add_edit(tenant_id, project_id, data): + s = get(project_id) + if s is not None: + return update(tenant_id=tenant_id, project_id=project_id, + changes={"projectSlug": data["projectSlug"], + "organizationSlug": data["organizationSlug"], + "token": data["token"]}) + else: + return add(tenant_id=tenant_id, + project_id=project_id, + project_slug=data["projectSlug"], + organization_slug=data["organizationSlug"], token=data["token"]) + + +def proxy_get(tenant_id, project_id, event_id): + i = get(project_id) + if i is None: + return {} + r = requests.get( + url="https://sentry.io/api/0/projects/%(organization_slug)s/%(project_slug)s/events/%(event_id)s/" % { + "organization_slug": i["organizationSlug"], "project_slug": i["projectSlug"], "event_id": event_id}, + headers={"Authorization": "Bearer " + i["token"]}) + if r.status_code != 200: + print("=======> sentry get: something went wrong") + print(r) + print(r.status_code) + print(r.text) + return r.json() diff --git a/api/chalicelib/core/log_tool_stackdriver.py b/api/chalicelib/core/log_tool_stackdriver.py new file mode 100644 index 000000000..611a7c637 --- /dev/null +++ b/api/chalicelib/core/log_tool_stackdriver.py @@ -0,0 +1,42 @@ +from chalicelib.core import log_tools + +IN_TY = "stackdriver" + + +def get_all(tenant_id): + return log_tools.get_all_by_tenant(tenant_id=tenant_id, integration=IN_TY) + + +def get(project_id): + return log_tools.get(project_id=project_id, integration=IN_TY) + + +def update(tenant_id, project_id, changes): + options = {} + if "serviceAccountCredentials" in changes: + options["serviceAccountCredentials"] = changes["serviceAccountCredentials"] + if "logName" in changes: + options["logName"] = changes["logName"] + return log_tools.edit(project_id=project_id, integration=IN_TY, changes=options) + + +def add(tenant_id, project_id, service_account_credentials, log_name): + options = {"serviceAccountCredentials": service_account_credentials, "logName": log_name} + return log_tools.add(project_id=project_id, integration=IN_TY, options=options) + + +def delete(tenant_id, project_id): + return log_tools.delete(project_id=project_id, integration=IN_TY) + + +def add_edit(tenant_id, project_id, data): + s = get(project_id) + if s is not None: + return update(tenant_id=tenant_id, project_id=project_id, + changes={"serviceAccountCredentials": data["serviceAccountCredentials"], + "logName": data["logName"]}) + else: + return add(tenant_id=tenant_id, + project_id=project_id, + service_account_credentials=data["serviceAccountCredentials"], + log_name=data["logName"]) diff --git a/api/chalicelib/core/log_tool_sumologic.py b/api/chalicelib/core/log_tool_sumologic.py new file mode 100644 index 000000000..8e34ea70a --- /dev/null +++ b/api/chalicelib/core/log_tool_sumologic.py @@ -0,0 +1,53 @@ +from chalicelib.core import log_tools + +IN_TY = "sumologic" + + +def get_all(tenant_id): + return log_tools.get_all_by_tenant(tenant_id=tenant_id, integration=IN_TY) + + +def get(project_id): + return log_tools.get(project_id=project_id, integration=IN_TY) + + +def update(tenant_id, project_id, changes): + options = {} + + if "region" in changes: + options["region"] = changes["region"] + + if "accessId" in changes: + options["accessId"] = changes["accessId"] + + if "accessKey" in changes: + options["accessKey"] = changes["accessKey"] + return log_tools.edit(project_id=project_id, integration=IN_TY, changes=options) + + +def add(tenant_id, project_id, access_id, access_key, region): + options = { + "accessId": access_id, + "accessKey": access_key, + "region": region + } + return log_tools.add(project_id=project_id, integration=IN_TY, options=options) + + +def delete(tenant_id, project_id): + return log_tools.delete(project_id=project_id, integration=IN_TY) + + +def add_edit(tenant_id, project_id, data): + s = get(project_id) + if s is not None: + return update(tenant_id=tenant_id, project_id=project_id, + changes={"accessId": data["accessId"], + "accessKey": data["accessKey"], + "region": data["region"]}) + else: + return add(tenant_id=tenant_id, + project_id=project_id, + access_id=data["accessId"], + access_key=data["accessKey"], + region=data["region"]) diff --git a/api/chalicelib/core/log_tools.py b/api/chalicelib/core/log_tools.py new file mode 100644 index 000000000..31d7e8abc --- /dev/null +++ b/api/chalicelib/core/log_tools.py @@ -0,0 +1,118 @@ +from chalicelib.utils import pg_client, helper +import json + +EXCEPT = ["jira_server", "jira_cloud"] + + +def search(project_id): + result = [] + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + """\ + SELECT supported_integrations.name, + (SELECT COUNT(*) + FROM public.integrations + INNER JOIN public.projects USING (project_id) + WHERE provider = supported_integrations.name + AND project_id = %(project_id)s + AND projects.deleted_at ISNULL + LIMIT 1) AS count + FROM unnest(enum_range(NULL::integration_provider)) AS supported_integrations(name);""", + {"project_id": project_id}) + ) + r = cur.fetchall() + for k in r: + if k["count"] > 0 and k["name"] not in EXCEPT: + result.append({"value": helper.key_to_camel_case(k["name"]), "type": "logTool"}) + return {"data": result} + + +def add(project_id, integration, options): + options = json.dumps(options) + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + """\ + INSERT INTO public.integrations(project_id, provider, options) + VALUES (%(project_id)s, %(provider)s, %(options)s::jsonb) + RETURNING *;""", + {"project_id": project_id, "provider": integration, "options": options}) + ) + r = cur.fetchone() + return helper.dict_to_camel_case(helper.flatten_nested_dicts(r)) + + +def get(project_id, integration): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + """\ + SELECT integrations.* + FROM public.integrations INNER JOIN public.projects USING(project_id) + WHERE provider = %(provider)s + AND project_id = %(project_id)s + AND projects.deleted_at ISNULL + LIMIT 1;""", + {"project_id": project_id, "provider": integration}) + ) + r = cur.fetchone() + return helper.dict_to_camel_case(helper.flatten_nested_dicts(r)) + + +def get_all_by_type(integration): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + """\ + SELECT integrations.* + FROM public.integrations INNER JOIN public.projects USING(project_id) + WHERE provider = %(provider)s AND projects.deleted_at ISNULL;""", + {"provider": integration}) + ) + r = cur.fetchall() + return helper.list_to_camel_case(r, flatten=True) + + +def edit(project_id, integration, changes): + if "projectId" in changes: + changes.pop("project_id") + if "integration" in changes: + changes.pop("integration") + if len(changes.keys()) == 0: + return None + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + UPDATE public.integrations + SET options=options||%(changes)s + WHERE project_id =%(project_id)s AND provider = %(provider)s + RETURNING *;""", + {"project_id": project_id, "provider": integration, "changes": json.dumps(changes)}) + ) + return helper.dict_to_camel_case(helper.flatten_nested_dicts(cur.fetchone())) + + +def delete(project_id, integration): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + DELETE FROM public.integrations + WHERE project_id=%(project_id)s AND provider=%(provider)s;""", + {"project_id": project_id, "provider": integration}) + ) + return {"state": "success"} + + +def get_all_by_tenant(tenant_id, integration): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + """SELECT integrations.* + FROM public.integrations INNER JOIN public.projects USING(project_id) + WHERE provider = %(provider)s + AND projects.deleted_at ISNULL;""", + {"provider": integration}) + ) + r = cur.fetchall() + return helper.list_to_camel_case(r, flatten=True) diff --git a/api/chalicelib/core/metadata.py b/api/chalicelib/core/metadata.py new file mode 100644 index 000000000..ed983f235 --- /dev/null +++ b/api/chalicelib/core/metadata.py @@ -0,0 +1,262 @@ +from chalicelib.utils import pg_client, helper, dev + + +from chalicelib.core import projects +import re + +MAX_INDEXES = 10 + + +def _get_column_names(): + return [f"metadata_{i}" for i in range(1, MAX_INDEXES + 1)] + + +def get(project_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + f"""\ + SELECT + {",".join(_get_column_names())} + FROM public.projects + WHERE project_id = %(project_id)s AND deleted_at ISNULL + LIMIT 1;""", {"project_id": project_id}) + ) + metas = cur.fetchone() + results = [] + for i, k in enumerate(metas.keys()): + if metas[k] is not None: + results.append({"key": metas[k], "index": i + 1}) + return results + + +regex = re.compile(r'^[a-z0-9_-]+$', re.IGNORECASE) + + +def index_to_colname(index): + if index <= 0 or index > MAX_INDEXES: + raise Exception("metadata index out or bound") + return f"metadata_{index}" + + +def __get_available_index(project_id): + used_indexs = get(project_id) + used_indexs = [i["index"] for i in used_indexs] + if len(used_indexs) >= MAX_INDEXES: + return -1 + i = 1 + while i in used_indexs: + i += 1 + return i + + +def __edit(project_id, col_index, colname, new_name): + if new_name is None or len(new_name) == 0: + return {"errors": ["key value invalid"]} + old_metas = get(project_id) + old_metas = {k["index"]: k for k in old_metas} + if col_index not in list(old_metas.keys()): + return {"errors": ["custom field doesn't exist"]} + + with pg_client.PostgresClient() as cur: + if old_metas[col_index]["key"].lower() != new_name: + cur.execute(cur.mogrify(f"""UPDATE public.projects + SET {colname} = %(value)s + WHERE project_id = %(project_id)s AND deleted_at ISNULL + RETURNING {colname};""", + {"project_id": project_id, "value": new_name})) + new_name = cur.fetchone()[colname] + old_metas[col_index]["key"] = new_name + return {"data": old_metas[col_index]} + + +def edit(tenant_id, project_id, index: int, new_name: str): + return __edit(project_id=project_id, col_index=index, colname=index_to_colname(index), new_name=new_name) + + +def delete(tenant_id, project_id, index: int): + index = int(index) + old_segments = get(project_id) + old_segments = [k["index"] for k in old_segments] + if index not in old_segments: + return {"errors": ["custom field doesn't exist"]} + + with pg_client.PostgresClient() as cur: + colname = index_to_colname(index) + query = cur.mogrify(f"""UPDATE public.projects + SET {colname}= NULL + WHERE project_id = %(project_id)s AND deleted_at ISNULL;""", + {"project_id": project_id}) + cur.execute(query=query) + query = cur.mogrify(f"""UPDATE public.sessions + SET {colname}= NULL + WHERE project_id = %(project_id)s""", + {"project_id": project_id}) + cur.execute(query=query) + + return {"data": get(project_id)} + + +def add(tenant_id, project_id, new_name): + index = __get_available_index(project_id=project_id) + if index < 1: + return {"errors": ["maximum allowed metadata reached"]} + with pg_client.PostgresClient() as cur: + colname = index_to_colname(index) + cur.execute( + cur.mogrify( + f"""UPDATE public.projects SET {colname}= %(key)s WHERE project_id =%(project_id)s RETURNING {colname};""", + {"key": new_name, "project_id": project_id})) + col_val = cur.fetchone()[colname] + return {"data": {"key": col_val, "index": index}} + + +def search(tenant_id, project_id, key, value): + value = value + "%" + s_query = [] + for f in _get_column_names(): + s_query.append(f"CASE WHEN {f}=%(key)s THEN TRUE ELSE FALSE END AS {f}") + + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + f"""\ + SELECT + {",".join(s_query)} + FROM public.projects + WHERE + project_id = %(project_id)s AND deleted_at ISNULL + LIMIT 1;""", + {"key": key, "project_id": project_id}) + ) + all_metas = cur.fetchone() + key = None + for c in all_metas: + if all_metas[c]: + key = c + break + if key is None: + return {"errors": ["key does not exist"]} + cur.execute( + cur.mogrify( + f"""\ + SELECT + DISTINCT "{key}" AS "{key}" + FROM public.sessions + {f'WHERE "{key}"::text ILIKE %(value)s' if value is not None and len(value) > 0 else ""} + ORDER BY "{key}" + LIMIT 20;""", + {"value": value, "project_id": project_id}) + ) + value = cur.fetchall() + return {"data": [k[key] for k in value]} + + +def get_available_keys(project_id): + all_metas = get(project_id=project_id) + return [k["key"] for k in all_metas] + + +def get_by_session_id(project_id, session_id): + all_metas = get(project_id=project_id) + if len(all_metas) == 0: + return [] + keys = {index_to_colname(k["index"]): k["key"] for k in all_metas} + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + f"""\ + select {",".join(keys.keys())} + FROM public.sessions + WHERE project_id= %(project_id)s AND session_id=%(session_id)s;""", + {"session_id": session_id, "project_id": project_id}) + ) + session_metas = cur.fetchall() + results = [] + for m in session_metas: + r = {} + for k in m.keys(): + r[keys[k]] = m[k] + results.append(r) + return results + + +def get_keys_by_projects(project_ids): + if project_ids is None or len(project_ids) == 0: + return {} + with pg_client.PostgresClient() as cur: + query = cur.mogrify( + f"""\ + SELECT + project_id, + {",".join(_get_column_names())} + FROM public.projects + WHERE project_id IN %(project_ids)s AND deleted_at ISNULL;""", + {"project_ids": tuple(project_ids)}) + + cur.execute(query) + rows = cur.fetchall() + results = {} + for r in rows: + project_id = r.pop("project_id") + results[project_id] = {} + for m in r: + if r[m] is not None: + results[project_id][m] = r[m] + return results + + +def add_edit_delete(tenant_id, project_id, new_metas): + old_metas = get(project_id) + old_indexes = [k["index"] for k in old_metas] + new_indexes = [k["index"] for k in new_metas if "index" in k] + new_keys = [k["key"] for k in new_metas] + + add_metas = [k["key"] for k in new_metas + if "index" not in k] + new_metas = {k["index"]: {"key": k["key"]} for + k in new_metas if + "index" in k} + old_metas = {k["index"]: {"key": k["key"]} for k in old_metas} + + if len(new_keys) > 20: + return {"errors": ["you cannot add more than 20 key"]} + for k in new_metas.keys(): + if re.match(regex, new_metas[k]["key"]) is None: + return {"errors": [f"invalid key {k}"]} + for k in add_metas: + if re.match(regex, k) is None: + return {"errors": [f"invalid key {k}"]} + if len(new_indexes) > len(set(new_indexes)): + return {"errors": ["duplicate indexes"]} + if len(new_keys) > len(set(new_keys)): + return {"errors": ["duplicate keys"]} + to_delete = list(set(old_indexes) - set(new_indexes)) + + with pg_client.PostgresClient() as cur: + for d in to_delete: + delete(tenant_id=tenant_id, project_id=project_id, index=d) + + for k in add_metas: + add(tenant_id=tenant_id, project_id=project_id, new_name=k) + + for k in new_metas.keys(): + if new_metas[k]["key"].lower() != old_metas[k]["key"]: + edit(tenant_id=tenant_id, project_id=project_id, index=k, new_name=new_metas[k]["key"]) + + return {"data": get(project_id)} + + +@dev.timed +def get_remaining_metadata_with_count(tenant_id): + all_projects = projects.get_projects(tenant_id=tenant_id) + results = [] + for p in all_projects: + used_metas = get(p["projectId"]) + if MAX_INDEXES < 0: + remaining = -1 + else: + remaining = MAX_INDEXES - len(used_metas) + results.append({**p, "limit": MAX_INDEXES, "remaining": remaining, "count": len(used_metas)}) + + return results diff --git a/api/chalicelib/core/notifications.py b/api/chalicelib/core/notifications.py new file mode 100644 index 000000000..0d9b5be20 --- /dev/null +++ b/api/chalicelib/core/notifications.py @@ -0,0 +1,80 @@ +import json + +from chalicelib.utils import pg_client, helper +from chalicelib.utils.TimeUTC import TimeUTC + + +def get_all(tenant_id, user_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + SELECT notifications.*, + user_viewed_notifications.notification_id NOTNULL AS viewed + FROM public.notifications + LEFT JOIN (SELECT notification_id + FROM public.user_viewed_notifications + WHERE user_viewed_notifications.user_id = %(user_id)s) AS user_viewed_notifications USING (notification_id) + WHERE notifications.user_id IS NULL OR notifications.user_id =%(user_id)s + ORDER BY created_at DESC + LIMIT 100;""", + {"user_id": user_id}) + ) + rows = helper.list_to_camel_case(cur.fetchall()) + for r in rows: + r["createdAt"] = TimeUTC.datetime_to_timestamp(r["createdAt"]) + return rows + + +def view_notification(user_id, notification_ids=[], tenant_id=None, startTimestamp=None, endTimestamp=None): + if (notification_ids is None or len(notification_ids) == 0) and endTimestamp is None: + return False + if startTimestamp is None: + startTimestamp = 0 + notification_ids = [(user_id, id) for id in notification_ids] + with pg_client.PostgresClient() as cur: + if len(notification_ids) > 0: + cur.executemany( + "INSERT INTO public.user_viewed_notifications(user_id, notification_id) VALUES (%s,%s) ON CONFLICT DO NOTHING;", + notification_ids) + else: + query = """INSERT INTO public.user_viewed_notifications(user_id, notification_id) + SELECT %(user_id)s AS user_id, notification_id + FROM public.notifications + WHERE (user_id IS NULL OR user_id =%(user_id)s) + AND EXTRACT(EPOCH FROM created_at)*1000>=(%(startTimestamp)s) + AND EXTRACT(EPOCH FROM created_at)*1000<=(%(endTimestamp)s+1000) + ON CONFLICT DO NOTHING;""" + params = {"user_id": user_id, "startTimestamp": startTimestamp, + "endTimestamp": endTimestamp} + # print('-------------------') + # print(cur.mogrify(query, params)) + cur.execute(cur.mogrify(query, params)) + return True + + +def create(notifications): + if len(notifications) == 0: + return [] + with pg_client.PostgresClient() as cur: + values = [] + for n in notifications: + clone = dict(n) + if "userId" not in clone: + clone["userId"] = None + if "options" not in clone: + clone["options"] = '{}' + else: + clone["options"] = json.dumps(clone["options"]) + values.append( + cur.mogrify( + "(%(userId)s, %(title)s, %(description)s, %(buttonText)s, %(buttonUrl)s, %(imageUrl)s,%(options)s)", + clone).decode('UTF-8') + ) + cur.execute( + f"""INSERT INTO public.notifications(user_id, title, description, button_text, button_url, image_url, options) + VALUES {",".join(values)} RETURNING *;""") + rows = helper.list_to_camel_case(cur.fetchall()) + for r in rows: + r["createdAt"] = TimeUTC.datetime_to_timestamp(r["createdAt"]) + r["viewed"] = False + return rows diff --git a/api/chalicelib/core/projects.py b/api/chalicelib/core/projects.py new file mode 100644 index 000000000..62f74961b --- /dev/null +++ b/api/chalicelib/core/projects.py @@ -0,0 +1,229 @@ +import json + +from chalicelib.core import users +from chalicelib.utils import pg_client, helper, dev +from chalicelib.utils.TimeUTC import TimeUTC + + +def __update(tenant_id, project_id, changes): + if len(changes.keys()) == 0: + return None + + sub_query = [] + for key in changes.keys(): + sub_query.append(f"{helper.key_to_snake_case(key)} = %({key})s") + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify(f"""\ + UPDATE public.projects + SET + {" ,".join(sub_query)} + WHERE + project_id = %(project_id)s + AND deleted_at ISNULL + RETURNING project_id,name,gdpr;""", + {"project_id": project_id, **changes}) + ) + return helper.dict_to_camel_case(cur.fetchone()) + + +def __create(tenant_id, name): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify(f"""\ + INSERT INTO public.projects (name, active) + VALUES (%(name)s,TRUE) + RETURNING project_id;""", + {"name": name}) + ) + project_id = cur.fetchone()["project_id"] + return get_project(tenant_id=tenant_id, project_id=project_id, include_gdpr=True) + + +@dev.timed +def get_projects(tenant_id, recording_state=False, gdpr=None, recorded=False, stack_integrations=False): + with pg_client.PostgresClient() as cur: + cur.execute(f"""\ + SELECT + s.project_id, s.name, s.project_key + {',s.gdpr' if gdpr else ''} + {',COALESCE((SELECT TRUE FROM public.sessions WHERE sessions.project_id = s.project_id LIMIT 1), FALSE) AS recorded' if recorded else ''} + {',stack_integrations.count>0 AS stack_integrations' if stack_integrations else ''} + FROM public.projects AS s + {'LEFT JOIN LATERAL (SELECT COUNT(*) AS count FROM public.integrations WHERE s.project_id = integrations.project_id LIMIT 1) AS stack_integrations ON TRUE' if stack_integrations else ''} + where s.deleted_at IS NULL + ORDER BY s.project_id;""" + ) + rows = cur.fetchall() + if recording_state: + for r in rows: + query = cur.mogrify( + "select COALESCE(MAX(start_ts),0) AS last from public.sessions where project_id=%(project_id)s;", + {"project_id": r["project_id"]}) + cur.execute( + query=query + ) + status = cur.fetchone() + if status["last"] < TimeUTC.now(-2): + r["status"] = "red" + elif status["last"] < TimeUTC.now(-1): + r["status"] = "yellow" + else: + r["status"] = "green" + + return helper.list_to_camel_case(rows) + + +def get_project(tenant_id, project_id, include_last_session=False, include_gdpr=None): + with pg_client.PostgresClient() as cur: + query = cur.mogrify(f"""\ + SELECT + s.project_id, + s.project_key, + s.name + {",(SELECT max(ss.start_ts) FROM public.sessions AS ss WHERE ss.project_id = %(project_id)s) AS last_recorded_session_at" if include_last_session else ""} + {',s.gdpr' if include_gdpr else ''} + FROM public.projects AS s + where s.project_id =%(project_id)s + AND s.deleted_at IS NULL + LIMIT 1;""", + {"project_id": project_id}) + + cur.execute( + query=query + ) + row = cur.fetchone() + return helper.dict_to_camel_case(row) + + +def create(tenant_id, user_id, data): + admin = users.get(user_id=user_id, tenant_id=tenant_id) + if not admin["admin"] and not admin["superAdmin"]: + return {"errors": ["unauthorized"]} + return {"data": __create(tenant_id=tenant_id, name=data.get("name", "my first project"))} + + +def edit(tenant_id, user_id, project_id, data): + admin = users.get(user_id=user_id, tenant_id=tenant_id) + if not admin["admin"] and not admin["superAdmin"]: + return {"errors": ["unauthorized"]} + return {"data": __update(tenant_id=tenant_id, project_id=project_id, + changes={"name": data.get("name", "my first project")})} + + +def delete(tenant_id, user_id, project_id): + admin = users.get(user_id=user_id, tenant_id=tenant_id) + + if not admin["admin"] and not admin["superAdmin"]: + return {"errors": ["unauthorized"]} + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + UPDATE public.projects + SET + deleted_at = timezone('utc'::text, now()), + active = FALSE + WHERE + project_id = %(project_id)s;""", + {"project_id": project_id}) + ) + return {"data": {"state": "success"}} + + +def count_by_tenant(tenant_id): + with pg_client.PostgresClient() as cur: + cur.execute("""\ + SELECT + count(s.project_id) + FROM public.projects AS s + where s.deleted_at IS NULL;""") + return cur.fetchone()["count"] + + +def get_gdpr(project_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + SELECT + gdpr + FROM public.projects AS s + where s.project_id =%(project_id)s + AND s.deleted_at IS NULL;""", + {"project_id": project_id}) + ) + return cur.fetchone()["gdpr"] + + +def edit_gdpr(project_id, gdpr): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + UPDATE public.projects + SET + gdpr = gdpr|| %(gdpr)s + WHERE + project_id = %(project_id)s + AND deleted_at ISNULL + RETURNING gdpr;""", + {"project_id": project_id, "gdpr": json.dumps(gdpr)}) + ) + return cur.fetchone()["gdpr"] + + +def get_internal_project_id(project_key): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + SELECT project_id + FROM public.projects + where project_key =%(project_key)s AND deleted_at ISNULL;""", + {"project_key": project_key}) + ) + return cur.fetchone()["project_id"] + + +def get_project_key(project_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + SELECT project_key + FROM public.projects + where project_id =%(project_id)s AND deleted_at ISNULL;""", + {"project_id": project_id}) + ) + return cur.fetchone()["project_key"] + + +def get_capture_status(project_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + SELECT + sample_rate AS rate, sample_rate=100 AS capture_all + FROM public.projects + where project_id =%(project_id)s AND deleted_at ISNULL;""", + {"project_id": project_id}) + ) + return helper.dict_to_camel_case(cur.fetchone()) + + +def update_capture_status(project_id, changes): + if "rate" not in changes and "captureAll" not in changes: + return {"errors": ["please provide 'rate' and/or 'captureAll' attributes to update."]} + if int(changes["rate"]) < 0 or int(changes["rate"]) > 100: + return {"errors": ["'rate' must be between 0..100."]} + sample_rate = 0 + if "rate" in changes: + sample_rate = int(changes["rate"]) + if changes.get("captureAll"): + sample_rate = 100 + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + UPDATE public.projects + SET sample_rate= %(sample_rate)s + WHERE project_id =%(project_id)s AND deleted_at ISNULL;""", + {"project_id": project_id, "sample_rate": sample_rate}) + ) + + return changes diff --git a/api/chalicelib/core/reset_password.py b/api/chalicelib/core/reset_password.py new file mode 100644 index 000000000..a792bfbc1 --- /dev/null +++ b/api/chalicelib/core/reset_password.py @@ -0,0 +1,66 @@ +import chalicelib.utils.TimeUTC +from chalicelib.utils import email_helper, captcha, helper +import secrets +from chalicelib.utils import pg_client + +from chalicelib.core import users + + +def step1(data): + print("====================== reset password 1 ===============") + print(data) + if helper.allow_captcha() and not captcha.is_valid(data["g-recaptcha-response"]): + print("error: Invalid captcha.") + return {"errors": ["Invalid captcha."]} + if "email" not in data: + return {"errors": ["email not found in body"]} + + a_users = users.get_by_email_only(data["email"]) + if len(a_users) > 1: + print(f"multiple users found for [{data['email']}] please contact our support") + return {"errors": ["please contact our support"]} + elif len(a_users) == 1: + a_users = a_users[0] + reset_token = secrets.token_urlsafe(6) + users.update(tenant_id=a_users["tenantId"], user_id=a_users["id"], + changes={"token": reset_token}) + email_helper.send_reset_code(recipient=data["email"], reset_code=reset_token) + else: + print(f"invalid email address [{data['email']}]") + return {"errors": ["invalid email address"]} + return {"data": {"state": "success"}} + + +def step2(data): + print("====================== change password 2 ===============") + user = users.get_by_email_reset(data["email"], data["code"]) + if not user: + print("error: wrong email or reset code") + return {"errors": ["wrong email or reset code"]} + users.update(tenant_id=user["tenantId"], user_id=user["id"], + changes={"token": None, "password": data["password"], "generatedPassword": False, + "verifiedEmail": True}) + return {"data": {"state": "success"}} + + +def cron(): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + SELECT user_id + FROM public.basic_authentication + WHERE token notnull + AND (token_requested_at isnull or (EXTRACT(EPOCH FROM token_requested_at)*1000)::BIGINT < %(time)s);""", + {"time": chalicelib.utils.TimeUTC.TimeUTC.now(delta_days=-1)}) + ) + results = cur.fetchall() + if len(results) == 0: + return + results = tuple([r["user_id"] for r in results]) + cur.execute( + cur.mogrify("""\ + UPDATE public.basic_authentication + SET token = NULL, token_requested_at = NULL + WHERE user_id in %(ids)s;""", + {"ids": results}) + ) diff --git a/api/chalicelib/core/resources.py b/api/chalicelib/core/resources.py new file mode 100644 index 000000000..6b9ba9170 --- /dev/null +++ b/api/chalicelib/core/resources.py @@ -0,0 +1,22 @@ +from chalicelib.utils import helper, pg_client + + +def get_by_session_id(session_id): + with pg_client.PostgresClient() as cur: + ch_query = """\ + SELECT + timestamp AS datetime, + url, + type, + duration, + ttfb, + header_size, + encoded_body_size, + decoded_body_size, + success + FROM events.resources + WHERE session_id = %(session_id)s;""" + params = {"session_id": session_id} + cur.execute(cur.mogrify(ch_query, params)) + rows = cur.fetchall() + return helper.list_to_camel_case(rows) diff --git a/api/chalicelib/core/sessions.py b/api/chalicelib/core/sessions.py new file mode 100644 index 000000000..480877468 --- /dev/null +++ b/api/chalicelib/core/sessions.py @@ -0,0 +1,620 @@ +from chalicelib.utils import pg_client, helper +from chalicelib.utils import dev +from chalicelib.core import events, sessions_metas, socket_ios, metadata, events_ios, sessions_mobs + +if helper.is_free_open_source_edition(): + from chalicelib.core import projects, errors +else: + from chalicelib.ee import projects, errors + +from chalicelib.core import resources + +SESSION_PROJECTION_COLS = """s.project_id, + s.session_id::text AS session_id, + s.user_uuid, + s.user_id, + s.user_agent, + s.user_os, + s.user_browser, + s.user_device, + s.user_device_type, + s.user_country, + s.start_ts, + s.duration, + s.events_count, + s.pages_count, + s.errors_count, + s.user_anonymous_id, + s.platform, + s.issue_score, + s.issue_types::text[] AS issue_types, + favorite_sessions.session_id NOTNULL AS favorite, + COALESCE((SELECT TRUE + FROM public.user_viewed_sessions AS fs + WHERE s.session_id = fs.session_id + AND fs.user_id = %(userId)s LIMIT 1), FALSE) AS viewed + """ + + +def __group_metadata(session, project_metadata): + meta = [] + for m in project_metadata.keys(): + if project_metadata[m] is not None and session.get(m) is not None: + meta.append({project_metadata[m]: session[m]}) + session.pop(m) + return meta + + +def get_by_id2_pg(project_id, session_id, user_id, full_data=False, include_fav_viewed=False, group_metadata=False): + with pg_client.PostgresClient() as cur: + extra_query = [] + if include_fav_viewed: + extra_query.append("""COALESCE((SELECT TRUE + FROM public.user_favorite_sessions AS fs + WHERE s.session_id = fs.session_id + AND fs.user_id = %(userId)s), FALSE) AS favorite""") + extra_query.append("""COALESCE((SELECT TRUE + FROM public.user_viewed_sessions AS fs + WHERE s.session_id = fs.session_id + AND fs.user_id = %(userId)s), FALSE) AS viewed""") + query = cur.mogrify( + f"""\ + SELECT + s.*, + s.session_id::text AS session_id + {"," if len(extra_query) > 0 else ""}{",".join(extra_query)} + {(",json_build_object(" + ",".join([f"'{m}',p.{m}" for m in metadata._get_column_names()]) + ") AS project_metadata") if group_metadata else ''} + FROM public.sessions AS s {"INNER JOIN public.projects AS p USING (project_id)" if group_metadata else ""} + WHERE s.project_id = %(project_id)s + AND s.session_id = %(session_id)s;""", + {"project_id": project_id, "session_id": session_id, "userId": user_id} + ) + # print("===============") + # print(query) + cur.execute(query=query) + + data = cur.fetchone() + if data is not None: + data = helper.dict_to_camel_case(data) + if full_data: + if data["platform"] == 'ios': + data['events'] = events_ios.get_by_sessionId(project_id=project_id, session_id=session_id) + for e in data['events']: + if e["type"].endswith("_IOS"): + e["type"] = e["type"][:-len("_IOS")] + data['crashes'] = events_ios.get_crashes_by_session_id(session_id=session_id) + data['userEvents'] = events_ios.get_customs_by_sessionId(project_id=project_id, + session_id=session_id) + data['mobsUrl'] = sessions_mobs.get_ios(sessionId=session_id) + data['metadata'] = __group_metadata(project_metadata=data.pop("projectMetadata"), session=data) + data["socket"] = socket_ios.start_replay(project_id=project_id, session_id=session_id, + device=data["userDevice"], + os_version=data["userOsVersion"], + mob_url=data["mobsUrl"]) + else: + data['events'] = events.get_by_sessionId2_pg(project_id=project_id, session_id=session_id, + group_clickrage=True) + all_errors = events.get_errors_by_session_id(session_id=session_id) + data['stackEvents'] = [e for e in all_errors if e['source'] != "js_exception"] + # to keep only the first stack + data['errors'] = [errors.format_first_stack_frame(e) for e in all_errors if + e['source'] == "js_exception"][ + :500] # limit the number of errors to reduce the response-body size + data['userEvents'] = events.get_customs_by_sessionId2_pg(project_id=project_id, + session_id=session_id) + data['mobsUrl'] = sessions_mobs.get_web(sessionId=session_id) + data['metadata'] = __group_metadata(project_metadata=data.pop("projectMetadata"), session=data) + data['resources'] = resources.get_by_session_id(session_id=session_id) + + return data + return None + + +def sessions_args(args, params): + if params is not None: + for key in ['userOs', 'userBrowser', 'userCountry', 'path', 'path_in_order', 'after', 'minDuration', + 'maxDuration', 'sortSessions', 'eventsCount', 'consoleLogCount', 'startDate', 'endDate', + 'consoleLog', 'location']: + args[key] = params.get(key) + + +new_line = "\n" + + +def __get_sql_operator(op): + op = op.lower() + return "=" if op == "is" or op == "on" else "!=" if op == "isnot" else "ILIKE" if op == "contains" else "NOT ILIKE" if op == "notcontains" else "=" + + +def __is_negation_operator(op): + return op in ("!=", "NOT ILIKE") + + +def __reverse_sql_operator(op): + return "=" if op == "!=" else "!=" if op == "=" else "ILIKE" if op == "NOT ILIKE" else "NOT ILIKE" + + +def __get_sql_operator_multiple(op): + op = op.lower() + return " IN " if op == "is" else " NOT IN " + + +def __get_sql_operator_boolean(op): + op = op.lower() + return True if op == "true" else False + + +def __get_sql_value_multiple(values): + if isinstance(values, tuple): + return values + return tuple([v for v in values]) + + +@dev.timed +def search2_pg(data, project_id, user_id, favorite_only=False, errors_only=False, error_status="ALL", + count_only=False, issue=None): + sessions = [] + generic_args = {"startDate": data['startDate'], "endDate": data['endDate'], + "projectId": project_id, + "userId": user_id} + with pg_client.PostgresClient() as cur: + extra_constraints = [ + cur.mogrify("s.project_id = %(project_id)s", {"project_id": project_id}), + cur.mogrify("s.duration IS NOT NULL", {}) + ] + extra_from = "" + fav_only_join = "" + if favorite_only and not errors_only: + fav_only_join = "LEFT JOIN public.user_favorite_sessions AS fs ON fs.session_id = s.session_id" + extra_constraints.append(cur.mogrify("fs.user_id = %(userId)s", {"userId": user_id})) + events_query_part = "" + strict = True + + if len(data.get("events", [])) > 0: + events_query_from = [] + event_index = 0 + + for event in data["events"]: + # TODO: remove this when message_id is removed + seq_id = False + event_type = event["type"].upper() + if event.get("operator") is None: + event["operator"] = "is" + op = __get_sql_operator(event["operator"]) + is_not = False + if __is_negation_operator(op) and event_index > 0: + is_not = True + op = __reverse_sql_operator(op) + event_from = "%s INNER JOIN public.sessions AS ms USING (session_id)" + event_where = ["ms.project_id = %(projectId)s", "main.timestamp >= %(startDate)s", + "main.timestamp <= %(endDate)s", "ms.start_ts >= %(startDate)s", + "ms.start_ts <= %(endDate)s"] + event_args = {"value": helper.string_to_sql_like_with_op(event['value'], op)} + if event_type not in list(events.SUPPORTED_TYPES.keys()) \ + or event.get("value") in [None, "", "*"] \ + and (event_type != events.event_type.ERROR.ui_type \ + or event_type != events.event_type.ERROR_IOS.ui_type): + continue + if event_type == events.event_type.CLICK.ui_type: + event_from = event_from % f"{events.event_type.CLICK.table} AS main " + event_where.append(f"main.{events.event_type.CLICK.column} {op} %(value)s") + + elif event_type == events.event_type.INPUT.ui_type: + event_from = event_from % f"{events.event_type.INPUT.table} AS main " + event_where.append(f"main.{events.event_type.INPUT.column} {op} %(value)s") + if len(event.get("custom", "")) > 0: + event_where.append("main.value ILIKE %(custom)s") + event_args["custom"] = helper.string_to_sql_like_with_op(event['custom'], "ILIKE") + elif event_type == events.event_type.LOCATION.ui_type: + event_from = event_from % f"{events.event_type.LOCATION.table} AS main " + event_where.append(f"main.{events.event_type.LOCATION.column} {op} %(value)s") + elif event_type == events.event_type.CUSTOM.ui_type: + seq_id = True + event_from = event_from % f"{events.event_type.CUSTOM.table} AS main " + event_where.append(f"main.{events.event_type.CUSTOM.column} {op} %(value)s") + elif event_type == events.event_type.REQUEST.ui_type: + seq_id = True + event_from = event_from % f"{events.event_type.REQUEST.table} AS main " + event_where.append(f"main.{events.event_type.REQUEST.column} {op} %(value)s") + elif event_type == events.event_type.GRAPHQL.ui_type: + event_from = event_from % f"{events.event_type.GRAPHQL.table} AS main " + event_where.append(f"main.{events.event_type.GRAPHQL.column} {op} %(value)s") + elif event_type == events.event_type.STATEACTION.ui_type: + event_from = event_from % f"{events.event_type.STATEACTION.table} AS main " + event_where.append(f"main.{events.event_type.STATEACTION.column} {op} %(value)s") + elif event_type == events.event_type.ERROR.ui_type: + if event.get("source") in [None, "*", ""]: + event["source"] = "js_exception" + event_from = event_from % f"{events.event_type.ERROR.table} AS main INNER JOIN public.errors AS main1 USING(error_id)" + if event.get("value") not in [None, "*", ""]: + event_where.append(f"(main1.message {op} %(value)s OR main1.name {op} %(value)s)") + if event.get("source") not in [None, "*", ""]: + event_where.append(f"main1.source = %(source)s") + event_args["source"] = event["source"] + elif event.get("source") not in [None, "*", ""]: + event_where.append(f"main1.source = %(source)s") + event_args["source"] = event["source"] + + # ----- IOS + elif event_type == events.event_type.CLICK_IOS.ui_type: + seq_id = True + event_from = event_from % f"{events.event_type.CLICK_IOS.table} AS main " + event_where.append(f"main.{events.event_type.CLICK_IOS.column} {op} %(value)s") + + elif event_type == events.event_type.INPUT_IOS.ui_type: + seq_id = True + event_from = event_from % f"{events.event_type.INPUT_IOS.table} AS main " + event_where.append(f"main.{events.event_type.INPUT_IOS.column} {op} %(value)s") + + if len(event.get("custom", "")) > 0: + event_where.append("main.value ILIKE %(custom)s") + event_args["custom"] = helper.string_to_sql_like_with_op(event['custom'], "ILIKE") + elif event_type == events.event_type.VIEW_IOS.ui_type: + seq_id = True + event_from = event_from % f"{events.event_type.VIEW_IOS.table} AS main " + event_where.append(f"main.{events.event_type.VIEW_IOS.column} {op} %(value)s") + elif event_type == events.event_type.CUSTOM_IOS.ui_type: + seq_id = True + event_from = event_from % f"{events.event_type.CUSTOM_IOS.table} AS main " + event_where.append(f"main.{events.event_type.CUSTOM_IOS.column} {op} %(value)s") + elif event_type == events.event_type.REQUEST_IOS.ui_type: + seq_id = True + event_from = event_from % f"{events.event_type.REQUEST_IOS.table} AS main " + event_where.append(f"main.{events.event_type.REQUEST_IOS.column} {op} %(value)s") + elif event_type == events.event_type.ERROR_IOS.ui_type: + seq_id = True + event_from = event_from % f"{events.event_type.ERROR_IOS.table} AS main INNER JOIN public.crashes_ios AS main1 USING(crash_id)" + if event.get("value") not in [None, "*", ""]: + event_where.append(f"(main1.reason {op} %(value)s OR main1.name {op} %(value)s)") + + else: + continue + + event_index += 1 + if is_not: + event_from += f""" LEFT JOIN (SELECT session_id FROM {event_from} WHERE {" AND ".join(event_where)}) AS left_not USING (session_id)""" + event_where[-1] = "left_not.session_id ISNULL" + events_query_from.append(cur.mogrify(f"""\ + (SELECT + main.session_id, {'seq_index' if seq_id else 'message_id %%%% 2147483647 AS seq_index'}, timestamp, {event_index} AS funnel_step + FROM {event_from} + WHERE {" AND ".join(event_where)} + )\ + """, {**generic_args, **event_args}).decode('UTF-8')) + + if len(events_query_from) > 0: + events_query_part = f"""\ + SELECT + session_id, MIN(timestamp) AS first_event_ts, MAX(timestamp) AS last_event_ts + FROM + ({(" UNION ALL ").join(events_query_from)}) AS f_query + GROUP BY 1 + {"" if event_index < 2 else f"HAVING events.funnel(array_agg(funnel_step ORDER BY timestamp,seq_index ASC), {event_index})" if strict + else f"HAVING array_length(array_agg(DISTINCT funnel_step), 1) = {len(data['events'])}"} + {fav_only_join} + """ + else: + data["events"] = [] + + # --------------------------------------------------------------------------- + if "filters" in data: + meta_keys = metadata.get(project_id=project_id) + meta_keys = {m["key"]: m["index"] for m in meta_keys} + for f in data["filters"]: + if not isinstance(f.get("value"), list): + f["value"] = [f.get("value")] + if len(f["value"]) == 0 or f["value"][0] is None: + continue + filter_type = f["type"].upper() + f["value"] = __get_sql_value_multiple(f["value"]) + if filter_type == sessions_metas.meta_type.USERBROWSER: + op = __get_sql_operator_multiple(f["operator"]) + extra_constraints.append( + cur.mogrify(f's.user_browser {op} %(value)s', {"value": f["value"]})) + + elif filter_type in [sessions_metas.meta_type.USEROS, sessions_metas.meta_type.USEROS_IOS]: + op = __get_sql_operator_multiple(f["operator"]) + extra_constraints.append(cur.mogrify(f's.user_os {op} %(value)s', {"value": f["value"]})) + + elif filter_type in [sessions_metas.meta_type.USERDEVICE, sessions_metas.meta_type.USERDEVICE_IOS]: + op = __get_sql_operator_multiple(f["operator"]) + extra_constraints.append(cur.mogrify(f's.user_device {op} %(value)s', {"value": f["value"]})) + + elif filter_type in [sessions_metas.meta_type.USERCOUNTRY, sessions_metas.meta_type.USERCOUNTRY_IOS]: + op = __get_sql_operator_multiple(f["operator"]) + extra_constraints.append(cur.mogrify(f's.user_country {op} %(value)s', {"value": f["value"]})) + elif filter_type == "duration".upper(): + if len(f["value"]) > 0 and f["value"][0] is not None: + extra_constraints.append( + cur.mogrify("s.duration >= %(minDuration)s", {"minDuration": f["value"][0]})) + if len(f["value"]) > 1 and f["value"][1] is not None and f["value"][1] > 0: + extra_constraints.append( + cur.mogrify("s.duration <= %(maxDuration)s", {"maxDuration": f["value"][1]})) + elif filter_type == sessions_metas.meta_type.REFERRER: + # events_query_part = events_query_part + f"INNER JOIN events.pages AS p USING(session_id)" + extra_from += f"INNER JOIN {events.event_type.LOCATION.table} AS p USING(session_id)" + op = __get_sql_operator_multiple(f["operator"]) + extra_constraints.append( + cur.mogrify(f"p.base_referrer {op} %(referrer)s", {"referrer": f["value"]})) + elif filter_type == events.event_type.METADATA.ui_type: + op = __get_sql_operator(f["operator"]) + if f.get("key") in meta_keys.keys(): + extra_constraints.append( + cur.mogrify(f"s.{metadata.index_to_colname(meta_keys[f['key']])} {op} %(value)s", + {"value": helper.string_to_sql_like_with_op(f["value"][0], op)}) + ) + elif filter_type in [sessions_metas.meta_type.USERID, sessions_metas.meta_type.USERID_IOS]: + op = __get_sql_operator(f["operator"]) + extra_constraints.append( + cur.mogrify(f"s.user_id {op} %(value)s", + {"value": helper.string_to_sql_like_with_op(f["value"][0], op)}) + ) + elif filter_type in [sessions_metas.meta_type.USERANONYMOUSID, + sessions_metas.meta_type.USERANONYMOUSID_IOS]: + op = __get_sql_operator(f["operator"]) + extra_constraints.append( + cur.mogrify(f"s.user_anonymous_id {op} %(value)s", + {"value": helper.string_to_sql_like_with_op(f["value"][0], op)}) + ) + elif filter_type in [sessions_metas.meta_type.REVID, sessions_metas.meta_type.REVID_IOS]: + op = __get_sql_operator(f["operator"]) + extra_constraints.append( + cur.mogrify(f"s.rev_id {op} %(value)s", + {"value": helper.string_to_sql_like_with_op(f["value"][0], op)}) + ) + + # --------------------------------------------------------------------------- + + if data.get("startDate") is not None: + extra_constraints.append(cur.mogrify("s.start_ts >= %(startDate)s", {"startDate": data['startDate']})) + else: + data['startDate'] = None + if data.get("endDate") is not None: + extra_constraints.append(cur.mogrify("s.start_ts <= %(endDate)s", {"endDate": data['endDate']})) + else: + data['endDate'] = None + + if data.get('platform') is not None: + if data['platform'] == 'mobile': + extra_constraints.append(b"s.user_os in ('Android','BlackBerry OS','iOS','Tizen','Windows Phone')") + elif data['platform'] == 'desktop': + extra_constraints.append( + b"s.user_os in ('Chrome OS','Fedora','Firefox OS','Linux','Mac OS X','Ubuntu','Windows')") + + order = "DESC" + if data.get("order") is not None: + order = data["order"] + sort = 'session_id' + if data.get("sort") is not None and data["sort"] != "session_id": + sort += " " + order + "," + helper.key_to_snake_case(data["sort"]) + else: + sort = 'session_id' + + if errors_only: + extra_from += f" INNER JOIN {events.event_type.ERROR.table} AS er USING (session_id) INNER JOIN public.errors AS ser USING (error_id)" + extra_constraints.append(b"ser.source = 'js_exception'") + if error_status != "ALL": + extra_constraints.append(cur.mogrify("ser.status = %(status)s", {"status": error_status.lower()})) + if favorite_only: + extra_from += " INNER JOIN public.user_favorite_errors AS ufe USING (error_id)" + extra_constraints.append(cur.mogrify("ufe.user_id = %(user_id)s", {"user_id": user_id})) + + extra_constraints = [extra.decode('UTF-8') + "\n" for extra in extra_constraints] + if not favorite_only and not errors_only: + extra_from += """LEFT JOIN (SELECT user_id, session_id + FROM public.user_favorite_sessions + WHERE user_id = %(userId)s) AS favorite_sessions + USING (session_id)""" + extra_join = "" + if issue is not None: + extra_join = cur.mogrify(""" + INNER JOIN LATERAL(SELECT TRUE FROM events_common.issues INNER JOIN public.issues AS p_issues USING (issue_id) + WHERE issues.session_id=f.session_id + AND p_issues.type=%(type)s + AND p_issues.context_string=%(contextString)s + AND timestamp >= f.first_event_ts + AND timestamp <= f.last_event_ts) AS issues ON(TRUE) + """, {"contextString": issue["contextString"], "type": issue["type"]}).decode('UTF-8') + + query_part = f"""\ + FROM {f"({events_query_part}) AS f" if len(events_query_part) > 0 else "public.sessions AS s"} + {extra_join} + {"INNER JOIN public.sessions AS s USING(session_id)" if len(events_query_part) > 0 else ""} + {extra_from} + WHERE + + {" AND ".join(extra_constraints)}""" + + if errors_only: + main_query = cur.mogrify(f"""\ + SELECT DISTINCT er.error_id, ser.status, ser.parent_error_id, ser.payload, + COALESCE((SELECT TRUE + FROM public.user_favorite_sessions AS fs + WHERE s.session_id = fs.session_id + AND fs.user_id = %(userId)s), FALSE) AS favorite, + COALESCE((SELECT TRUE + FROM public.user_viewed_errors AS ve + WHERE er.error_id = ve.error_id + AND ve.user_id = %(userId)s LIMIT 1), FALSE) AS viewed + {query_part};""", + generic_args) + + elif count_only: + main_query = cur.mogrify(f"""\ + SELECT COUNT(DISTINCT s.session_id) AS count_sessions, COUNT(DISTINCT s.user_uuid) AS count_users + {query_part};""", + generic_args) + else: + main_query = cur.mogrify(f"""\ + SELECT * FROM + (SELECT DISTINCT ON(s.session_id) {SESSION_PROJECTION_COLS} + {query_part} + ORDER BY s.session_id desc) AS filtred_sessions + ORDER BY favorite DESC, issue_score DESC, {sort} {order};""", + generic_args) + + # print("--------------------") + # print(main_query) + + cur.execute(main_query) + + if count_only: + return helper.dict_to_camel_case(cur.fetchone()) + sessions = [] + total = cur.rowcount + row = cur.fetchone() + limit = 200 + while row is not None and len(sessions) < limit: + if row.get("favorite"): + limit += 1 + sessions.append(row) + row = cur.fetchone() + + if errors_only: + return sessions + if data.get("sort") is not None and data["sort"] != "session_id": + sessions = sorted(sessions, key=lambda s: s[helper.key_to_snake_case(data["sort"])], + reverse=data.get("order", "DESC").upper() == "DESC") + return { + 'total': total, + 'sessions': helper.list_to_camel_case(sessions) + } + + +def search_by_metadata(tenant_id, user_id, m_key, m_value, project_id=None): + if project_id is None: + all_projects = projects.get_projects(tenant_id=tenant_id, recording_state=False) + else: + all_projects = [ + projects.get_project(tenant_id=tenant_id, project_id=int(project_id), include_last_session=False, + include_gdpr=False)] + + all_projects = {int(p["projectId"]): p["name"] for p in all_projects} + project_ids = list(all_projects.keys()) + + available_keys = metadata.get_keys_by_projects(project_ids) + for i in available_keys: + available_keys[i]["user_id"] = sessions_metas.meta_type.USERID + available_keys[i]["user_anonymous_id"] = sessions_metas.meta_type.USERANONYMOUSID + results = {} + for i in project_ids: + if m_key not in available_keys[i].values(): + available_keys.pop(i) + results[i] = {"total": 0, "sessions": [], "missingMetadata": True} + project_ids = list(available_keys.keys()) + if len(project_ids) > 0: + with pg_client.PostgresClient() as cur: + sub_queries = [] + for i in project_ids: + col_name = list(available_keys[i].keys())[list(available_keys[i].values()).index(m_key)] + sub_queries.append(cur.mogrify( + f"(SELECT COALESCE(COUNT(s.*)) AS count FROM public.sessions AS s WHERE s.project_id = %(id)s AND s.{col_name} = %(value)s) AS \"{i}\"", + {"id": i, "value": m_value}).decode('UTF-8')) + query = f"""SELECT {", ".join(sub_queries)};""" + cur.execute(query=query) + + rows = cur.fetchone() + + sub_queries = [] + for i in rows.keys(): + results[i] = {"total": rows[i], "sessions": [], "missingMetadata": False, "name": all_projects[int(i)]} + if rows[i] > 0: + col_name = list(available_keys[int(i)].keys())[list(available_keys[int(i)].values()).index(m_key)] + sub_queries.append( + cur.mogrify( + f"""( + SELECT * + FROM ( + SELECT DISTINCT ON(favorite_sessions.session_id, s.session_id) {SESSION_PROJECTION_COLS} + FROM public.sessions AS s LEFT JOIN (SELECT session_id + FROM public.user_favorite_sessions + WHERE user_favorite_sessions.user_id = %(userId)s + ) AS favorite_sessions USING (session_id) + WHERE s.project_id = %(id)s AND s.duration IS NOT NULL AND s.{col_name} = %(value)s + ) AS full_sessions + ORDER BY favorite DESC, issue_score DESC + LIMIT 10 + )""", + {"id": i, "value": m_value, "userId": user_id}).decode('UTF-8')) + if len(sub_queries) > 0: + cur.execute("\nUNION\n".join(sub_queries)) + rows = cur.fetchall() + for i in rows: + results[str(i["project_id"])]["sessions"].append(helper.dict_to_camel_case(i)) + return results + + +def search_by_issue(user_id, issue, project_id, start_date, end_date): + constraints = ["s.project_id = %(projectId)s", + "p_issues.context_string = %(issueContextString)s", + "p_issues.type = %(issueType)s"] + if start_date is not None: + constraints.append("start_ts >= %(startDate)s") + if end_date is not None: + constraints.append("start_ts <= %(endDate)s") + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + f"""SELECT DISTINCT ON(favorite_sessions.session_id, s.session_id) {SESSION_PROJECTION_COLS} + FROM public.sessions AS s + INNER JOIN events_common.issues USING (session_id) + INNER JOIN public.issues AS p_issues USING (issue_id) + LEFT JOIN (SELECT user_id, session_id + FROM public.user_favorite_sessions + WHERE user_id = %(userId)s) AS favorite_sessions + USING (session_id) + WHERE {" AND ".join(constraints)} + ORDER BY s.session_id DESC;""", + { + "issueContextString": issue["contextString"], + "issueType": issue["type"], "userId": user_id, + "projectId": project_id, + "startDate": start_date, + "endDate": end_date + })) + + rows = cur.fetchall() + return helper.list_to_camel_case(rows) + + +def get_favorite_sessions(project_id, user_id, include_viewed=False): + with pg_client.PostgresClient() as cur: + query_part = cur.mogrify(f"""\ + FROM public.sessions AS s + LEFT JOIN public.user_favorite_sessions AS fs ON fs.session_id = s.session_id + WHERE fs.user_id = %(userId)s""", + {"projectId": project_id, "userId": user_id} + ) + + extra_query = b"" + if include_viewed: + extra_query = cur.mogrify(""",\ + COALESCE((SELECT TRUE + FROM public.user_viewed_sessions AS fs + WHERE s.session_id = fs.session_id + AND fs.user_id = %(userId)s), FALSE) AS viewed""", + {"projectId": project_id, "userId": user_id}) + + cur.execute(f"""\ + SELECT s.project_id, + s.session_id::text AS session_id, + s.user_uuid, + s.user_id, + s.user_agent, + s.user_os, + s.user_browser, + s.user_device, + s.user_country, + s.start_ts, + s.duration, + s.events_count, + s.pages_count, + s.errors_count, + TRUE AS favorite + {extra_query.decode('UTF-8')} + {query_part.decode('UTF-8')} + ORDER BY s.session_id + LIMIT 50;""") + + sessions = cur.fetchall() + return helper.list_to_camel_case(sessions) diff --git a/api/chalicelib/core/sessions_assignments.py b/api/chalicelib/core/sessions_assignments.py new file mode 100644 index 000000000..2b9c28d8f --- /dev/null +++ b/api/chalicelib/core/sessions_assignments.py @@ -0,0 +1,158 @@ +from chalicelib.utils.helper import environ as env +from chalicelib.utils import helper +from chalicelib.utils.TimeUTC import TimeUTC +from chalicelib.utils import pg_client +from chalicelib.core import integrations_manager, integration_base_issue +import json + + +def __get_saved_data(project_id, session_id, issue_id, tool): + with pg_client.PostgresClient() as cur: + query = cur.mogrify(f"""\ + SELECT * + FROM public.assigned_sessions + WHERE + session_id = %(session_id)s + AND issue_id = %(issue_id)s + AND provider = %(provider)s;\ + """, + {"session_id": session_id, "issue_id": issue_id, "provider": tool.lower()}) + cur.execute( + query + ) + return helper.dict_to_camel_case(cur.fetchone()) + + +def create_new_assignment(tenant_id, project_id, session_id, creator_id, assignee, description, title, issue_type, integration_project_id): + error, integration = integrations_manager.get_integration(tenant_id=tenant_id, user_id=creator_id) + if error is not None: + return error + + i = integration.get() + + if i is None: + return {"errors": [f"integration not found"]} + link = env["SITE_URL"] + f"/{project_id}/session/{session_id}" + description += f"\n> {link}" + try: + issue = integration.issue_handler.create_new_assignment(title=title, assignee=assignee, description=description, + issue_type=issue_type, + integration_project_id=integration_project_id) + except integration_base_issue.RequestException as e: + return integration_base_issue.proxy_issues_handler(e) + if issue is not None and "id" not in issue: + return {"errors": ["something went wrong while creating the issue"]} + with pg_client.PostgresClient() as cur: + query = cur.mogrify("""\ + INSERT INTO public.assigned_sessions(session_id, issue_id, created_by, provider,provider_data) + VALUES (%(session_id)s, %(issue_id)s, %(creator_id)s, %(provider)s,%(provider_data)s);\ + """, + {"session_id": session_id, "creator_id": creator_id, + "issue_id": issue["id"], "provider": integration.provider.lower(), + "provider_data": json.dumps({"integrationProjectId": integration_project_id})}) + cur.execute( + query + ) + issue["provider"] = integration.provider.lower() + return issue + + +def get_all(project_id, user_id): + available_integrations = integrations_manager.get_available_integrations(user_id=user_id) + no_integration = not any(available_integrations.values()) + if no_integration: + return [] + all_integrations = all(available_integrations.values()) + extra_query = ["sessions.project_id = %(project_id)s"] + if not all_integrations: + extra_query.append("provider IN %(providers)s") + with pg_client.PostgresClient() as cur: + query = cur.mogrify(f"""\ + SELECT assigned_sessions.* + FROM public.assigned_sessions + INNER JOIN public.sessions USING (session_id) + WHERE {" AND ".join(extra_query)};\ +""", + {"project_id": project_id, + "providers": tuple(d for d in available_integrations if available_integrations[d])}) + cur.execute( + query + ) + assignments = helper.list_to_camel_case(cur.fetchall()) + for a in assignments: + a["createdAt"] = TimeUTC.datetime_to_timestamp(a["createdAt"]) + return assignments + + +def get_by_session(tenant_id, user_id, project_id, session_id): + available_integrations = integrations_manager.get_available_integrations(user_id=user_id) + if not any(available_integrations.values()): + return [] + extra_query = ["session_id = %(session_id)s", "provider IN %(providers)s"] + with pg_client.PostgresClient() as cur: + query = cur.mogrify(f"""\ + SELECT * + FROM public.assigned_sessions + WHERE {" AND ".join(extra_query)};""", + {"session_id": session_id, + "providers": tuple([k for k in available_integrations if available_integrations[k]])}) + cur.execute( + query + ) + results = cur.fetchall() + issues = {} + for i in results: + if i["provider"] not in issues.keys(): + issues[i["provider"]] = [] + + issues[i["provider"]].append({"integrationProjectId": i["provider_data"]["integrationProjectId"], + "id": i["issue_id"]}) + results = [] + for tool in issues.keys(): + error, integration = integrations_manager.get_integration(tool=tool, tenant_id=tenant_id, user_id=user_id) + if error is not None: + return error + + i = integration.get() + if i is None: + print("integration not found") + continue + + r = integration.issue_handler.get_by_ids(saved_issues=issues[tool]) + print(r) + for i in r["issues"]: + i["provider"] = tool + results += r["issues"] + return results + + +def get(tenant_id, user_id, project_id, session_id, assignment_id): + error, integration = integrations_manager.get_integration(tenant_id=tenant_id, user_id=user_id) + if error is not None: + return error + l = __get_saved_data(project_id, session_id, assignment_id, tool=integration.provider) + if l is None: + return {"errors": ["issue not found"]} + i = integration.get() + if i is None: + return {"errors": ["integration not found"]} + r = integration.issue_handler.get(integration_project_id=l["providerData"]["integrationProjectId"], + assignment_id=assignment_id) + + r["provider"] = integration.provider.lower() + return r + + +def comment(tenant_id, user_id, project_id, session_id, assignment_id, message): + error, integration = integrations_manager.get_integration(tenant_id=tenant_id, user_id=user_id) + if error is not None: + return error + i = integration.get() + + if i is None: + return {"errors": [f"integration not found"]} + l = __get_saved_data(project_id, session_id, assignment_id, tool=integration.provider) + + return integration.issue_handler.comment(integration_project_id=l["providerData"]["integrationProjectId"], + assignment_id=assignment_id, + comment=message) diff --git a/api/chalicelib/core/sessions_favorite_viewed.py b/api/chalicelib/core/sessions_favorite_viewed.py new file mode 100644 index 000000000..1239156ab --- /dev/null +++ b/api/chalicelib/core/sessions_favorite_viewed.py @@ -0,0 +1,89 @@ +from chalicelib.utils import pg_client +from chalicelib.core import sessions + + +def add_favorite_session(project_id, user_id, session_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify(f"""\ + INSERT INTO public.user_favorite_sessions + (user_id, session_id) + VALUES + (%(userId)s,%(sessionId)s);""", + {"userId": user_id, "sessionId": session_id}) + ) + return sessions.get_by_id2_pg(project_id=project_id, session_id=session_id, user_id=user_id, full_data=False, + include_fav_viewed=True) + + +def remove_favorite_session(project_id, user_id, session_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify(f"""\ + DELETE FROM public.user_favorite_sessions + WHERE + user_id = %(userId)s + AND session_id = %(sessionId)s;""", + {"userId": user_id, "sessionId": session_id}) + ) + return sessions.get_by_id2_pg(project_id=project_id, session_id=session_id, user_id=user_id, full_data=False, + include_fav_viewed=True) + + +def add_viewed_session(project_id, user_id, session_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + INSERT INTO public.user_viewed_sessions + (user_id, session_id) + VALUES + (%(userId)s,%(sessionId)s);""", + {"userId": user_id, "sessionId": session_id}) + ) + + +def favorite_session(project_id, user_id, session_id): + if favorite_session_exists(user_id=user_id, session_id=session_id): + return remove_favorite_session(project_id=project_id, user_id=user_id, session_id=session_id) + + return add_favorite_session(project_id=project_id, user_id=user_id, session_id=session_id) + + +def view_session(project_id, user_id, session_id): + if viewed_session_exists(user_id=user_id, session_id=session_id): + return None + return add_viewed_session(project_id=project_id, user_id=user_id, session_id=session_id) + + +def favorite_session_exists(user_id, session_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + """SELECT + session_id + FROM public.user_favorite_sessions + WHERE + user_id = %(userId)s + AND session_id = %(sessionId)s""", + {"userId": user_id, "sessionId": session_id}) + ) + r = cur.fetchone() + return r is not None + + +def viewed_session_exists(user_id, session_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + """SELECT + session_id + FROM public.user_viewed_sessions + WHERE + user_id = %(userId)s + AND session_id = %(sessionId)s""", + {"userId": user_id, "sessionId": session_id}) + ) + r = cur.fetchone() + if r: + return True + return False diff --git a/api/chalicelib/core/sessions_metas.py b/api/chalicelib/core/sessions_metas.py new file mode 100644 index 000000000..a21b78783 --- /dev/null +++ b/api/chalicelib/core/sessions_metas.py @@ -0,0 +1,226 @@ +from chalicelib.utils import pg_client, helper +from chalicelib.utils.event_filter_definition import SupportedFilter + + +def get_key_values(project_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + f"""\ + SELECT ARRAY_AGG(DISTINCT s.user_os + ORDER BY s.user_os) FILTER ( WHERE s.user_os IS NOT NULL AND s.platform='web') AS {meta_type.USEROS}, + ARRAY_AGG(DISTINCT s.user_browser + ORDER BY s.user_browser) + FILTER ( WHERE s.user_browser IS NOT NULL AND s.platform='web') AS {meta_type.USERBROWSER}, + ARRAY_AGG(DISTINCT s.user_device + ORDER BY s.user_device) + FILTER ( WHERE s.user_device IS NOT NULL AND s.user_device != '' AND s.platform='web') AS {meta_type.USERDEVICE}, + ARRAY_AGG(DISTINCT s.user_country + ORDER BY s.user_country) + FILTER ( WHERE s.user_country IS NOT NULL AND s.platform='web')::text[] AS {meta_type.USERCOUNTRY}, + ARRAY_AGG(DISTINCT s.user_id + ORDER BY s.user_id) FILTER ( WHERE s.user_id IS NOT NULL AND s.user_id != 'none' AND s.user_id != '' AND s.platform='web') AS {meta_type.USERID}, + ARRAY_AGG(DISTINCT s.user_anonymous_id + ORDER BY s.user_anonymous_id) FILTER ( WHERE s.user_anonymous_id IS NOT NULL AND s.user_anonymous_id != 'none' AND s.user_anonymous_id != '' AND s.platform='web') AS {meta_type.USERANONYMOUSID}, + ARRAY_AGG(DISTINCT s.rev_id + ORDER BY s.rev_id) FILTER ( WHERE s.rev_id IS NOT NULL AND s.platform='web') AS {meta_type.REVID}, + ARRAY_AGG(DISTINCT p.referrer + ORDER BY p.referrer) + FILTER ( WHERE p.referrer != '' ) AS {meta_type.REFERRER}, + + ARRAY_AGG(DISTINCT s.user_os + ORDER BY s.user_os) FILTER ( WHERE s.user_os IS NOT NULL AND s.platform='ios' ) AS {meta_type.USEROS_IOS}, + ARRAY_AGG(DISTINCT s.user_device + ORDER BY s.user_device) + FILTER ( WHERE s.user_device IS NOT NULL AND s.user_device != '' AND s.platform='ios') AS {meta_type.USERDEVICE}, + ARRAY_AGG(DISTINCT s.user_country + ORDER BY s.user_country) + FILTER ( WHERE s.user_country IS NOT NULL AND s.platform='ios')::text[] AS {meta_type.USERCOUNTRY_IOS}, + ARRAY_AGG(DISTINCT s.user_id + ORDER BY s.user_id) FILTER ( WHERE s.user_id IS NOT NULL AND s.user_id != 'none' AND s.user_id != '' AND s.platform='ios') AS {meta_type.USERID_IOS}, + ARRAY_AGG(DISTINCT s.user_anonymous_id + ORDER BY s.user_anonymous_id) FILTER ( WHERE s.user_anonymous_id IS NOT NULL AND s.user_anonymous_id != 'none' AND s.user_anonymous_id != '' AND s.platform='ios') AS {meta_type.USERANONYMOUSID_IOS}, + ARRAY_AGG(DISTINCT s.rev_id + ORDER BY s.rev_id) FILTER ( WHERE s.rev_id IS NOT NULL AND s.platform='ios') AS {meta_type.REVID_IOS} + FROM public.sessions AS s + LEFT JOIN events.pages AS p USING (session_id) + WHERE s.project_id = %(site_id)s;""", + {"site_id": project_id} + ) + ) + + row = cur.fetchone() + for k in row.keys(): + if row[k] is None: + row[k] = [] + elif len(row[k]) > 500: + row[k] = row[k][:500] + return helper.dict_to_CAPITAL_keys(row) + + +def get_top_key_values(project_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + f"""\ + SELECT {",".join([f"ARRAY((SELECT value FROM public.autocomplete WHERE project_id = %(site_id)s AND type='{k}' GROUP BY value ORDER BY COUNT(*) DESC LIMIT %(limit)s)) AS {k}" for k in SUPPORTED_TYPES.keys()])};""", + {"site_id": project_id, "limit": 5} + ) + ) + + row = cur.fetchone() + return helper.dict_to_CAPITAL_keys(row) + + +def __generic_query(typename): + return f"""\ + SELECT value, type + FROM ((SELECT value, type + FROM public.autocomplete + WHERE + project_id = %(project_id)s + AND type ='{typename}' + AND value ILIKE %(svalue)s + ORDER BY value + LIMIT 5) + UNION + (SELECT value, type + FROM public.autocomplete + WHERE + project_id = %(project_id)s + AND type ='{typename}' + AND value ILIKE %(value)s + ORDER BY value + LIMIT 5)) AS met""" + + +def __generic_autocomplete(typename): + def f(project_id, text): + with pg_client.PostgresClient() as cur: + query = cur.mogrify(__generic_query(typename), + {"project_id": project_id, "value": helper.string_to_sql_like(text), + "svalue": helper.string_to_sql_like("^" + text)}) + + cur.execute(query) + rows = cur.fetchall() + return rows + + return f + + +class meta_type: + USEROS = "USEROS" + USERBROWSER = "USERBROWSER" + USERDEVICE = "USERDEVICE" + USERCOUNTRY = "USERCOUNTRY" + USERID = "USERID" + USERANONYMOUSID = "USERANONYMOUSID" + REFERRER = "REFERRER" + REVID = "REVID" + # IOS + USEROS_IOS = "USEROS_IOS" + USERDEVICE_IOS = "USERDEVICE_IOS" + USERCOUNTRY_IOS = "USERCOUNTRY_IOS" + USERID_IOS = "USERID_IOS" + USERANONYMOUSID_IOS = "USERANONYMOUSID_IOS" + REVID_IOS = "REVID_IOS" + + +SUPPORTED_TYPES = { + meta_type.USEROS: SupportedFilter(get=__generic_autocomplete(typename=meta_type.USEROS), + query=__generic_query(typename=meta_type.USEROS), + value_limit=0, + starts_with="", + starts_limit=0, + ignore_if_starts_with=["/"]), + meta_type.USERBROWSER: SupportedFilter(get=__generic_autocomplete(typename=meta_type.USERBROWSER), + query=__generic_query(typename=meta_type.USERBROWSER), + value_limit=0, + starts_with="", + starts_limit=0, + ignore_if_starts_with=["/"]), + meta_type.USERDEVICE: SupportedFilter(get=__generic_autocomplete(typename=meta_type.USERDEVICE), + query=__generic_query(typename=meta_type.USERDEVICE), + value_limit=3, + starts_with="", + starts_limit=3, + ignore_if_starts_with=["/"]), + meta_type.USERCOUNTRY: SupportedFilter(get=__generic_autocomplete(typename=meta_type.USERCOUNTRY), + query=__generic_query(typename=meta_type.USERCOUNTRY), + value_limit=2, + starts_with="", + starts_limit=2, + ignore_if_starts_with=["/"]), + meta_type.USERID: SupportedFilter(get=__generic_autocomplete(typename=meta_type.USERID), + query=__generic_query(typename=meta_type.USERID), + value_limit=2, + starts_with="", + starts_limit=2, + ignore_if_starts_with=["/"]), + meta_type.USERANONYMOUSID: SupportedFilter(get=__generic_autocomplete(typename=meta_type.USERANONYMOUSID), + query=__generic_query(typename=meta_type.USERANONYMOUSID), + value_limit=3, + starts_with="", + starts_limit=3, + ignore_if_starts_with=["/"]), + meta_type.REVID: SupportedFilter(get=__generic_autocomplete(typename=meta_type.REVID), + query=__generic_query(typename=meta_type.REVID), + value_limit=0, + starts_with="", + starts_limit=0, + ignore_if_starts_with=["/"]), + meta_type.REFERRER: SupportedFilter(get=__generic_autocomplete(typename=meta_type.REFERRER), + query=__generic_query(typename=meta_type.REFERRER), + value_limit=5, + starts_with="/", + starts_limit=5, + ignore_if_starts_with=[]), + # IOS + meta_type.USEROS_IOS: SupportedFilter(get=__generic_autocomplete(typename=meta_type.USEROS_IOS), + query=__generic_query(typename=meta_type.USEROS_IOS), + value_limit=0, + starts_with="", + starts_limit=0, + ignore_if_starts_with=["/"]), + meta_type.USERDEVICE_IOS: SupportedFilter(get=__generic_autocomplete(typename=meta_type.USERDEVICE_IOS), + query=__generic_query(typename=meta_type.USERDEVICE_IOS), + value_limit=3, + starts_with="", + starts_limit=3, + ignore_if_starts_with=["/"]), + meta_type.USERCOUNTRY_IOS: SupportedFilter(get=__generic_autocomplete(typename=meta_type.USERCOUNTRY_IOS), + query=__generic_query(typename=meta_type.USERCOUNTRY_IOS), + value_limit=2, + starts_with="", + starts_limit=2, + ignore_if_starts_with=["/"]), + meta_type.USERID_IOS: SupportedFilter(get=__generic_autocomplete(typename=meta_type.USERID_IOS), + query=__generic_query(typename=meta_type.USERID_IOS), + value_limit=2, + starts_with="", + starts_limit=2, + ignore_if_starts_with=["/"]), + meta_type.USERANONYMOUSID_IOS: SupportedFilter(get=__generic_autocomplete(typename=meta_type.USERANONYMOUSID_IOS), + query=__generic_query(typename=meta_type.USERANONYMOUSID_IOS), + value_limit=3, + starts_with="", + starts_limit=3, + ignore_if_starts_with=["/"]), + meta_type.REVID_IOS: SupportedFilter(get=__generic_autocomplete(typename=meta_type.REVID_IOS), + query=__generic_query(typename=meta_type.REVID_IOS), + value_limit=0, + starts_with="", + starts_limit=0, + ignore_if_starts_with=["/"]), + +} + + +def search(text, meta_type, project_id): + rows = [] + if meta_type.upper() not in list(SUPPORTED_TYPES.keys()): + return {"errors": ["unsupported type"]} + rows += SUPPORTED_TYPES[meta_type.upper()].get(project_id=project_id, text=text) + if meta_type.upper() + "_IOS" in list(SUPPORTED_TYPES.keys()): + rows += SUPPORTED_TYPES[meta_type.upper() + "_IOS"].get(project_id=project_id, text=text) + return {"data": rows} diff --git a/api/chalicelib/core/sessions_mobs.py b/api/chalicelib/core/sessions_mobs.py new file mode 100644 index 000000000..7c3e7fd0a --- /dev/null +++ b/api/chalicelib/core/sessions_mobs.py @@ -0,0 +1,25 @@ +from chalicelib.utils.helper import environ + +import boto3 + + +def get_web(sessionId): + return boto3.client('s3', region_name=environ["sessions_region"]).generate_presigned_url( + 'get_object', + Params={ + 'Bucket': environ["sessions_bucket"], + 'Key': sessionId + }, + ExpiresIn=100000 + ) + + +def get_ios(sessionId): + return boto3.client('s3', region_name=environ["ios_region"]).generate_presigned_url( + 'get_object', + Params={ + 'Bucket': environ["ios_bucket"], + 'Key': sessionId + }, + ExpiresIn=100000 + ) diff --git a/api/chalicelib/core/significance.py b/api/chalicelib/core/significance.py new file mode 100644 index 000000000..8bcda04a7 --- /dev/null +++ b/api/chalicelib/core/significance.py @@ -0,0 +1,627 @@ +__author__ = "AZNAUROV David" +__maintainer__ = "KRAIEM Taha Yassine" + +from chalicelib.core import events, sessions_metas, metadata, sessions +from chalicelib.utils import dev + +""" +todo: remove LIMIT from the query +""" + +from typing import List +import math +import warnings +from collections import defaultdict + +from psycopg2.extras import RealDictRow +from chalicelib.utils import pg_client, helper + +SIGNIFICANCE_THRSH = 0.4 + +T_VALUES = {1: 12.706, 2: 4.303, 3: 3.182, 4: 2.776, 5: 2.571, 6: 2.447, 7: 2.365, 8: 2.306, 9: 2.262, 10: 2.228, + 11: 2.201, 12: 2.179, 13: 2.160, 14: 2.145, 15: 2.13, 16: 2.120, 17: 2.110, 18: 2.101, 19: 2.093, 20: 2.086, + 21: 2.080, 22: 2.074, 23: 2.069, 25: 2.064, 26: 2.060, 27: 2.056, 28: 2.052, 29: 2.045, 30: 2.042} + + +@dev.timed +def get_stages_and_events(filter_d, project_id) -> List[RealDictRow]: + """ + Add minimal timestamp + :param filter_d: dict contains events&filters&... + :return: + """ + stages = filter_d["events"] + filters = filter_d.get("filters", []) + filter_issues = filter_d.get("issueTypes") + if filter_issues is None or len(filter_issues) == 0: + filter_issues = [] + stage_constraints = ["main.timestamp <= %(endTimestamp)s"] + first_stage_extra_constraints = ["s.project_id=%(project_id)s", "s.start_ts >= %(startTimestamp)s", + "s.start_ts <= %(endTimestamp)s"] + extra_from = "" + n_stages_query = [] + values = {} + if len(filters) > 0: + meta_keys = metadata.get(project_id=project_id) + meta_keys = {m["key"]: m["index"] for m in meta_keys} + for i, f in enumerate(filters): + if not isinstance(f.get("value"), list): + if isinstance(f.get("value"), tuple): + f["value"] = list(f.get("value")) + else: + f["value"] = [f.get("value")] + if len(f["value"]) == 0 or f["value"][0] is None: + continue + filter_type = f["type"].upper() + values[f"f_value_{i}"] = sessions.__get_sql_value_multiple(f["value"]) + if filter_type == sessions_metas.meta_type.USERBROWSER: + op = sessions.__get_sql_operator_multiple(f["operator"]) + first_stage_extra_constraints.append(f's.user_browser {op} %({f"f_value_{i}"})s') + + elif filter_type in [sessions_metas.meta_type.USEROS, sessions_metas.meta_type.USEROS_IOS]: + op = sessions.__get_sql_operator_multiple(f["operator"]) + first_stage_extra_constraints.append(f's.user_os {op} %({f"f_value_{i}"})s') + + elif filter_type in [sessions_metas.meta_type.USERDEVICE, sessions_metas.meta_type.USERDEVICE_IOS]: + op = sessions.__get_sql_operator_multiple(f["operator"]) + first_stage_extra_constraints.append(f's.user_device {op} %({f"f_value_{i}"})s') + + elif filter_type in [sessions_metas.meta_type.USERCOUNTRY, sessions_metas.meta_type.USERCOUNTRY_IOS]: + op = sessions.__get_sql_operator_multiple(f["operator"]) + first_stage_extra_constraints.append(f's.user_country {op} %({f"f_value_{i}"})s') + elif filter_type == "duration".upper(): + if len(f["value"]) > 0 and f["value"][0] is not None: + first_stage_extra_constraints.append(f's.duration >= %({f"f_value_{i}"})s') + values[f"f_value_{i}"] = f["value"][0] + if len(f["value"]) > 1 and f["value"][1] is not None and f["value"][1] > 0: + first_stage_extra_constraints.append('s.duration <= %({f"f_value_{i}"})s') + values[f"f_value_{i}"] = f["value"][1] + elif filter_type == sessions_metas.meta_type.REFERRER: + # events_query_part = events_query_part + f"INNER JOIN events.pages AS p USING(session_id)" + extra_from += f"INNER JOIN {events.event_type.LOCATION.table} AS p USING(session_id)" + op = sessions.__get_sql_operator_multiple(f["operator"]) + first_stage_extra_constraints.append(f"p.base_referrer {op} %(referrer)s") + elif filter_type == events.event_type.METADATA.ui_type: + op = sessions.__get_sql_operator(f["operator"]) + if f.get("key") in meta_keys.keys(): + first_stage_extra_constraints.append( + f's.{metadata.index_to_colname(meta_keys[f["key"]])} {op} %({f"f_value_{i}"})s') + values[f"f_value_{i}"] = helper.string_to_sql_like_with_op(f["value"][0], op) + elif filter_type in [sessions_metas.meta_type.USERID, sessions_metas.meta_type.USERID_IOS]: + op = sessions.__get_sql_operator(f["operator"]) + first_stage_extra_constraints.append(f's.user_id {op} %({f"f_value_{i}"})s') + values[f"f_value_{i}"] = helper.string_to_sql_like_with_op(f["value"][0], op) + elif filter_type in [sessions_metas.meta_type.USERANONYMOUSID, + sessions_metas.meta_type.USERANONYMOUSID_IOS]: + op = sessions.__get_sql_operator(f["operator"]) + first_stage_extra_constraints.append(f's.user_anonymous_id {op} %({f"f_value_{i}"})s') + values[f"f_value_{i}"] = helper.string_to_sql_like_with_op(f["value"][0], op) + elif filter_type in [sessions_metas.meta_type.REVID, sessions_metas.meta_type.REVID_IOS]: + op = sessions.__get_sql_operator(f["operator"]) + first_stage_extra_constraints.append(f's.rev_id {op} %({f"f_value_{i}"})s') + values[f"f_value_{i}"] = helper.string_to_sql_like_with_op(f["value"][0], op) + + for i, s in enumerate(stages): + if i == 0: + extra_from = ["INNER JOIN public.sessions AS s USING (session_id)"] + else: + extra_from = [] + if s.get("operator") is None: + s["operator"] = "is" + op = sessions.__get_sql_operator(s["operator"]) + event_type = s["type"].upper() + next_label = s["value"] + if event_type == events.event_type.CLICK.ui_type: + next_table = events.event_type.CLICK.table + next_col_name = events.event_type.CLICK.column + elif event_type == events.event_type.INPUT.ui_type: + next_table = events.event_type.INPUT.table + next_col_name = events.event_type.INPUT.column + elif event_type == events.event_type.LOCATION.ui_type: + next_table = events.event_type.LOCATION.table + next_col_name = events.event_type.LOCATION.column + elif event_type == events.event_type.CUSTOM.ui_type: + next_table = events.event_type.CUSTOM.table + next_col_name = events.event_type.CUSTOM.column + # IOS -------------- + elif event_type == events.event_type.CLICK_IOS.ui_type: + next_table = events.event_type.CLICK_IOS.table + next_col_name = events.event_type.CLICK_IOS.column + elif event_type == events.event_type.INPUT_IOS.ui_type: + next_table = events.event_type.INPUT_IOS.table + next_col_name = events.event_type.INPUT_IOS.column + elif event_type == events.event_type.VIEW_IOS.ui_type: + next_table = events.event_type.VIEW_IOS.table + next_col_name = events.event_type.VIEW_IOS.column + elif event_type == events.event_type.CUSTOM_IOS.ui_type: + next_table = events.event_type.CUSTOM_IOS.table + next_col_name = events.event_type.CUSTOM_IOS.column + else: + print("=================UNDEFINED") + continue + + values[f"value{i + 1}"] = helper.string_to_sql_like_with_op(next_label, op) + if sessions.__is_negation_operator(op) and i > 0: + op = sessions.__reverse_sql_operator(op) + main_condition = "left_not.session_id ISNULL" + extra_from.append(f"""LEFT JOIN LATERAL (SELECT session_id + FROM {next_table} AS s_main + WHERE s_main.{next_col_name} {op} %(value{i + 1})s + AND s_main.timestamp >= T{i}.stage{i}_timestamp + AND s_main.session_id = T1.session_id) AS left_not ON (TRUE)""") + else: + main_condition = f"""main.{next_col_name} {op} %(value{i + 1})s""" + n_stages_query.append(f""" + (SELECT main.session_id, + {"MIN(main.timestamp)" if i + 1 < len(stages) else "MAX(main.timestamp)"} AS stage{i + 1}_timestamp, + '{event_type}' AS type, + '{s["operator"]}' AS operator + FROM {next_table} AS main {" ".join(extra_from)} + WHERE main.timestamp >= {f"T{i}.stage{i}_timestamp" if i > 0 else "%(startTimestamp)s"} + {f"AND main.session_id=T1.session_id" if i > 0 else ""} + AND {main_condition} + {(" AND " + " AND ".join(stage_constraints)) if len(stage_constraints) > 0 else ""} + {(" AND " + " AND ".join(first_stage_extra_constraints)) if len(first_stage_extra_constraints) > 0 and i == 0 else ""} + GROUP BY main.session_id) + AS T{i + 1} {"USING (session_id)" if i > 0 else ""} + """) + if len(n_stages_query) == 0: + return [] + n_stages_query = " LEFT JOIN LATERAL ".join(n_stages_query) + n_stages_query += ") AS stages_t" + + n_stages_query = f""" + SELECT stages_and_issues_t.*,sessions.session_id, sessions.user_uuid FROM ( + SELECT * FROM ( + SELECT * FROM + {n_stages_query} + LEFT JOIN LATERAL + ( + SELECT * FROM + (SELECT ISE.session_id, + ISS.type as issue_type, + ISE.timestamp AS issue_timestamp, + ISS.context_string as issue_context, + ISS.issue_id as issue_id + FROM events_common.issues AS ISE INNER JOIN issues AS ISS USING (issue_id) + WHERE ISE.timestamp >= stages_t.stage1_timestamp + AND ISE.timestamp <= stages_t.stage{len(stages)}_timestamp + AND ISS.project_id=%(project_id)s + {"AND ISS.type IN %(issueTypes)s" if len(filter_issues) > 0 else ""}) AS base_t + ) AS issues_t + USING (session_id)) AS stages_and_issues_t + inner join sessions USING(session_id); + """ + + # LIMIT 10000 + params = {"project_id": project_id, "startTimestamp": filter_d["startDate"], "endTimestamp": filter_d["endDate"], + "issueTypes": tuple(filter_issues), **values} + with pg_client.PostgresClient() as cur: + # print("---------------------------------------------------") + # print(cur.mogrify(n_stages_query, params)) + # print("---------------------------------------------------") + cur.execute(cur.mogrify(n_stages_query, params)) + rows = cur.fetchall() + return rows + + +def pearson_corr(x: list, y: list): + n = len(x) + if n != len(y): + raise ValueError(f'x and y must have the same length. Got {len(x)} and {len(y)} instead') + + if n < 2: + warnings.warn(f'x and y must have length at least 2. Got {n} instead') + return None, None, False + + # If an input is constant, the correlation coefficient is not defined. + if all(t == x[0] for t in x) or all(t == y[0] for t in y): + warnings.warn("An input array is constant; the correlation coefficent is not defined.") + return None, None, False + + if n == 2: + return math.copysign(1, x[1] - x[0]) * math.copysign(1, y[1] - y[0]), 1.0 + + xmean = sum(x) / len(x) + ymean = sum(y) / len(y) + + xm = [el - xmean for el in x] + ym = [el - ymean for el in y] + + normxm = math.sqrt((sum([xm[i] * xm[i] for i in range(len(xm))]))) + normym = math.sqrt((sum([ym[i] * ym[i] for i in range(len(ym))]))) + + threshold = 1e-8 + if normxm < threshold * abs(xmean) or normym < threshold * abs(ymean): + # If all the values in x (likewise y) are very close to the mean, + # the loss of precision that occurs in the subtraction xm = x - xmean + # might result in large errors in r. + warnings.warn("An input array is constant; the correlation coefficent is not defined.") + + r = sum( + i[0] * i[1] for i in zip([xm[i] / normxm for i in range(len(xm))], [ym[i] / normym for i in range(len(ym))])) + + # Presumably, if abs(r) > 1, then it is only some small artifact of floating point arithmetic. + # However, if r < 0, we don't care, as our problem is to find only positive correlations + r = max(min(r, 1.0), 0.0) + + # approximated confidence + if n < 31: + t_c = T_VALUES[n] + elif n < 50: + t_c = 2.02 + else: + t_c = 2 + if r >= 0.999: + confidence = 1 + else: + confidence = r * math.sqrt(n - 2) / math.sqrt(1 - r ** 2) + + if confidence > SIGNIFICANCE_THRSH: + return r, confidence, True + else: + return r, confidence, False + + +@dev.timed +def get_transitions_and_issues_of_each_type(rows: List[RealDictRow], all_issues_with_context, first_stage, last_stage): + """ + Returns two lists with binary values 0/1: + + transitions ::: if transited from the first stage to the last - 1 + else - 0 + errors ::: a dictionary where the keys are all unique issues (currently context-wise) + the values are lists + if an issue happened between the first stage to the last - 1 + else - 0 + + For a small task of calculating a total drop due to issues, + we need to disregard the issue type when creating the `errors`-like array. + The `all_errors` array can be obtained by logical OR statement applied to all errors by issue + The `transitions` array stays the same + """ + transitions = [] + n_sess_affected = 0 + errors = {} + for issue in all_issues_with_context: + split = issue.split('__^__') + errors[issue] = { + "errors": [], + "issue_type": split[0], + "context": split[1]} + + for row in rows: + t = 0 + first_ts = row[f'stage{first_stage}_timestamp'] + last_ts = row[f'stage{last_stage}_timestamp'] + if first_ts is None: + continue + elif first_ts is not None and last_ts is not None: + t = 1 + transitions.append(t) + + ic_present = False + for issue_type_with_context in errors: + ic = 0 + issue_type = errors[issue_type_with_context]["issue_type"] + context = errors[issue_type_with_context]["context"] + if row['issue_type'] is not None: + if last_ts is None or (first_ts < row['issue_timestamp'] < last_ts): + context_in_row = row['issue_context'] if row['issue_context'] is not None else '' + if issue_type == row['issue_type'] and context == context_in_row: + ic = 1 + ic_present = True + errors[issue_type_with_context]["errors"].append(ic) + + if ic_present and t: + n_sess_affected += 1 + + # def tuple_or(t: tuple): + # x = 0 + # for el in t: + # x |= el + # return x + def tuple_or(t: tuple): + for el in t: + if el > 0: + return 1 + return 0 + + errors = {key: errors[key]["errors"] for key in errors} + all_errors = [tuple_or(t) for t in zip(*errors.values())] + + return transitions, errors, all_errors, n_sess_affected + + +@dev.timed +def get_affected_users_for_all_issues(rows, first_stage, last_stage): + """ + + :param rows: + :param first_stage: + :param last_stage: + :return: + """ + affected_users = defaultdict(lambda: set()) + affected_sessions = defaultdict(lambda: set()) + contexts = defaultdict(lambda: None) + n_affected_users_dict = defaultdict(lambda: None) + n_affected_sessions_dict = defaultdict(lambda: None) + all_issues_with_context = set() + n_issues_dict = defaultdict(lambda: 0) + issues_by_session = defaultdict(lambda: 0) + + for row in rows: + + # check that the session has reached the first stage of subfunnel: + if row[f'stage{first_stage}_timestamp'] is None: + continue + + iss = row['issue_type'] + iss_ts = row['issue_timestamp'] + + # check that the issue exists and belongs to subfunnel: + if iss is not None and (row[f'stage{last_stage}_timestamp'] is None or + (row[f'stage{first_stage}_timestamp'] < iss_ts < row[f'stage{last_stage}_timestamp'])): + context_string = row['issue_context'] if row['issue_context'] is not None else '' + issue_with_context = iss + '__^__' + context_string + contexts[issue_with_context] = {"context": context_string, "id": row["issue_id"]} + all_issues_with_context.add(issue_with_context) + n_issues_dict[issue_with_context] += 1 + if row['user_uuid'] is not None: + affected_users[issue_with_context].add(row['user_uuid']) + + affected_sessions[issue_with_context].add(row['session_id']) + issues_by_session[row[f'session_id']] += 1 + + if len(affected_users) > 0: + n_affected_users_dict.update({ + iss: len(affected_users[iss]) for iss in affected_users + }) + if len(affected_sessions) > 0: + n_affected_sessions_dict.update({ + iss: len(affected_sessions[iss]) for iss in affected_sessions + }) + return all_issues_with_context, n_issues_dict, n_affected_users_dict, n_affected_sessions_dict, contexts + + +@dev.timed +def count_sessions(rows, n_stages): + session_counts = {i: set() for i in range(1, n_stages + 1)} + for ind, row in enumerate(rows): + for i in range(1, n_stages + 1): + if row[f"stage{i}_timestamp"] is not None: + session_counts[i].add(row[f"session_id"]) + session_counts = {i: len(session_counts[i]) for i in session_counts} + return session_counts + + +def count_users(rows, n_stages): + users_in_stages = defaultdict(lambda: set()) + + for ind, row in enumerate(rows): + for i in range(1, n_stages + 1): + if row[f"stage{i}_timestamp"] is not None: + users_in_stages[i].add(row["user_uuid"]) + + users_count = {i: len(users_in_stages[i]) for i in range(1, n_stages + 1)} + + return users_count + + +def get_stages(stages, rows): + n_stages = len(stages) + session_counts = count_sessions(rows, n_stages) + users_counts = count_users(rows, n_stages) + + stages_list = [] + for i, stage in enumerate(stages): + + drop = None + if i != 0: + if session_counts[i] == 0: + drop = 0 + elif session_counts[i] > 0: + drop = int(100 * (session_counts[i] - session_counts[i + 1]) / session_counts[i]) + + stages_list.append( + {"value": stage["value"], + "type": stage["type"], + "operator": stage["operator"], + "sessionsCount": session_counts[i + 1], + "drop_pct": drop, + "usersCount": users_counts[i + 1], + "dropDueToIssues": 0 + } + ) + return stages_list + + +@dev.timed +def get_issues(stages, rows, first_stage=None, last_stage=None, drop_only=False): + """ + + :param stages: + :param rows: + :param first_stage: If it's a part of the initial funnel, provide a number of the first stage (starting from 1) + :param last_stage: If it's a part of the initial funnel, provide a number of the last stage (starting from 1) + :return: + """ + + n_stages = len(stages) + + if first_stage is None: + first_stage = 1 + if last_stage is None: + last_stage = n_stages + if last_stage > n_stages: + print("The number of the last stage provided is greater than the number of stages. Using n_stages instead") + last_stage = n_stages + + n_critical_issues = 0 + issues_dict = dict({"significant": [], + "insignificant": []}) + session_counts = count_sessions(rows, n_stages) + drop = session_counts[first_stage] - session_counts[last_stage] + + all_issues_with_context, n_issues_dict, affected_users_dict, affected_sessions, contexts = get_affected_users_for_all_issues( + rows, first_stage, last_stage) + transitions, errors, all_errors, n_sess_affected = get_transitions_and_issues_of_each_type(rows, + all_issues_with_context, + first_stage, last_stage) + + print("len(transitions) =", len(transitions)) + + if any(all_errors): + total_drop_corr, conf, is_sign = pearson_corr(transitions, all_errors) + if total_drop_corr is not None and drop is not None: + total_drop_due_to_issues = int(total_drop_corr * n_sess_affected) + else: + total_drop_due_to_issues = 0 + else: + total_drop_due_to_issues = 0 + + if drop_only: + return total_drop_due_to_issues + for issue in all_issues_with_context: + + if not any(errors[issue]): + continue + r, confidence, is_sign = pearson_corr(transitions, errors[issue]) + + if r is not None and drop is not None and is_sign: + lost_conversions = int(r * affected_sessions[issue]) + else: + lost_conversions = None + if r is None: + r = 0 + split = issue.split('__^__') + issues_dict['significant' if is_sign else 'insignificant'].append({ + "type": split[0], + "title": get_issue_title(split[0]), + "affected_sessions": affected_sessions[issue], + "unaffected_sessions": session_counts[1] - affected_sessions[issue], + "lost_conversions": lost_conversions, + "affected_users": affected_users_dict[issue], + "conversion_impact": round(r * 100), + "context_string": contexts[issue]["context"], + "issue_id": contexts[issue]["id"] + }) + + if is_sign: + n_critical_issues += n_issues_dict[issue] + + return n_critical_issues, issues_dict, total_drop_due_to_issues + + +@dev.timed +def get_top_insights(filter_d, project_id): + output = [] + stages = filter_d["events"] + # TODO: handle 1 stage alone + if len(stages) == 0: + print("no stages found") + return output, 0 + elif len(stages) == 1: + # TODO: count sessions, and users for single stage + output = [{ + "type": stages[0]["type"], + "value": stages[0]["value"], + "dropPercentage": None, + "operator": stages[0]["operator"], + "sessionsCount": 0, + "dropPct": 0, + "usersCount": 0, + "dropDueToIssues": 0 + + }] + counts = sessions.search2_pg(data=filter_d, project_id=project_id, user_id=None, count_only=True) + output[0]["sessionsCount"] = counts["countSessions"] + output[0]["usersCount"] = counts["countUsers"] + return output, 0 + # The result of the multi-stage query + rows = get_stages_and_events(filter_d=filter_d, project_id=project_id) + if len(rows) == 0: + return get_stages(stages, []), 0 + # Obtain the first part of the output + stages_list = get_stages(stages, rows) + # Obtain the second part of the output + total_drop_due_to_issues = get_issues(stages, rows, first_stage=filter_d.get("firstStage"), + last_stage=filter_d.get("lastStage"), drop_only=True) + return stages_list, total_drop_due_to_issues + + +@dev.timed +def get_issues_list(filter_d, project_id, first_stage=None, last_stage=None): + output = dict({'critical_issues_count': 0}) + stages = filter_d["events"] + # The result of the multi-stage query + rows = get_stages_and_events(filter_d=filter_d, project_id=project_id) + # print(json.dumps(rows[0],indent=4)) + # return + if len(rows) == 0: + return output + # Obtain the second part of the output + n_critical_issues, issues_dict, total_drop_due_to_issues = get_issues(stages, rows, first_stage=first_stage, + last_stage=last_stage) + output['total_drop_due_to_issues'] = total_drop_due_to_issues + # output['critical_issues_count'] = n_critical_issues + output = {**output, **issues_dict} + return output + + +def get_overview(filter_d, project_id, first_stage=None, last_stage=None): + output = dict() + stages = filter_d["events"] + # TODO: handle 1 stage alone + if len(stages) == 0: + return {"stages": [], + "criticalIssuesCount": 0} + elif len(stages) == 1: + # TODO: count sessions, and users for single stage + output["stages"] = [{ + "type": stages[0]["type"], + "value": stages[0]["value"], + "sessionsCount": None, + "dropPercentage": None, + "usersCount": None + }] + return output + # The result of the multi-stage query + rows = get_stages_and_events(filter_d=filter_d, project_id=project_id) + if len(rows) == 0: + return output + # Obtain the first part of the output + stages_list = get_stages(stages, rows) + + # Obtain the second part of the output + n_critical_issues, issues_dict, total_drop_due_to_issues = get_issues(stages, rows, first_stage=first_stage, + last_stage=last_stage) + + output['stages'] = stages_list + output['criticalIssuesCount'] = n_critical_issues + return output + + +def get_issue_title(issue_type): + return {'click_rage': "Click Rage", + 'dead_click': "Dead Click", + 'excessive_scrolling': "Excessive Scrolling", + 'bad_request': "Bad Request", + 'missing_resource': "Missing Image", + 'memory': "High Memory Usage", + 'cpu': "High CPU", + 'slow_resource': "Slow Resource", + 'slow_page_load': "Slow Page Performance", + 'crash': "Crash", + 'ml_cpu': "High CPU", + 'ml_memory': "High Memory Usage", + 'ml_dead_click': "Dead Click", + 'ml_click_rage': "Click Rage", + 'ml_mouse_thrashing': "Mouse Thrashing", + 'ml_excessive_scrolling': "Excessive Scrolling", + 'ml_slow_resources': "Slow Resource", + 'custom': "Custom Event", + 'js_exception': "Error", + 'custom_event_error': "Custom Error", + 'js_error': "Error"}.get(issue_type, issue_type) diff --git a/api/chalicelib/core/signup.py b/api/chalicelib/core/signup.py new file mode 100644 index 000000000..656d231ef --- /dev/null +++ b/api/chalicelib/core/signup.py @@ -0,0 +1,171 @@ +from chalicelib.utils import helper +from chalicelib.utils import pg_client +from chalicelib.core import users, telemetry +from chalicelib.utils import captcha +import json +from chalicelib.utils.TimeUTC import TimeUTC + + +def get_signed_ups(): + with pg_client.PostgresClient() as cur: + cur.execute("SELECT tenant_id, name FROM public.tenants;") + rows = cur.fetchall() + return helper.list_to_camel_case(rows) + + +def create_step1(data): + print(f"===================== SIGNUP STEP 1 AT {TimeUTC.to_human_readable(TimeUTC.now())} UTC") + errors = [] + + email = data.get("email") + print(f"=====================> {email}") + password = data.get("password") + + print("Verifying email validity") + email_exists = False + if email is None or len(email) < 5 or not helper.is_valid_email(email): + errors.append("Invalid email address.") + else: + print("Verifying email existance") + if users.email_exists(email): + # errors.append("Email address already in use.") + email_exists = True + if users.get_deleted_user_by_email(email) is not None: + # errors.append("Email address previously deleted.") + email_exists = True + + print("Verifying captcha") + if helper.allow_captcha() and not captcha.is_valid(data["g-recaptcha-response"]): + errors.append("Invalid captcha.") + + print("Verifying password validity") + if len(data["password"]) < 6: + errors.append("Password is too short, it must be at least 6 characters long.") + + print("Verifying fullname validity") + fullname = data.get("fullname") + if fullname is None or len(fullname) < 1 or not helper.is_alphabet_space_dash(fullname): + errors.append("Invalid full name.") + + print("Verifying company's name validity") + company_name = data.get("organizationName") + if company_name is None or len(company_name) < 1 or not helper.is_alphanumeric_space(company_name): + errors.append("invalid organization's name") + + print("Verifying project's name validity") + project_name = data.get("projectName") + if project_name is None or len(project_name) < 1: + project_name = "my first project" + if len(get_signed_ups()) > 0 and data.get("tenantId") is None: + errors.append("Tenant already exists, please select it from dropdown") + if len(errors) > 0: + print("==> error") + print(errors) + return {"errors": errors} + print("No errors detected") + params = { + "email": email, "password": password, + "fullname": fullname, + "projectName": project_name, + "data": json.dumps({"lastAnnouncementView": TimeUTC.now()}), + "organizationName": company_name, + "versionNumber": "0.0.0" + } + if data.get("tenantId") is not None: + update_user = """ + u AS ( + UPDATE public.users + SET name = %(fullname)s, deleted_at=NULL + WHERE email=%(email)s + RETURNING user_id,email, role, name + ) + UPDATE public.basic_authentication + SET password= crypt(%(password)s, gen_salt('bf', 12)) + WHERE user_id = (SELECT user_id FROM u)""" + insert_user = """ + a AS ( + UPDATE public.users + SET role='admin' + WHERE role ='owner' + ), + u AS ( + INSERT INTO public.users (email, role, name, data) + VALUES (%(email)s, 'owner', %(fullname)s,%(data)s) + RETURNING user_id,email,role,name + ) + INSERT INTO public.basic_authentication (user_id, password, generated_password) + VALUES ((SELECT user_id FROM u), crypt(%(password)s, gen_salt('bf', 12)), FALSE)""" + query = f"""\ + WITH t AS ( + UPDATE public.tenants + SET name = %(organizationName)s, + version_number = %(versionNumber)s + RETURNING api_key + ), + {update_user if email_exists else insert_user} + RETURNING (SELECT api_key FROM t) AS api_key,(SELECT project_id FROM projects LIMIT 1) AS project_id;""" + else: + query = f"""\ + WITH t AS ( + INSERT INTO public.tenants (name, version_number, edition) + VALUES (%(organizationName)s, %(versionNumber)s, 'fos') + RETURNING api_key + ), + u AS ( + INSERT INTO public.users (email, role, name, data) + VALUES (%(email)s, 'owner', %(fullname)s,%(data)s) + RETURNING user_id,email,role,name + ), + au AS (INSERT + INTO public.basic_authentication (user_id, password, generated_password) + VALUES ((SELECT user_id FROM u), crypt(%(password)s, gen_salt('bf', 12)), FALSE) + ) + INSERT INTO public.projects (name, active) + VALUES (%(projectName)s, TRUE) + RETURNING project_id, (SELECT api_key FROM t) AS api_key;""" + + with pg_client.PostgresClient() as cur: + cur.execute(cur.mogrify(query, params)) + cur = cur.fetchone() + project_id = cur["project_id"] + api_key = cur["api_key"] + telemetry.new_client() + created_at = TimeUTC.now() + r = users.authenticate(email, password) + r["banner"] = False + r["limits"] = { + "teamMember": {"limit": 99, "remaining": 98, "count": 1}, + "projects": {"limit": 99, "remaining": 98, "count": 1}, + "metadata": [{ + "projectId": project_id, + "name": project_name, + "limit": 10, + "remaining": 10, + "count": 0 + }] + } + c = { + "tenantId": 1, + "name": company_name, + "apiKey": api_key, + "remainingTrial": 14, + "trialEnded": False, + "billingPeriodStartDate": created_at, + "hasActivePlan": True, + "projects": [ + { + "projectId": project_id, + "name": project_name, + "recorded": False, + "stackIntegrations": False, + "status": "red" + } + ] + } + return { + 'jwt': r.pop('jwt'), + 'data': { + "user": r, + "client": c, + } + } diff --git a/api/chalicelib/core/slack.py b/api/chalicelib/core/slack.py new file mode 100644 index 000000000..411be0567 --- /dev/null +++ b/api/chalicelib/core/slack.py @@ -0,0 +1,32 @@ +from datetime import datetime +from chalicelib.utils.helper import environ + +from chalicelib.core.collaboration_slack import Slack + + +def send(notification, destination): + if notification is None: + return + return Slack.send_text(tenant_id=notification["tenantId"], + webhook_id=destination, + text=notification["description"] \ + + f"\n<{environ['SITE_URL']}{notification['buttonUrl']}|{notification['buttonText']}>", + title=notification["title"], + title_link=notification["buttonUrl"], ) + + +def send_batch(notifications_list): + if notifications_list is None or len(notifications_list) == 0: + return + webhookId_map = {} + for n in notifications_list: + if n.get("destination") not in webhookId_map: + webhookId_map[n.get("destination")] = {"tenantId": n["notification"]["tenantId"], "batch": []} + webhookId_map[n.get("destination")]["batch"].append({"text": n["notification"]["description"] \ + + f"\n<{environ['SITE_URL']}{n['notification']['buttonUrl']}|{n['notification']['buttonText']}>", + "title": n["notification"]["title"], + "title_link": n["notification"]["buttonUrl"], + "ts": datetime.now().timestamp()}) + for batch in webhookId_map.keys(): + Slack.send_batch(tenant_id=webhookId_map[batch]["tenantId"], webhook_id=batch, + attachments=webhookId_map[batch]["batch"]) diff --git a/api/chalicelib/core/socket_ios.py b/api/chalicelib/core/socket_ios.py new file mode 100644 index 000000000..d925797fe --- /dev/null +++ b/api/chalicelib/core/socket_ios.py @@ -0,0 +1,22 @@ +import requests +from chalicelib.utils.helper import environ +from chalicelib.core import projects + + +def start_replay(project_id, session_id, device, os_version, mob_url): + r = requests.post(environ["IOS_MIDDLEWARE"] + "/replay", json={ + "projectId": project_id, + "projectKey": projects.get_project_key(project_id), + "sessionId": session_id, + "device": device, + "osVersion": os_version, + "mobUrl": mob_url + }) + if r.status_code != 200: + print("failed replay middleware") + print("status code: %s" % r.status_code) + print(r.text) + return r.text + result = r.json() + result["url"] = environ["IOS_MIDDLEWARE"] + return result diff --git a/api/chalicelib/core/sourcemaps.py b/api/chalicelib/core/sourcemaps.py new file mode 100644 index 000000000..c198b859b --- /dev/null +++ b/api/chalicelib/core/sourcemaps.py @@ -0,0 +1,157 @@ +from chalicelib.utils.helper import environ +from chalicelib.utils import helper + +from chalicelib.utils import s3 +import hashlib +from urllib.parse import urlparse + +from chalicelib.core import sourcemaps_parser + + +def __get_key(project_id, url): + u = urlparse(url) + new_url = u.scheme + "://" + u.netloc + u.path + return f"{project_id}/{hashlib.md5(new_url.encode()).hexdigest()}" + + +def presign_share_urls(project_id, urls): + results = [] + for u in urls: + results.append(s3.get_presigned_url_for_sharing(bucket=environ['sourcemaps_bucket'], expires_in=120, + key=__get_key(project_id, u), + check_exists=True)) + return results + + +def presign_upload_urls(project_id, urls): + results = [] + for u in urls: + results.append(s3.get_presigned_url_for_upload(bucket=environ['sourcemaps_bucket'], + expires_in=1800, + key=__get_key(project_id, u))) + return results + + +def __format_frame_old(f): + if f.get("context") is None: + f["context"] = [] + else: + f["context"] = [[f["line"], f["context"]]] + url = f.pop("url") + f["absPath"] = url + f["filename"] = urlparse(url).path + f["lineNo"] = f.pop("line") + f["colNo"] = f.pop("column") + f["function"] = f.pop("func") + return f + + +def __frame_is_valid(f): + return "columnNumber" in f and \ + "lineNumber" in f and \ + "fileName" in f + + +def __format_frame(f): + f["context"] = [] # no context by default + if "source" in f: f.pop("source") + url = f.pop("fileName") + f["absPath"] = url + f["filename"] = urlparse(url).path + f["lineNo"] = f.pop("lineNumber") + f["colNo"] = f.pop("columnNumber") + f["function"] = f.pop("functionName") if "functionName" in f else None + return f + + +def format_payload(p, truncate_to_first=False): + if type(p) is list: + return [__format_frame(f) for f in (p[:1] if truncate_to_first else p) if __frame_is_valid(f)] + if type(p) is dict: + stack = p.get("stack", []) + return [__format_frame_old(f) for f in (stack[:1] if truncate_to_first else stack)] + return [] + + +def get_traces_group(project_id, payload): + frames = format_payload(payload) + + results = [{}] * len(frames) + payloads = {} + all_exists = True + for i, u in enumerate(frames): + key = __get_key(project_id, u["absPath"]) # use filename instead? + if key not in payloads: + file_exists = s3.exists(environ['sourcemaps_bucket'], key) + all_exists = all_exists and file_exists + if not file_exists: + print(f"{u['absPath']} sourcemap (key '{key}') doesn't exist in S3") + payloads[key] = None + else: + payloads[key] = [] + results[i] = dict(u) + results[i]["frame"] = dict(u) + if payloads[key] is not None: + payloads[key].append({"resultIndex": i, + "position": {"line": u["lineNo"], "column": u["colNo"]}, + "frame": dict(u)}) + for key in payloads.keys(): + if payloads[key] is None: + continue + key_results = sourcemaps_parser.get_original_trace(key=key, positions=[o["position"] for o in payloads[key]]) + for i, r in enumerate(key_results): + res_index = payloads[key][i]["resultIndex"] + # function name search by frontend lib is better than sourcemaps' one in most cases + if results[res_index].get("function") is not None: + r["function"] = results[res_index]["function"] + r["frame"] = payloads[key][i]["frame"] + results[res_index] = r + return fetch_missed_contexts(results), all_exists + + +def get_js_cache_path(fullURL): + p = urlparse(fullURL) + return p.scheme + '/' + p.netloc + p.path # TODO (Also in go assets library): What if URL with query? (like versions) + + +MAX_COLUMN_OFFSET = 60 + + +def fetch_missed_contexts(frames): + source_cache = {} + for i in range(len(frames)): + if len(frames[i]["context"]) != 0: + continue + if frames[i]["frame"]["absPath"] in source_cache: + file = source_cache[frames[i]["frame"]["absPath"]] + else: + file = s3.get_file(environ['js_cache_bucket'], get_js_cache_path(frames[i]["frame"]["absPath"])) + if file is None: + print( + f"File {get_js_cache_path(frames[i]['frame']['absPath'])} not found in {environ['js_cache_bucket']}") + source_cache[frames[i]["frame"]["absPath"]] = file + if file is None: + continue + lines = file.split("\n") + + if frames[i]["lineNo"] is None: + print("no original-source found for frame in sourcemap results") + frames[i] = frames[i]["frame"] + frames[i]["originalMapping"] = False + + l = frames[i]["lineNo"] - 1 # starts from 1 + c = frames[i]["colNo"] - 1 # starts from 1 + if len(lines) == 1: + print(f"minified asset") + l = frames[i]["frame"]["lineNo"] - 1 # starts from 1 + c = frames[i]["frame"]["colNo"] - 1 # starts from 1 + elif l >= len(lines): + print(f"line number {l} greater than file length {len(lines)}") + continue + + line = lines[l] + offset = c - MAX_COLUMN_OFFSET + if offset < 0: # if the line is shirt + offset = 0 + frames[i]["context"].append([frames[i]["lineNo"], line[offset: c + MAX_COLUMN_OFFSET + 1]]) + return frames diff --git a/api/chalicelib/core/sourcemaps_parser.py b/api/chalicelib/core/sourcemaps_parser.py new file mode 100644 index 000000000..cb0463d55 --- /dev/null +++ b/api/chalicelib/core/sourcemaps_parser.py @@ -0,0 +1,22 @@ +import requests + +from chalicelib.utils.helper import environ + + +def get_original_trace(key, positions): + payload = { + "key": key, + "positions": positions, + "padding": 5, + "bucket": environ['sourcemaps_bucket'], + "bucket_config": { + "aws_access_key_id": environ["sourcemaps_bucket_key"], + "aws_secret_access_key": environ["sourcemaps_bucket_secret"], + "aws_region": environ["sourcemaps_bucket_region"] + } + } + r = requests.post(environ["sourcemaps"], json=payload) + if r.status_code != 200: + return {} + + return r.json() diff --git a/api/chalicelib/core/telemetry.py b/api/chalicelib/core/telemetry.py new file mode 100644 index 000000000..362550553 --- /dev/null +++ b/api/chalicelib/core/telemetry.py @@ -0,0 +1,43 @@ +from chalicelib.utils import pg_client +import requests + + +def process_data(data, edition='fos'): + return { + 'edition': edition, + 'tracking': data["opt_out"], + 'version': data["version_number"], + 'user_id': data["user_id"], + 'owner_email': None if data["opt_out"] else data["email"], + 'organization_name': None if data["opt_out"] else data["name"], + 'users_count': data["t_users"], + 'projects_count': data["t_projects"], + 'sessions_count': data["t_sessions"], + 'integrations_count': data["t_integrations"] + } + + +def compute(): + with pg_client.PostgresClient() as cur: + cur.execute( + f"""UPDATE public.tenants + SET t_integrations = COALESCE((SELECT COUNT(DISTINCT provider) FROM public.integrations) + + (SELECT COUNT(*) FROM public.webhooks WHERE type = 'slack') + + (SELECT COUNT(*) FROM public.jira_cloud), 0), + t_projects=COALESCE((SELECT COUNT(*) FROM public.projects WHERE deleted_at ISNULL), 0), + t_sessions=COALESCE((SELECT COUNT(*) FROM public.sessions), 0), + t_users=COALESCE((SELECT COUNT(*) FROM public.users WHERE deleted_at ISNULL), 0) + RETURNING *,(SELECT email FROM public.users WHERE role='owner' LIMIT 1);""" + ) + data = cur.fetchone() + requests.post('https://parrot.asayer.io/os/telemetry', json=process_data(data)) + + +def new_client(): + with pg_client.PostgresClient() as cur: + cur.execute( + f"""SELECT *, + (SELECT email FROM public.users WHERE role='owner' LIMIT 1) AS email + FROM public.tenants;""") + data = cur.fetchone() + requests.post('https://parrot.asayer.io/os/signup', json=process_data(data)) diff --git a/api/chalicelib/core/tenants.py b/api/chalicelib/core/tenants.py new file mode 100644 index 000000000..f047dcffa --- /dev/null +++ b/api/chalicelib/core/tenants.py @@ -0,0 +1,83 @@ +from chalicelib.utils import pg_client +from chalicelib.utils import helper +from chalicelib.core import users + + +def get_by_tenant_id(tenant_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + f"""SELECT + tenant_id, + name, + api_key + created_at, + edition, + version_number, + opt_out + FROM public.tenants + LIMIT 1;""", + {"tenantId": tenant_id}) + ) + return helper.dict_to_camel_case(cur.fetchone()) + + +def get_by_api_key(api_key): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + f"""SELECT + 1 AS tenant_id, + name, + created_at + FROM public.tenants + WHERE api_key = %(api_key)s + LIMIT 1;""", + {"api_key": api_key}) + ) + return helper.dict_to_camel_case(cur.fetchone()) + + +def generate_new_api_key(tenant_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + f"""UPDATE public.tenants + SET api_key=generate_api_key(20) + RETURNING api_key;""", + {"tenant_id": tenant_id}) + ) + return helper.dict_to_camel_case(cur.fetchone()) + + +def edit_client(tenant_id, changes): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify(f"""\ + UPDATE public.tenants + SET {", ".join([f"{helper.key_to_snake_case(k)} = %({k})s" for k in changes.keys()])} + RETURNING name, opt_out;""", + {"tenantId": tenant_id, **changes}) + ) + return helper.dict_to_camel_case(cur.fetchone()) + + +def update(tenant_id, user_id, data): + admin = users.get(user_id=user_id, tenant_id=tenant_id) + + if not admin["admin"] and not admin["superAdmin"]: + return {"error": "unauthorized"} + if "name" not in data and "optOut" not in data: + return {"errors": ["please provide 'name' of 'optOut' attribute for update"]} + changes = {} + if "name" in data: + changes["name"] = data["name"] + if "optOut" in data: + changes["optOut"] = data["optOut"] + return edit_client(tenant_id=tenant_id, changes=changes) + + +def get_tenants(): + with pg_client.PostgresClient() as cur: + cur.execute(f"SELECT name FROM public.tenants") + return helper.list_to_camel_case(cur.fetchall()) diff --git a/api/chalicelib/core/users.py b/api/chalicelib/core/users.py new file mode 100644 index 000000000..819cb4c12 --- /dev/null +++ b/api/chalicelib/core/users.py @@ -0,0 +1,463 @@ +import json + +from chalicelib.core import authorizers + +from chalicelib.utils import helper +from chalicelib.utils import pg_client +from chalicelib.utils import dev +from chalicelib.utils.TimeUTC import TimeUTC +from chalicelib.utils.helper import environ + +from chalicelib.core import tenants + + +def create_new_member(email, password, admin, name, owner=False): + with pg_client.PostgresClient() as cur: + query = cur.mogrify(f"""\ + WITH u AS ( + INSERT INTO public.users (email, role, name, data) + VALUES (%(email)s, %(role)s, %(name)s, %(data)s) + RETURNING user_id,email,role,name,appearance + ), + au AS (INSERT + INTO public.basic_authentication (user_id, password, generated_password) + VALUES ((SELECT user_id FROM u), crypt(%(password)s, gen_salt('bf', 12)), TRUE)) + SELECT u.user_id AS id, + u.email, + u.role, + u.name, + TRUE AS change_password, + (CASE WHEN u.role = 'owner' THEN TRUE ELSE FALSE END) AS super_admin, + (CASE WHEN u.role = 'admin' THEN TRUE ELSE FALSE END) AS admin, + (CASE WHEN u.role = 'member' THEN TRUE ELSE FALSE END) AS member, + u.appearance + FROM u;""", + {"email": email, "password": password, + "role": "owner" if owner else "admin" if admin else "member", "name": name, + "data": json.dumps({"lastAnnouncementView": TimeUTC.now()})}) + cur.execute( + query + ) + return helper.dict_to_camel_case(cur.fetchone()) + + +def restore_member(user_id, email, password, admin, name, owner=False): + with pg_client.PostgresClient() as cur: + query = cur.mogrify(f"""\ + UPDATE public.users + SET name= %(name)s, + role = %(role)s, + deleted_at= NULL, + created_at = timezone('utc'::text, now()), + api_key= generate_api_key(20) + WHERE user_id=%(user_id)s + RETURNING user_id AS id, + email, + role, + name, + TRUE AS change_password, + (CASE WHEN role = 'owner' THEN TRUE ELSE FALSE END) AS super_admin, + (CASE WHEN role = 'admin' THEN TRUE ELSE FALSE END) AS admin, + (CASE WHEN role = 'member' THEN TRUE ELSE FALSE END) AS member, + appearance;""", + {"user_id": user_id, "email": email, + "role": "owner" if owner else "admin" if admin else "member", "name": name}) + cur.execute( + query + ) + result = helper.dict_to_camel_case(cur.fetchone()) + query = cur.mogrify("""\ + UPDATE public.basic_authentication + SET password= crypt(%(password)s, gen_salt('bf', 12)), + generated_password= TRUE, + token=NULL, + token_requested_at=NULL + WHERE user_id=%(user_id)s;""", + {"user_id": user_id, "password": password}) + cur.execute( + query + ) + + return result + + +def update(tenant_id, user_id, changes): + AUTH_KEYS = ["password", "generatedPassword", "token"] + if len(changes.keys()) == 0: + return None + + sub_query_users = [] + sub_query_bauth = [] + for key in changes.keys(): + if key in AUTH_KEYS: + if key == "password": + sub_query_bauth.append("password = crypt(%(password)s, gen_salt('bf', 12))") + sub_query_bauth.append("changed_at = timezone('utc'::text, now())") + elif key == "token": + if changes[key] is not None: + sub_query_bauth.append("token = %(token)s") + sub_query_bauth.append("token_requested_at = timezone('utc'::text, now())") + else: + sub_query_bauth.append("token = NULL") + sub_query_bauth.append("token_requested_at = NULL") + else: + sub_query_bauth.append(f"{helper.key_to_snake_case(key)} = %({key})s") + else: + if key == "appearance": + sub_query_users.append(f"appearance = %(appearance)s::jsonb") + changes["appearance"] = json.dumps(changes[key]) + else: + sub_query_users.append(f"{helper.key_to_snake_case(key)} = %({key})s") + + with pg_client.PostgresClient() as cur: + if len(sub_query_users) > 0: + cur.execute( + cur.mogrify(f"""\ + UPDATE public.users + SET {" ,".join(sub_query_users)} + FROM public.basic_authentication + WHERE users.user_id = %(user_id)s + AND users.user_id = basic_authentication.user_id + RETURNING users.user_id AS id, + users.email, + users.role, + users.name, + basic_authentication.generated_password AS change_password, + (CASE WHEN users.role = 'owner' THEN TRUE ELSE FALSE END) AS super_admin, + (CASE WHEN users.role = 'admin' THEN TRUE ELSE FALSE END) AS admin, + (CASE WHEN users.role = 'member' THEN TRUE ELSE FALSE END) AS member, + users.appearance;""", + {"user_id": user_id, **changes}) + ) + if len(sub_query_bauth) > 0: + cur.execute( + cur.mogrify(f"""\ + UPDATE public.basic_authentication + SET {" ,".join(sub_query_bauth)} + FROM public.users AS users + WHERE basic_authentication.user_id = %(user_id)s + AND users.user_id = basic_authentication.user_id + RETURNING users.user_id AS id, + users.email, + users.role, + users.name, + basic_authentication.generated_password AS change_password, + (CASE WHEN users.role = 'owner' THEN TRUE ELSE FALSE END) AS super_admin, + (CASE WHEN users.role = 'admin' THEN TRUE ELSE FALSE END) AS admin, + (CASE WHEN users.role = 'member' THEN TRUE ELSE FALSE END) AS member, + users.appearance;""", + {"user_id": user_id, **changes}) + ) + + return helper.dict_to_camel_case(cur.fetchone()) + + +def create_member(tenant_id, user_id, data): + admin = get(tenant_id=tenant_id, user_id=user_id) + if not admin["admin"] and not admin["superAdmin"]: + return {"errors": ["unauthorized"]} + if data.get("userId") is not None: + return {"errors": ["please use POST/PUT /client/members/{memberId} for update"]} + user = get_by_email_only(email=data["email"]) + if user: + return {"errors": ["user already exists"]} + name = data.get("name", None) + if name is not None and not helper.is_alphabet_latin_space(name): + return {"errors": ["invalid user name"]} + if name is None: + name = data["email"] + temp_pass = helper.generate_salt()[:8] + user = get_deleted_user_by_email(email=data["email"]) + if user is not None: + new_member = restore_member(email=data["email"], password=temp_pass, + admin=data.get("admin", False), name=name, user_id=user["userId"]) + else: + new_member = create_new_member(email=data["email"], password=temp_pass, + admin=data.get("admin", False), name=name) + + helper.async_post(environ['email_basic'] % 'member_invitation', + { + "email": data["email"], + "userName": data["email"], + "tempPassword": temp_pass, + "clientId": tenants.get_by_tenant_id(tenant_id)["name"], + "senderName": admin["name"] + }) + return {"data": new_member} + + +def get(user_id, tenant_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + f"""SELECT + users.user_id AS id, + email, + role, + name, + basic_authentication.generated_password, + (CASE WHEN role = 'owner' THEN TRUE ELSE FALSE END) AS super_admin, + (CASE WHEN role = 'admin' THEN TRUE ELSE FALSE END) AS admin, + (CASE WHEN role = 'member' THEN TRUE ELSE FALSE END) AS member, + appearance, + api_key + FROM public.users LEFT JOIN public.basic_authentication ON users.user_id=basic_authentication.user_id + WHERE + users.user_id = %(userId)s + AND deleted_at IS NULL + LIMIT 1;""", + {"userId": user_id}) + ) + r = cur.fetchone() + return helper.dict_to_camel_case(r, ignore_keys=["appearance"]) + + +def generate_new_api_key(user_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + f"""UPDATE public.users + SET api_key=generate_api_key(20) + WHERE + users.user_id = %(userId)s + AND deleted_at IS NULL + RETURNING api_key;""", + {"userId": user_id}) + ) + r = cur.fetchone() + return helper.dict_to_camel_case(r) + + +def edit(user_id_to_update, tenant_id, changes, editor_id): + ALLOW_EDIT = ["name", "email", "admin", "appearance"] + user = get(user_id=user_id_to_update, tenant_id=tenant_id) + if editor_id != user_id_to_update or "admin" in changes and changes["admin"] != user["admin"]: + admin = get(tenant_id=tenant_id, user_id=editor_id) + if not admin["superAdmin"] and not admin["admin"]: + return {"errors": ["unauthorized"]} + + keys = list(changes.keys()) + for k in keys: + if k not in ALLOW_EDIT: + changes.pop(k) + keys = list(changes.keys()) + + if len(keys) > 0: + if "email" in keys and changes["email"] != user["email"]: + if email_exists(changes["email"]): + return {"errors": ["email already exists."]} + if get_deleted_user_by_email(changes["email"]) is not None: + return {"errors": ["email previously deleted."]} + if "admin" in keys: + changes["role"] = "admin" if changes.pop("admin") else "member" + if len(changes.keys()) > 0: + updated_user = update(tenant_id=tenant_id, user_id=user_id_to_update, changes=changes) + + return {"data": updated_user} + return {"data": user} + + +def get_by_email_only(email): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + f"""SELECT + users.user_id AS id, + 1 AS tenant_id, + users.email, + users.role, + users.name, + basic_authentication.generated_password, + (CASE WHEN users.role = 'owner' THEN TRUE ELSE FALSE END) AS super_admin, + (CASE WHEN users.role = 'admin' THEN TRUE ELSE FALSE END) AS admin, + (CASE WHEN users.role = 'member' THEN TRUE ELSE FALSE END) AS member + FROM public.users LEFT JOIN public.basic_authentication ON users.user_id=basic_authentication.user_id + WHERE + users.email = %(email)s + AND users.deleted_at IS NULL;""", + {"email": email}) + ) + r = cur.fetchall() + return helper.list_to_camel_case(r) + + +def get_by_email_reset(email, reset_token): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + f"""SELECT + users.user_id AS id, + 1 AS tenant_id, + users.email, + users.role, + users.name, + basic_authentication.generated_password, + (CASE WHEN users.role = 'owner' THEN TRUE ELSE FALSE END) AS super_admin, + (CASE WHEN users.role = 'admin' THEN TRUE ELSE FALSE END) AS admin, + (CASE WHEN users.role = 'member' THEN TRUE ELSE FALSE END) AS member + FROM public.users LEFT JOIN public.basic_authentication ON users.user_id=basic_authentication.user_id + WHERE + users.email = %(email)s + AND basic_authentication.token =%(token)s + AND users.deleted_at IS NULL""", + {"email": email, "token": reset_token}) + ) + r = cur.fetchone() + return helper.dict_to_camel_case(r) + + +def get_members(tenant_id): + with pg_client.PostgresClient() as cur: + cur.execute( + f"""SELECT + users.user_id AS id, + users.email, + users.role, + users.name, + basic_authentication.generated_password, + (CASE WHEN users.role = 'owner' THEN TRUE ELSE FALSE END) AS super_admin, + (CASE WHEN users.role = 'admin' THEN TRUE ELSE FALSE END) AS admin, + (CASE WHEN users.role = 'member' THEN TRUE ELSE FALSE END) AS member + FROM public.users LEFT JOIN public.basic_authentication ON users.user_id=basic_authentication.user_id + WHERE users.deleted_at IS NULL + ORDER BY name, id""" + ) + r = cur.fetchall() + if len(r): + return helper.list_to_camel_case(r) + + return [] + + +def delete_member(user_id, tenant_id, id_to_delete): + if user_id == id_to_delete: + return {"errors": ["unauthorized, cannot delete self"]} + + admin = get(user_id=user_id, tenant_id=tenant_id) + if admin["member"]: + return {"errors": ["unauthorized"]} + + to_delete = get(user_id=id_to_delete, tenant_id=tenant_id) + if to_delete is None: + return {"errors": ["not found"]} + + if to_delete["superAdmin"]: + return {"errors": ["cannot delete super admin"]} + + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify(f"""UPDATE public.users + SET deleted_at = timezone('utc'::text, now()) + WHERE user_id=%(user_id)s;""", + {"user_id": id_to_delete})) + return {"data": get_members(tenant_id=tenant_id)} + + +def change_password(tenant_id, user_id, email, old_password, new_password): + item = get(tenant_id=tenant_id, user_id=user_id) + if item is None: + return {"errors": ["access denied"]} + if old_password == new_password: + return {"errors": ["old and new password are the same"]} + auth = authenticate(email, old_password, for_change_password=True) + if auth is None: + return {"errors": ["wrong password"]} + changes = {"password": new_password, "generatedPassword": False} + return {"data": update(tenant_id=tenant_id, user_id=user_id, changes=changes), + "jwt": authenticate(email, new_password)["jwt"]} + + +def email_exists(email): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + f"""SELECT + count(user_id) + FROM public.users + WHERE + email = %(email)s + AND deleted_at IS NULL + LIMIT 1;""", + {"email": email}) + ) + r = cur.fetchone() + return r["count"] > 0 + + +def get_deleted_user_by_email(email): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + f"""SELECT + * + FROM public.users + WHERE + email = %(email)s + AND deleted_at NOTNULL + LIMIT 1;""", + {"email": email}) + ) + r = cur.fetchone() + return helper.dict_to_camel_case(r) + + +def auth_exists(user_id, tenant_id, jwt_iat, jwt_aud): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify( + f"SELECT user_id AS id,jwt_iat, changed_at FROM public.users INNER JOIN public.basic_authentication USING(user_id) WHERE user_id = %(userId)s AND deleted_at IS NULL LIMIT 1;", + {"userId": user_id}) + ) + r = cur.fetchone() + return r is not None \ + and r.get("jwt_iat") is not None \ + and (abs(jwt_iat - TimeUTC.datetime_to_timestamp(r["jwt_iat"]) // 1000) <= 1 \ + or (jwt_aud.startswith("plugin") \ + and (r["changed_at"] is None \ + or jwt_iat >= (TimeUTC.datetime_to_timestamp(r["changed_at"]) // 1000))) + ) + + +@dev.timed +def authenticate(email, password, for_change_password=False, for_plugin=False): + with pg_client.PostgresClient() as cur: + query = cur.mogrify( + f"""SELECT + users.user_id AS id, + 1 AS tenant_id, + users.role, + users.name, + basic_authentication.generated_password AS change_password, + (CASE WHEN users.role = 'owner' THEN TRUE ELSE FALSE END) AS super_admin, + (CASE WHEN users.role = 'admin' THEN TRUE ELSE FALSE END) AS admin, + (CASE WHEN users.role = 'member' THEN TRUE ELSE FALSE END) AS member, + users.appearance + FROM public.users INNER JOIN public.basic_authentication USING(user_id) + WHERE users.email = %(email)s + AND basic_authentication.password = crypt(%(password)s, basic_authentication.password) + AND basic_authentication.user_id = (SELECT su.user_id FROM public.users AS su WHERE su.email=%(email)s AND su.deleted_at IS NULL LIMIT 1) + LIMIT 1;""", + {"email": email, "password": password}) + + cur.execute(query) + r = cur.fetchone() + + if r is not None: + if for_change_password: + return True + r = helper.dict_to_camel_case(r, ignore_keys=["appearance"]) + query = cur.mogrify( + f"""UPDATE public.users + SET jwt_iat = timezone('utc'::text, now()) + WHERE user_id = %(user_id)s + RETURNING jwt_iat;""", + {"user_id": r["id"]}) + cur.execute(query) + return { + "jwt": authorizers.generate_jwt(r['id'], r['tenantId'], + TimeUTC.datetime_to_timestamp(cur.fetchone()["jwt_iat"]), + aud=f"plugin:{helper.get_stage_name()}" if for_plugin else f"front:{helper.get_stage_name()}"), + "email": email, + **r + } + return None diff --git a/api/chalicelib/core/webhook.py b/api/chalicelib/core/webhook.py new file mode 100644 index 000000000..99a3b0569 --- /dev/null +++ b/api/chalicelib/core/webhook.py @@ -0,0 +1,178 @@ +from chalicelib.utils import pg_client, helper +from chalicelib.utils.TimeUTC import TimeUTC +import requests + + +def get_by_id(webhook_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + SELECT + w.* + FROM public.webhooks AS w + where w.webhook_id =%(webhook_id)s AND deleted_at ISNULL;""", + {"webhook_id": webhook_id}) + ) + w = helper.dict_to_camel_case(cur.fetchone()) + if w: + w["createdAt"] = TimeUTC.datetime_to_timestamp(w["createdAt"]) + return w + + +def get(tenant_id, webhook_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + SELECT + w.* + FROM public.webhooks AS w + where w.webhook_id =%(webhook_id)s AND deleted_at ISNULL;""", + {"webhook_id": webhook_id}) + ) + w = helper.dict_to_camel_case(cur.fetchone()) + if w: + w["createdAt"] = TimeUTC.datetime_to_timestamp(w["createdAt"]) + return w + + +def get_by_type(tenant_id, webhook_type): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + SELECT + w.webhook_id AS id,w.webhook_id,w.endpoint,w.auth_header,w.type,w.index,w.name,w.created_at + FROM public.webhooks AS w + WHERE w.type =%(type)s AND deleted_at ISNULL;""", + {"type": webhook_type}) + ) + webhooks = helper.list_to_camel_case(cur.fetchall()) + for w in webhooks: + w["createdAt"] = TimeUTC.datetime_to_timestamp(w["createdAt"]) + return webhooks + + +def get_by_tenant(tenant_id, replace_none=False): + with pg_client.PostgresClient() as cur: + cur.execute("""\ + SELECT + w.* + FROM public.webhooks AS w + WHERE deleted_at ISNULL;""" + ) + all = helper.list_to_camel_case(cur.fetchall()) + if replace_none: + for w in all: + w["createdAt"] = TimeUTC.datetime_to_timestamp(w["createdAt"]) + for k in w.keys(): + if w[k] is None: + w[k] = '' + else: + for w in all: + w["createdAt"] = TimeUTC.datetime_to_timestamp(w["createdAt"]) + return all + + +def update(tenant_id, webhook_id, changes, replace_none=False): + allow_update = ["name", "index", "authHeader", "endpoint"] + with pg_client.PostgresClient() as cur: + sub_query = [f"{helper.key_to_snake_case(k)} = %({k})s" for k in changes.keys() if k in allow_update] + cur.execute( + cur.mogrify(f"""\ + UPDATE public.webhooks + SET {','.join(sub_query)} + WHERE webhook_id =%(id)s AND deleted_at ISNULL + RETURNING *;""", + {"id": webhook_id, **changes}) + ) + w = helper.dict_to_camel_case(cur.fetchone()) + w["createdAt"] = TimeUTC.datetime_to_timestamp(w["createdAt"]) + if replace_none: + for k in w.keys(): + if w[k] is None: + w[k] = '' + return w + + +def add(tenant_id, endpoint, auth_header=None, webhook_type='webhook', name="", replace_none=False): + with pg_client.PostgresClient() as cur: + query = cur.mogrify("""\ + INSERT INTO public.webhooks(endpoint,auth_header,type,name) + VALUES (%(endpoint)s, %(auth_header)s, %(type)s,%(name)s) + RETURNING *;""", + {"endpoint": endpoint, "auth_header": auth_header, + "type": webhook_type, "name": name}) + cur.execute( + query + ) + w = helper.dict_to_camel_case(cur.fetchone()) + w["createdAt"] = TimeUTC.datetime_to_timestamp(w["createdAt"]) + if replace_none: + for k in w.keys(): + if w[k] is None: + w[k] = '' + return w + + +def add_edit(tenant_id, data, replace_none=None): + if "webhookId" in data: + return update(tenant_id=tenant_id, webhook_id=data["webhookId"], + changes={"endpoint": data["endpoint"], + "authHeader": None if "authHeader" not in data else data["authHeader"], + "name": data["name"] if "name" in data else ""}, replace_none=replace_none) + else: + return add(tenant_id=tenant_id, + endpoint=data["endpoint"], + auth_header=None if "authHeader" not in data else data["authHeader"], + name=data["name"] if "name" in data else "", replace_none=replace_none) + + +def delete(tenant_id, webhook_id): + with pg_client.PostgresClient() as cur: + cur.execute( + cur.mogrify("""\ + UPDATE public.webhooks + SET deleted_at = (now() at time zone 'utc') + WHERE webhook_id =%(id)s AND deleted_at ISNULL + RETURNING *;""", + {"id": webhook_id}) + ) + return {"data": {"state": "success"}} + + +def trigger_batch(data_list): + webhooks_map = {} + for w in data_list: + if w["destination"] not in webhooks_map: + webhooks_map[w["destination"]] = get_by_id(webhook_id=w["destination"]) + __trigger(hook=webhooks_map[w["destination"]], data=w["data"]) + + +def __trigger(hook, data): + if hook["type"] == 'webhook': + headers = {} + if hook["authHeader"] is not None and len(hook["authHeader"]) > 0: + headers = {"Authorization": hook["authHeader"]} + + # body = { + # "webhookId": hook["id"], + # "createdAt": TimeUTC.now(), + # "event": event, + # "data": data + # } + + r = requests.post(url=hook["endpoint"], json=data, headers=headers) + if r.status_code != 200: + print("=======> webhook: something went wrong") + print(r) + print(r.status_code) + print(r.text) + return + response = None + try: + response = r.json() + except: + try: + response = r.text + except: + print("no response found") + return response diff --git a/api/chalicelib/core/weekly_report.py b/api/chalicelib/core/weekly_report.py new file mode 100644 index 000000000..23ff97446 --- /dev/null +++ b/api/chalicelib/core/weekly_report.py @@ -0,0 +1,233 @@ +from chalicelib.utils import pg_client, helper +from chalicelib.utils.helper import environ +from chalicelib.utils.helper import get_issue_title + +LOWEST_BAR_VALUE = 3 + + +def get_config(user_id): + with pg_client.PostgresClient() as cur: + cur.execute(cur.mogrify("""\ + SELECT users.weekly_report + FROM public.users + WHERE users.deleted_at ISNULL AND users.user_id=%(user_id)s + LIMIT 1;""", {"user_id": user_id})) + result = cur.fetchone() + return helper.dict_to_camel_case(result) + + +def edit_config(user_id, weekly_report): + with pg_client.PostgresClient() as cur: + cur.execute(cur.mogrify("""\ + UPDATE public.users + SET weekly_report= %(weekly_report)s + WHERE users.deleted_at ISNULL + AND users.user_id=%(user_id)s + RETURNING weekly_report;""", {"user_id": user_id, "weekly_report": weekly_report})) + result = cur.fetchone() + return helper.dict_to_camel_case(result) + + +def cron(): + with pg_client.PostgresClient() as cur: + cur.execute("""\ + SELECT project_id, + name AS project_name, + users.emails AS emails, + TO_CHAR(DATE_TRUNC('day', now()) - INTERVAL '1 week', 'Mon. DDth, YYYY') AS period_start, + TO_CHAR(DATE_TRUNC('day', now()), 'Mon. DDth, YYYY') AS period_end, + COALESCE(week_0_issues.count, 0) AS this_week_issues_count, + COALESCE(week_1_issues.count, 0) AS past_week_issues_count, + COALESCE(month_1_issues.count, 0) AS past_month_issues_count + FROM public.projects + INNER JOIN LATERAL ( + SELECT sessions.project_id + FROM public.sessions + WHERE sessions.project_id = projects.project_id + AND start_ts >= (EXTRACT(EPOCH FROM now() - INTERVAL '3 days') * 1000)::BIGINT + LIMIT 1) AS recently_active USING (project_id) + INNER JOIN LATERAL ( + SELECT COALESCE(ARRAY_AGG(email), '{}') AS emails + FROM public.users + WHERE users.tenant_id = projects.tenant_id + AND users.deleted_at ISNULL + AND users.weekly_report + ) AS users ON (TRUE) + LEFT JOIN LATERAL ( + SELECT COUNT(issues.*) AS count + FROM events_common.issues + INNER JOIN public.sessions USING (session_id) + WHERE sessions.project_id = projects.project_id + AND issues.timestamp >= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '1 week') * 1000)::BIGINT + ) AS week_0_issues ON (TRUE) + LEFT JOIN LATERAL ( + SELECT COUNT(issues.*) AS count + FROM events_common.issues + INNER JOIN public.sessions USING (session_id) + WHERE sessions.project_id = projects.project_id + AND issues.timestamp <= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '1 week') * 1000)::BIGINT + AND issues.timestamp >= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '2 week') * 1000)::BIGINT + ) AS week_1_issues ON (TRUE) + LEFT JOIN LATERAL ( + SELECT COUNT(issues.*) AS count + FROM events_common.issues + INNER JOIN public.sessions USING (session_id) + WHERE sessions.project_id = projects.project_id + AND issues.timestamp <= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '1 week') * 1000)::BIGINT + AND issues.timestamp >= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '5 week') * 1000)::BIGINT + ) AS month_1_issues ON (TRUE) + WHERE projects.deleted_at ISNULL;""") + projects_data = cur.fetchall() + for p in projects_data: + print(f"checking {p['project_name']} : {p['project_id']}") + if len(p["emails"]) == 0 \ + or p["this_week_issues_count"] + p["past_week_issues_count"] + p["past_month_issues_count"] == 0: + print('ignore') + continue + print("valid") + p["past_week_issues_evolution"] = helper.__decimal_limit( + helper.__progress(p["this_week_issues_count"], p["past_week_issues_count"]), 1) + p["past_month_issues_evolution"] = helper.__decimal_limit( + helper.__progress(p["this_week_issues_count"], p["past_month_issues_count"]), 1) + cur.execute(cur.mogrify(""" + SELECT LEFT(TO_CHAR(timestamp_i, 'Dy'),1) AS day_short, + TO_CHAR(timestamp_i, 'Mon. DD, YYYY') AS day_long, + ( + SELECT COUNT(*) + FROM events_common.issues INNER JOIN public.issues USING (issue_id) + WHERE project_id = %(project_id)s + AND timestamp >= (EXTRACT(EPOCH FROM timestamp_i) * 1000)::BIGINT + AND timestamp <= (EXTRACT(EPOCH FROM timestamp_i + INTERVAL '1 day') * 1000)::BIGINT + ) AS issues_count + FROM generate_series( + DATE_TRUNC('day', now()) - INTERVAL '7 days', + DATE_TRUNC('day', now()) - INTERVAL '1 day', + '1 day'::INTERVAL + ) AS timestamp_i + ORDER BY timestamp_i;""", {"project_id": p["project_id"]})) + days_partition = cur.fetchall() + max_days_partition = max(x['issues_count'] for x in days_partition) + for d in days_partition: + if max_days_partition <= 0: + d["value"] = LOWEST_BAR_VALUE + else: + d["value"] = d["issues_count"] * 100 / max_days_partition + d["value"] = d["value"] if d["value"] > LOWEST_BAR_VALUE else LOWEST_BAR_VALUE + cur.execute(cur.mogrify("""\ + SELECT type, COUNT(*) AS count + FROM events_common.issues INNER JOIN public.issues USING (issue_id) + WHERE project_id = %(project_id)s + AND timestamp >= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '7 days') * 1000)::BIGINT + GROUP BY type + ORDER BY count DESC, type + LIMIT 4;""", {"project_id": p["project_id"]})) + issues_by_type = cur.fetchall() + max_issues_by_type = sum(i["count"] for i in issues_by_type) + for i in issues_by_type: + i["type"] = get_issue_title(i["type"]) + if max_issues_by_type <= 0: + i["value"] = LOWEST_BAR_VALUE + else: + i["value"] = i["count"] * 100 / max_issues_by_type + cur.execute(cur.mogrify("""\ + SELECT TO_CHAR(timestamp_i, 'Dy') AS day_short, + TO_CHAR(timestamp_i, 'Mon. DD, YYYY') AS day_long, + COALESCE((SELECT JSONB_AGG(sub) + FROM ( + SELECT type, COUNT(*) AS count + FROM events_common.issues + INNER JOIN public.issues USING (issue_id) + WHERE project_id = %(project_id)s + AND timestamp >= (EXTRACT(EPOCH FROM timestamp_i) * 1000)::BIGINT + AND timestamp <= (EXTRACT(EPOCH FROM timestamp_i + INTERVAL '1 day') * 1000)::BIGINT + GROUP BY type + ORDER BY count + ) AS sub), '[]'::JSONB) AS partition + FROM generate_series( + DATE_TRUNC('day', now()) - INTERVAL '7 days', + DATE_TRUNC('day', now()) - INTERVAL '1 day', + '1 day'::INTERVAL + ) AS timestamp_i + GROUP BY timestamp_i + ORDER BY timestamp_i;""", {"project_id": p["project_id"]})) + issues_breakdown_by_day = cur.fetchall() + for i in issues_breakdown_by_day: + i["sum"] = sum(x["count"] for x in i["partition"]) + for j in i["partition"]: + j["type"] = get_issue_title(j["type"]) + max_days_partition = max(i["sum"] for i in issues_breakdown_by_day) + for i in issues_breakdown_by_day: + for j in i["partition"]: + if max_days_partition <= 0: + j["value"] = LOWEST_BAR_VALUE + else: + j["value"] = j["count"] * 100 / max_days_partition + j["value"] = j["value"] if j["value"] > LOWEST_BAR_VALUE else LOWEST_BAR_VALUE + cur.execute(cur.mogrify(""" + SELECT type, + COUNT(*) AS issue_count, + COUNT(DISTINCT session_id) AS sessions_count, + (SELECT COUNT(DISTINCT sessions.session_id) + FROM public.sessions + INNER JOIN events_common.issues AS sci USING (session_id) + INNER JOIN public.issues AS si USING (issue_id) + WHERE si.project_id = %(project_id)s + AND sessions.project_id = %(project_id)s + AND sessions.start_ts <= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '1 week') * 1000)::BIGINT + AND sessions.start_ts >= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '2 weeks') * 1000)::BIGINT + AND si.type = mi.type + AND sessions.duration IS NOT NULL + ) AS last_week_sessions_count, + (SELECT COUNT(DISTINCT sci.session_id) + FROM public.sessions + INNER JOIN events_common.issues AS sci USING (session_id) + INNER JOIN public.issues AS si USING (issue_id) + WHERE si.project_id = %(project_id)s + AND sessions.project_id = %(project_id)s + AND sessions.start_ts <= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '1 week') * 1000)::BIGINT + AND sessions.start_ts >= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '5 weeks') * 1000)::BIGINT + AND si.type = mi.type + AND sessions.duration IS NOT NULL + ) AS last_month_sessions_count + FROM events_common.issues + INNER JOIN public.issues AS mi USING (issue_id) + INNER JOIN public.sessions USING (session_id) + WHERE mi.project_id = %(project_id)s AND sessions.project_id = %(project_id)s AND sessions.duration IS NOT NULL + AND sessions.start_ts >= (EXTRACT(EPOCH FROM DATE_TRUNC('day', now()) - INTERVAL '1 week') * 1000)::BIGINT + GROUP BY type + ORDER BY issue_count DESC;""", {"project_id": p["project_id"]})) + issues_breakdown_list = cur.fetchall() + if len(issues_breakdown_list) > 4: + others = {"type": "Others", + "sessions_count": sum(i["sessions_count"] for i in issues_breakdown_list[4:]), + "issue_count": sum(i["issue_count"] for i in issues_breakdown_list[4:]), + "last_week_sessions_count": sum( + i["last_week_sessions_count"] for i in issues_breakdown_list[4:]), + "last_month_sessions_count": sum( + i["last_month_sessions_count"] for i in issues_breakdown_list[4:])} + issues_breakdown_list = issues_breakdown_list[:4] + issues_breakdown_list.append(others) + for i in issues_breakdown_list: + i["type"] = get_issue_title(i["type"]) + i["last_week_sessions_evolution"] = helper.__decimal_limit( + helper.__progress(i["sessions_count"], i["last_week_sessions_count"]), 1) + i["last_month_sessions_evolution"] = helper.__decimal_limit( + helper.__progress(i["sessions_count"], i["last_month_sessions_count"]), 1) + i["sessions_count"] = f'{i["sessions_count"]:,}' + keep_types = [i["type"] for i in issues_breakdown_list] + for i in issues_breakdown_by_day: + keep = [] + for j in i["partition"]: + if j["type"] in keep_types: + keep.append(j) + i["partition"] = keep + helper.async_post(environ['email_funnel'] % "weekly_report2", + {"email": p.pop("emails"), + "data": { + **p, + "days_partition": days_partition, + "issues_by_type": issues_by_type, + "issues_breakdown_by_day": issues_breakdown_by_day, + "issues_breakdown_list": issues_breakdown_list + } + }) diff --git a/api/chalicelib/utils/TimeUTC.py b/api/chalicelib/utils/TimeUTC.py new file mode 100644 index 000000000..4b19c45ba --- /dev/null +++ b/api/chalicelib/utils/TimeUTC.py @@ -0,0 +1,115 @@ +from datetime import datetime, timedelta +from calendar import monthrange +import pytz + + +class TimeUTC: + MS_MINUTE = 60 * 1000 + MS_HOUR = MS_MINUTE * 60 + MS_DAY = MS_HOUR * 24 + MS_MONTH = MS_DAY * 30 + MS_MONTH_TRUE = monthrange(datetime.now(pytz.utc).astimezone(pytz.utc).year, + datetime.now(pytz.utc).astimezone(pytz.utc).month)[1] * MS_DAY + RANGE_VALUE = None + + @staticmethod + def midnight(delta_days=0): + return int((datetime.now(pytz.utc) + timedelta(delta_days)) \ + .replace(hour=0, minute=0, second=0, microsecond=0) \ + .astimezone(pytz.utc).timestamp() * 1000) + + @staticmethod + def __now(delta_days=0, delta_minutes=0, delta_seconds=0): + return (datetime.now(pytz.utc) + timedelta(days=delta_days, minutes=delta_minutes, seconds=delta_seconds)) \ + .astimezone(pytz.utc) + + @staticmethod + def now(delta_days=0, delta_minutes=0, delta_seconds=0): + return int(TimeUTC.__now(delta_days=delta_days, delta_minutes=delta_minutes, + delta_seconds=delta_seconds).timestamp() * 1000) + + @staticmethod + def month_start(delta_month=0): + month = TimeUTC.__now().month + delta_month + return int(datetime.now(pytz.utc) \ + .replace(year=TimeUTC.__now().year + ((-12 + month) // 12 if month % 12 <= 0 else month // 12), + month=12 + month % 12 if month % 12 <= 0 else month % 12 if month > 12 else month, + day=1, + hour=0, minute=0, + second=0, + microsecond=0) \ + .astimezone(pytz.utc).timestamp() * 1000) + + @staticmethod + def year_start(delta_year=0): + return int(datetime.now(pytz.utc) \ + .replace(year=TimeUTC.__now().year + delta_year, month=1, day=1, hour=0, minute=0, second=0, + microsecond=0) \ + .astimezone(pytz.utc).timestamp() * 1000) + + @staticmethod + def custom(year=None, month=None, day=None, hour=None, minute=None): + args = locals() + return int(datetime.now(pytz.utc) \ + .replace(**{key: args[key] for key in args if args[key] is not None}, second=0, microsecond=0) \ + .astimezone(pytz.utc).timestamp() * 1000) + + @staticmethod + def future(delta_day, delta_hour, delta_minute, minutes_period=None, start=None): + this_time = TimeUTC.__now() + if delta_day == -1: + if this_time.hour < delta_hour or this_time.hour == delta_hour and this_time.minute < delta_minute: + return TimeUTC.custom(hour=delta_hour, minute=delta_minute) + + return TimeUTC.custom(day=TimeUTC.__now(1).day, hour=delta_hour, minute=delta_minute) + elif delta_day > -1: + if this_time.weekday() < delta_day or this_time.weekday() == delta_day and ( + this_time.hour < delta_hour or this_time.hour == delta_hour and this_time.minute < delta_minute): + return TimeUTC.custom(day=TimeUTC.__now(delta_day - this_time.weekday()).day, hour=delta_hour, + minute=delta_minute) + + return TimeUTC.custom(day=TimeUTC.__now(7 + delta_day - this_time.weekday()).day, hour=delta_hour, + minute=delta_minute) + if start is not None: + return start + minutes_period * 60 * 1000 + + return TimeUTC.now(delta_minutes=minutes_period) + + @staticmethod + def from_ms_timestamp(ts): + return datetime.fromtimestamp(ts // 1000, pytz.utc) + + @staticmethod + def to_human_readable(ts, fmt='%Y-%m-%d %H:%M:%S UTC'): + return datetime.utcfromtimestamp(ts // 1000).strftime(fmt) + + @staticmethod + def human_to_timestamp(ts, pattern): + return int(datetime.strptime(ts, pattern).timestamp() * 1000) + + @staticmethod + def datetime_to_timestamp(date): + if date is None: + return None + return int(datetime.timestamp(date) * 1000) + + @staticmethod + def get_start_end_from_range(range_value): + range_value = range_value.upper() + if TimeUTC.RANGE_VALUE is None: + this_instant = TimeUTC.now() + TimeUTC.RANGE_VALUE = { + "TODAY": {"start": TimeUTC.midnight(), "end": this_instant}, + "YESTERDAY": {"start": TimeUTC.midnight(delta_days=-1), "end": TimeUTC.midnight()}, + "LAST_7_DAYS": {"start": TimeUTC.midnight(delta_days=-7), "end": this_instant}, + "LAST_30_DAYS": {"start": TimeUTC.midnight(delta_days=-30), "end": this_instant}, + "THIS_MONTH": {"start": TimeUTC.month_start(), "end": this_instant}, + "LAST_MONTH": {"start": TimeUTC.month_start(delta_month=-1), "end": TimeUTC.month_start()}, + "THIS_YEAR": {"start": TimeUTC.year_start(), "end": this_instant}, + "CUSTOM_RANGE": {"start": TimeUTC.midnight(delta_days=-7), "end": this_instant} # Default is 7 days + } + return TimeUTC.RANGE_VALUE[range_value]["start"], TimeUTC.RANGE_VALUE[range_value]["end"] + + @staticmethod + def get_utc_offset(): + return int((datetime.now(pytz.utc).now() - datetime.now(pytz.utc).replace(tzinfo=None)).total_seconds() * 1000) diff --git a/api/chalicelib/utils/__init__.py b/api/chalicelib/utils/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/api/chalicelib/utils/args_transformer.py b/api/chalicelib/utils/args_transformer.py new file mode 100644 index 000000000..5611df054 --- /dev/null +++ b/api/chalicelib/utils/args_transformer.py @@ -0,0 +1,10 @@ +def int_arg(x): + return int(x) if x is not None else int(0) + + +def float_arg(x): + return float(x) if x is not None else float(0) + + +def string(x): + return x diff --git a/api/chalicelib/utils/captcha.py b/api/chalicelib/utils/captcha.py new file mode 100644 index 000000000..f499a6da9 --- /dev/null +++ b/api/chalicelib/utils/captcha.py @@ -0,0 +1,24 @@ +from chalicelib.utils.helper import environ as env +import requests +from chalicelib.utils import helper + + +def __get_captcha_config(): + return env["captcha_server"], env["captcha_key"] + + +def is_valid(response): + if not helper.allow_captcha(): + print("!! Captcha is disabled") + return True + url, secret = __get_captcha_config() + r = requests.post(url=url, data={"secret": secret, "response": response}) + if r.status_code != 200: + print("something went wrong") + print(r) + print(r.status_code) + print(r.text) + return + r = r.json() + print(r) + return r["success"] diff --git a/api/chalicelib/utils/dev.py b/api/chalicelib/utils/dev.py new file mode 100644 index 000000000..3b350ce7e --- /dev/null +++ b/api/chalicelib/utils/dev.py @@ -0,0 +1,28 @@ +from functools import wraps +from time import time +import inspect +from chalicelib.utils import helper + + +def timed(f): + @wraps(f) + def wrapper(*args, **kwds): + if not helper.TRACK_TIME: + return f(*args, **kwds) + start = time() + result = f(*args, **kwds) + elapsed = time() - start + if inspect.stack()[1][3] == "_view_func": + print("DEBUG: %s: took %d s to finish" % (f.__name__, elapsed)) + else: + call_stack = [i[3] for i in inspect.stack()[1:] if i[3] != "wrapper"] + call_stack = [c for c in call_stack if + c not in ['__init__', '__call__', 'finish_request', 'process_request_thread', + 'handle_request', '_generic_handle', 'handle', '_bootstrap_inner', 'run', + '_bootstrap', '_main_rest_api_handler', '_user_handler', + '_get_view_function_response', 'wrapped_event', 'handle_one_request', + '_global_error_handler', 'asayer_middleware']] + print("DEBUG: %s > %s took %d s to finish" % (" > ".join(call_stack), f.__name__, elapsed)) + return result + + return wrapper diff --git a/api/chalicelib/utils/email_handler.py b/api/chalicelib/utils/email_handler.py new file mode 100644 index 000000000..2de35e616 --- /dev/null +++ b/api/chalicelib/utils/email_handler.py @@ -0,0 +1,90 @@ +import base64 +import re +from email.header import Header +from email.mime.image import MIMEImage +from email.mime.multipart import MIMEMultipart +from email.mime.text import MIMEText + +from chalicelib.utils import helper, smtp +from chalicelib.utils.helper import environ + + +def __get_subject(subject): + return subject if helper.is_production() else f"{helper.get_stage_name()}: {subject}" + + +def __get_html_from_file(source, formatting_variables): + if formatting_variables is None: + formatting_variables = {} + formatting_variables["frontend_url"] = environ["SITE_URL"] + with open(source, "r") as body: + BODY_HTML = body.read() + if formatting_variables is not None and len(formatting_variables.keys()) > 0: + BODY_HTML = re.sub(r"%(?![(])", "%%", BODY_HTML) + BODY_HTML = BODY_HTML % {**formatting_variables} + return BODY_HTML + + +def __replace_images(HTML): + pattern_holder = re.compile(r'') + return HTML, mime_img + + +def send_html(BODY_HTML, SUBJECT, recipient, bcc=None): + BODY_HTML, mime_img = __replace_images(BODY_HTML) + if not isinstance(recipient, list): + recipient = [recipient] + msg = MIMEMultipart() + msg['Subject'] = Header(__get_subject(SUBJECT), 'utf-8') + msg['From'] = environ["EMAIL_FROM"] + msg['To'] = "" + body = MIMEText(BODY_HTML.encode('utf-8'), 'html', "utf-8") + msg.attach(body) + for m in mime_img: + msg.attach(m) + + with smtp.SMTPClient() as s: + for r in recipient: + msg.replace_header("To", r) + r = [r] + if bcc is not None and len(bcc) > 0: + r += [bcc] + try: + print(f"Email sending to: {r}") + s.sendmail(msg['FROM'], r, msg.as_string().encode('ascii')) + except Exception as e: + print("!!! Email error!") + print(e) + + +def send_text(recipients, text, subject): + with smtp.SMTPClient() as s: + msg = MIMEMultipart() + msg['Subject'] = Header(__get_subject(subject), 'utf-8') + msg['From'] = environ["EMAIL_FROM"] + msg['To'] = ", ".join(recipients) + body = MIMEText(text) + msg.attach(body) + try: + s.sendmail(msg['FROM'], recipients, msg.as_string().encode('ascii')) + except Exception as e: + print("!! Text-email failed: " + subject), + print(e) + + +def __escape_text_html(text): + return text.replace("@", "@").replace(".", ".").replace("=", "=") diff --git a/api/chalicelib/utils/email_helper.py b/api/chalicelib/utils/email_helper.py new file mode 100644 index 000000000..3e5565f26 --- /dev/null +++ b/api/chalicelib/utils/email_helper.py @@ -0,0 +1,119 @@ +from chalicelib.utils.TimeUTC import TimeUTC +from chalicelib.utils.email_handler import __get_html_from_file, send_html, __escape_text_html + + +def send_team_invitation(recipient, user_name, temp_password, client_id, sender_name): + BODY_HTML = __get_html_from_file("chalicelib/utils/html/invitation.html", + formatting_variables={"userName": __escape_text_html(user_name), + "password": temp_password, "clientId": client_id, + "sender": sender_name}) + SUBJECT = "Welcome to Asayer" + send_html(BODY_HTML, SUBJECT, recipient) + + +def send_reset_code(recipient, reset_code): + BODY_HTML = __get_html_from_file("chalicelib/utils/html/reset_password.html", + formatting_variables={"code": reset_code}) + SUBJECT = "Password recovery" + send_html(BODY_HTML, SUBJECT, recipient) + + +def send_assign_session(recipient, message, link): + BODY_HTML = __get_html_from_file("chalicelib/utils/html/assignment.html", + formatting_variables={"message": message, + "now": TimeUTC.to_human_readable(TimeUTC.now()), + "link": link}) + SUBJECT = "assigned session" + send_html(BODY_HTML, SUBJECT, recipient) + + +def alert_email(recipients, subject, data): + BODY_HTML = __get_html_from_file("chalicelib/utils/html/alert_notification.html", formatting_variables=data) + send_html(BODY_HTML=BODY_HTML, SUBJECT=subject, recipient=recipients) + + +def __get_color(idx): + return "#3EAAAF" if idx == 0 else "#77C3C7" if idx == 1 else "#9ED4D7" if idx == 2 else "#99d59a" + + +def weekly_report2(recipients, data): + data["o_tr_u"] = "" + data["o_tr_d"] = "" + for d in data["days_partition"]: + data[ + "o_tr_u"] += f""" + + + + + +
 
+ """ + data[ + "o_tr_d"] += f"""{d["day_short"]}""" + + data[ + "past_week_issues_status"] = f' 0 else "decrease"}.png" width="15px" height="10px" style="font-weight:300;vertical-align:middle">' + data["week_decision"] = "More" if data["past_week_issues_evolution"] > 0 else "Fewer" + data["past_week_issues_evolution"] = abs(data["past_week_issues_evolution"]) + data[ + "past_month_issues_status"] = f' 0 else "decrease"}.png" width="15px" height="10px" style="font-weight:300;vertical-align:middle">' + data["month_decision"] = "More" if data["past_month_issues_evolution"] > 0 else "Fewer" + data["past_month_issues_evolution"] = abs(data["past_month_issues_evolution"]) + data["progress_legend"] = [] + data["progress_tr"] = "" + for idx, i in enumerate(data["issues_by_type"]): + color = __get_color(idx) + data["progress_legend"].append( + f""" + {i["count"]}{i["type"]} + """) + data[ + "progress_tr"] += f' ' + + data["progress_legend"] = '' + "".join( + data["progress_legend"]) + "" + data["breakdown_list"] = "" + color_breakdown = {} + data["breakdown_list_other"] = "" + for idx, i in enumerate(data["issues_breakdown_list"]): + if idx < len(data["issues_breakdown_list"]) - 1 or i["type"].lower() != "others": + color = __get_color(idx) + color_breakdown[i["type"]] = color + data["breakdown_list"] += f""" +   {i["type"]} +
{i["sessions_count"]} + 0 else "decrease"}.png" width="10px" height="7px" style="font-weight:300;vertical-align:middle;margin-right: 3px;"> {abs(i["last_week_sessions_evolution"])}% + 0 else "decrease"}.png" width="10px" height="7px" style="font-weight:300;vertical-align:middle;margin-right: 3px;"> {abs(i["last_month_sessions_evolution"])}% + """ + else: + data["breakdown_list_other"] = f""" + +   {i["type"]} + {i["sessions_count"]} + 0 else "decrease"}.png" width="10px" height="7px" style="font-weight:300;vertical-align:middle;margin-right: 3px;"> {abs(i["last_week_sessions_evolution"])}% + 0 else "decrease"}.png" width="10px" height="7px" style="font-weight:300;vertical-align:middle;margin-right: 3px;"> {abs(i["last_month_sessions_evolution"])}% + + """ + data["b_tr_u"] = "" + data["b_tr_d"] = "" + for i in data["issues_breakdown_by_day"]: + data[ + "b_tr_d"] += f""" + {i["day_short"]} + """ + if len(i["partition"]) > 0: + sup_partition = "" + for j in i["partition"]: + sup_partition += f'' + else: + sup_partition = '' + data[ + "b_tr_u"] += f""" + + {sup_partition} +
+ """ + BODY_HTML = __get_html_from_file("chalicelib/utils/html/Project-Weekly-Report.html", formatting_variables=data) + SUBJECT = "Asayer Project Weekly Report" + send_html(BODY_HTML=BODY_HTML, SUBJECT=SUBJECT, recipient=recipients) diff --git a/api/chalicelib/utils/event_filter_definition.py b/api/chalicelib/utils/event_filter_definition.py new file mode 100644 index 000000000..4c132cb13 --- /dev/null +++ b/api/chalicelib/utils/event_filter_definition.py @@ -0,0 +1,15 @@ +class Event: + def __init__(self, ui_type, table, column): + self.ui_type = ui_type + self.table = table + self.column = column + + +class SupportedFilter: + def __init__(self, get, query, value_limit, starts_with, starts_limit, ignore_if_starts_with): + self.get = get + self.query = query + self.valueLimit = value_limit + self.startsWith = starts_with + self.startsLimit = starts_limit + self.ignoreIfStartsWith = ignore_if_starts_with diff --git a/api/chalicelib/utils/github_client_v3.py b/api/chalicelib/utils/github_client_v3.py new file mode 100644 index 000000000..a86b721aa --- /dev/null +++ b/api/chalicelib/utils/github_client_v3.py @@ -0,0 +1,133 @@ +import requests +from datetime import datetime + + +class github_formatters: + + @staticmethod + def get_timestamp(ts): + ts = ts[:-1] + pattern = '%Y-%m-%dT%H:%M:%S' + creation = datetime.strptime(ts, pattern) + return int(creation.timestamp() * 1000) + + @staticmethod + def label(label): + return { + 'id': label["id"], + 'name': label["name"], + 'description': label["description"], + 'color': label["color"] + } + + @staticmethod + def comment(comment): + return { + 'id': str(comment["id"]), + 'message': comment["body"], + 'author': str(github_formatters.user(comment["user"])["id"]), + 'createdAt': github_formatters.get_timestamp(comment["created_at"]) + } + + @staticmethod + def issue(issue): + labels = [github_formatters.label(l) for l in issue["labels"]] + result = { + 'id': str(issue["number"]), + 'creator': str(github_formatters.user(issue["user"])["id"]), + 'assignees': [str(github_formatters.user(a)["id"]) for a in issue["assignees"]], + 'title': issue["title"], + 'description': issue["body"], + 'status': issue["state"], + 'createdAt': github_formatters.get_timestamp(issue["created_at"]), + 'closed': issue["closed_at"] is not None, + 'commentsCount': issue["comments"], + 'issueType': [str(l["id"]) for l in labels if l["name"].lower() != "asayer"], + 'labels': [l["name"] for l in labels] + } + return result + + @staticmethod + def user(user): + if not user: + return None + result = { + 'id': user["id"], + 'name': user["login"], + 'avatarUrls': {'24x24': user["avatar_url"]}, + 'email': "" + } + return result + + @staticmethod + def team_to_dict(team): + if not team: + return None + + result = {'id': team.id, 'name': team.name, 'members_count': team.members_count} + return result + + @staticmethod + def repo(repo): + if not repo: + return None + return { + "id": str(repo["id"]), + "name": repo["name"], + "description": repo["description"], + "creator": str(repo["owner"]["id"]) + } + + @staticmethod + def organization(org): + if not org: + return None + return { + "id": org["id"], + "name": org["login"], + "description": org["description"], + "avatarUrls": {'24x42': org["avatar_url"]} + } + + +def get_response_links(response): + links = {} + if "Link" in response.headers: + link_headers = response.headers["Link"].split(", ") + for link_header in link_headers: + (url, rel) = link_header.split("; ") + url = url[1:-1] + rel = rel[5:-1] + links[rel] = url + return links + + +class githubV3Request: + __base = "https://api.github.com" + + def __init__(self, token): + self.__token = token + + def __get_request_header(self): + return {"Accept": "application/vnd.github.v3+json", 'Authorization': f'token {self.__token}'} + + def get(self, url, params={}): + results = [] + params = {"per_page": 100, **params} + pages = {"next": f"{self.__base}{url}", "last": ""} + while len(pages.keys()) > 0 and pages["next"] != pages["last"]: + response = requests.get(pages["next"], headers=self.__get_request_header(), params=params) + pages = get_response_links(response) + result = response.json() + if response.status_code != 200: + print("!-------- error") + print(result) + raise Exception(result["message"]) + if isinstance(result, dict): + return result + results += result + return results + + def post(self, url, body): + response = requests.post(f"{self.__base}{url}", headers=self.__get_request_header(), json=body) + return response.json() diff --git a/api/chalicelib/utils/helper.py b/api/chalicelib/utils/helper.py new file mode 100644 index 000000000..5bb809dd8 --- /dev/null +++ b/api/chalicelib/utils/helper.py @@ -0,0 +1,380 @@ +import math +import random +import re +import string + +import requests + +local_prefix = 'local-' +from os import environ, path + +import json + + +def get_version_number(): + return environ["version"] + + +def get_stage_name(): + stage = environ["stage"] + return stage[len(local_prefix):] if stage.startswith(local_prefix) else stage + + +def is_production(): + return get_stage_name() == "production" + + +def is_staging(): + return get_stage_name() == "staging" + + +def is_onprem(): + return not is_production() and not is_staging() + + +def is_local(): + return environ["stage"].startswith(local_prefix) + + +def generate_salt(): + return "".join(random.choices(string.hexdigits, k=36)) + + +def remove_empty_none_values(dictionary): + aux = {} + for key in dictionary.keys(): + if dictionary[key] is not None: + if isinstance(dictionary[key], dict): + aux[key] = remove_empty_none_values(dictionary[key]) + elif not isinstance(dictionary[key], str) or len(dictionary[key]) > 0: + aux[key] = dictionary[key] + return aux + + +def unique_ordered_list(array): + uniq = [] + [uniq.append(x) for x in array if x not in uniq] + return uniq + + +def unique_unordered_list(array): + return list(set(array)) + + +def list_to_camel_case(items, flatten=False): + for i in range(len(items)): + if flatten: + items[i] = flatten_nested_dicts(items[i]) + items[i] = dict_to_camel_case(items[i]) + + return items + + +def dict_to_camel_case(variable, delimiter='_', ignore_keys=[]): + if variable is None: + return None + if isinstance(variable, str): + return variable + elif isinstance(variable, dict): + aux = {} + for key in variable.keys(): + if key in ignore_keys: + aux[key] = variable[key] + elif isinstance(variable[key], dict): + aux[key_to_camel_case(key, delimiter)] = dict_to_camel_case(variable[key]) + elif isinstance(variable[key], list): + aux[key_to_camel_case(key, delimiter)] = list_to_camel_case(variable[key]) + else: + aux[key_to_camel_case(key, delimiter)] = variable[key] + return aux + else: + return variable + + +def dict_to_CAPITAL_keys(variable): + if variable is None: + return None + if isinstance(variable, str): + return variable.upper() + elif isinstance(variable, dict): + aux = {} + for key in variable.keys(): + if isinstance(variable[key], dict): + aux[key.upper()] = dict_to_CAPITAL_keys(variable[key]) + else: + aux[key.upper()] = variable[key] + return aux + else: + return variable + + +def variable_to_snake_case(variable, delimiter='_', split_number=False): + if isinstance(variable, str): + return key_to_snake_case(variable, delimiter, split_number) + elif isinstance(variable, dict): + aux = {} + for key in variable.keys(): + if isinstance(variable[key], dict): + aux[key_to_snake_case(key, delimiter, split_number)] = variable_to_snake_case(variable[key], delimiter, + split_number) + else: + aux[key_to_snake_case(key, delimiter, split_number)] = variable[key] + return aux + else: + return variable + + +def key_to_camel_case(snake_str, delimiter='_'): + if snake_str.startswith(delimiter): + snake_str = snake_str[1:] + components = snake_str.split(delimiter) + return components[0] + ''.join(x.title() for x in components[1:]) + + +def key_to_snake_case(name, delimiter='_', split_number=False): + s1 = re.sub('(.)([A-Z][a-z]+)', fr'\1{delimiter}\2', name) + return re.sub('([a-z])([A-Z0-9])' if split_number else '([a-z0-9])([A-Z])', fr'\1{delimiter}\2', s1).lower() + + +TRACK_TIME = True + + +def __sbool_to_bool(value): + if value is None or not isinstance(value, str): + return False + return value.lower() in ["true", "yes", "1"] + + +def allow_cron(): + return "allowCron" not in environ or __sbool_to_bool(environ["allowCron"]) + + +def allow_captcha(): + return environ.get("captcha_server") is not None and environ.get("captcha_key") is not None \ + and len(environ["captcha_server"]) > 0 and len(environ["captcha_key"]) > 0 + + +def allow_sentry(): + return "sentry" not in environ or __sbool_to_bool(environ["sentry"]) + + +def async_post(endpoint, data): + data["auth"] = environ["async_Token"] + try: + requests.post(endpoint, timeout=1, json=data) + except requests.exceptions.ReadTimeout: + pass + + +def string_to_sql_like(value): + value = re.sub(' +', ' ', value) + value = value.replace("*", "%") + if value.startswith("^"): + value = value[1:] + elif not value.startswith("%"): + value = '%' + value + + if value.endswith("$"): + value = value[:-1] + elif not value.endswith("%"): + value = value + '%' + # value = value.replace(" ", "%") + return value + + +def string_to_sql_like_with_op(value, op): + if isinstance(value, list) and len(value) > 0: + _value = value[0] + else: + _value = value + if _value is None: + return _value + if op.lower() != 'ilike': + return _value.replace("%", "%%") + _value = _value.replace("*", "%") + if _value.startswith("^"): + _value = _value[1:] + elif not _value.startswith("%"): + _value = '%' + _value + + if _value.endswith("$"): + _value = _value[:-1] + elif not _value.endswith("%"): + _value = _value + '%' + return _value.replace("%", "%%") + + +def is_valid_email(email): + return re.match(r"[^@]+@[^@]+\.[^@]+", email) is not None + + +def is_valid_http_url(url): + regex = re.compile( + r'^(?:http|ftp)s?://' # http:// or https:// + r'(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|' # domain... + r'localhost|' # localhost... + r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})' # ...or ip + r'(?::\d+)?' # optional port + r'(?:/?|[/?]\S+)$', re.IGNORECASE) + + return re.match(regex, url) is not None + + +def is_valid_url(url): + regex = re.compile( + # r'^(?:http|ftp)s?://' # http:// or https:// + r'(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|' # domain... + r'localhost|' # localhost... + r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})' # ...or ip + r'(?::\d+)?' # optional port + r'(?:/?|[/?]\S+)$', re.IGNORECASE) + + return re.match(regex, url) is not None + + +def is_alphabet_space(word): + r = re.compile("^[a-zA-Z ]*$") + return r.match(word) is not None + + +def is_alphabet_latin_space(word): + r = re.compile("^[a-zA-Z\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff\s ]*$") + return r.match(word) is not None + + +def is_alphabet_space_dash(word): + r = re.compile("^[a-zA-Z -]*$") + return r.match(word) is not None + + +def is_alphanumeric_space(word): + r = re.compile("^[a-zA-Z0-9._\- ]*$") + return r.match(word) is not None + + +def merge_lists_by_key(l1, l2, key): + merged = {} + for item in l1 + l2: + if item[key] in merged: + merged[item[key]].update(item) + else: + merged[item[key]] = item + return [val for (_, val) in merged.items()] + + +def flatten_nested_dicts(obj): + if obj is None: + return None + result = {} + for key in obj.keys(): + if isinstance(obj[key], dict): + result = {**result, **flatten_nested_dicts(obj[key])} + else: + result[key] = obj[key] + return result + + +def delete_keys_from_dict(d, to_delete): + if isinstance(to_delete, str): + to_delete = [to_delete] + if isinstance(d, dict): + for single_to_delete in set(to_delete): + if single_to_delete in d: + del d[single_to_delete] + for k, v in d.items(): + delete_keys_from_dict(v, to_delete) + elif isinstance(d, list): + for i in d: + delete_keys_from_dict(i, to_delete) + return d + + +def explode_widget(data, key=None): + result = [] + for k in data.keys(): + if k.endswith("Progress") or k == "chart": + continue + result.append({"key": key_to_snake_case(k) if key is None else key, "data": {"value": data[k]}}) + if k + "Progress" in data: + result[-1]["data"]["progress"] = data[k + "Progress"] + if "chart" in data: + result[-1]["data"]["chart"] = [] + for c in data["chart"]: + result[-1]["data"]["chart"].append({"timestamp": c["timestamp"], "value": c[k]}) + return result + + +TEMP_PATH = "./" if is_local() else "/tmp/" + + +def get_issue_title(issue_type): + return {'click_rage': "Click Rage", + 'dead_click': "Dead Click", + 'excessive_scrolling': "Excessive Scrolling", + 'bad_request': "Bad Request", + 'missing_resource': "Missing Image", + 'memory': "High Memory Usage", + 'cpu': "High CPU", + 'slow_resource': "Slow Resource", + 'slow_page_load': "Slow Page", + 'crash': "Crash", + 'ml_cpu': "High CPU", + 'ml_memory': "High Memory Usage", + 'ml_dead_click': "Dead Click", + 'ml_click_rage': "Click Rage", + 'ml_mouse_thrashing': "Mouse Thrashing", + 'ml_excessive_scrolling': "Excessive Scrolling", + 'ml_slow_resources': "Slow Resource", + 'custom': "Custom Event", + 'js_exception': "Error", + 'custom_event_error': "Custom Error", + 'js_error': "Error"}.get(issue_type, issue_type) + + +def __progress(old_val, new_val): + return ((old_val - new_val) / new_val) * 100 if new_val > 0 else 0 if old_val == 0 else 100 + + +def __decimal_limit(value, limit): + factor = pow(10, limit) + value = math.floor(value * factor) + if value % factor == 0: + return value // factor + return value / factor + + +def is_free_open_source_edition(): + return __sbool_to_bool(environ.get("isFOS")) + + +def is_enterprise_edition(): + return __sbool_to_bool(environ.get("isEE")) + + +stag_config_file = f"chalicelib/.configs/{environ['stage']}.json" +if not path.isfile(stag_config_file): + print("!! stage config file not found, using .chalice/config.json only") +else: + print("!! stage config file found, merging with priority to .chalice/config.json") + with open(stag_config_file) as json_file: + config = json.load(json_file) + environ = {**config, **environ} + +if (is_free_open_source_edition() or is_enterprise_edition()) and environ.get("config_file"): + if not path.isfile(environ.get("config_file")): + print("!! config file not found, using default environment") + else: + with open(environ.get("config_file")) as json_file: + config = json.load(json_file) + environ = {**environ, **config} + + +def get_internal_project_id(project_id64): + if project_id64 < 0x10000000000000 or project_id64 >= 0x20000000000000: + return None + + project_id64 = (project_id64 - 0x10000000000000) * 4212451012670231 & 0xfffffffffffff + if project_id64 > 0xffffffff: + return None + project_id = int(project_id64) + return project_id diff --git a/api/chalicelib/utils/html/Project-Weekly-Report.html b/api/chalicelib/utils/html/Project-Weekly-Report.html new file mode 100644 index 000000000..bb7b7a38e --- /dev/null +++ b/api/chalicelib/utils/html/Project-Weekly-Report.html @@ -0,0 +1,170 @@ + + +
+
+ + + + + + + +
+
+
+ + + + + + +
+ + + + + + +
%(project_name)s | Weekly Report
%(period_start)s - %(period_end)s
+
+ +
+
+
+ + +
+ +
+ + + + + +
+

287 Issues Occured This Week

+
+ + + + + + +
+ + + %(o_tr_u)s + + + %(o_tr_d)s + +
+
+ + + + + + + + + +
+
%(past_week_issues_status)s %(past_week_issues_evolution)s%
+
+
%(past_month_issues_status)s %(past_month_issues_evolution)s%
+
+  %(week_decision)s than past 7 days + + %(month_decision)s than past 30 days +
+
+ +
+ +
+ +
+ + + + + + + + + + + + +
+

Issues by Type

+
+ + + %(progress_legend)s + +
+
+ + + %(progress_tr)s + +
+
+ + +
+ +
+ +
+ + + +

Issues Breakdown

+ + + + %(b_tr_u)s + + + %(b_tr_d)s + +
+ + + + + + + + + + + + %(breakdown_list)s + + %(breakdown_list_other)s +
TypeSessionsPast 7 DaysPast 30 Days
+ + +
+ +
+ + +
+ +
+ + \ No newline at end of file diff --git a/api/chalicelib/utils/html/alert_notification.html b/api/chalicelib/utils/html/alert_notification.html new file mode 100644 index 000000000..36f7a7614 --- /dev/null +++ b/api/chalicelib/utils/html/alert_notification.html @@ -0,0 +1,60 @@ + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + +
+
+ Asayer +
+
+

+ New alert!

+

+ %(message)s

+

+ See metrics for more details.

+ + +
+
+
+

+ Sent with ♡ from Asayer © 2021 - All rights reserved.

+ https://asayer.io/ +

+ +
+
+ +
+
+ + + + + diff --git a/api/chalicelib/utils/html/assignment.html b/api/chalicelib/utils/html/assignment.html new file mode 100644 index 000000000..a6eacbfbf --- /dev/null +++ b/api/chalicelib/utils/html/assignment.html @@ -0,0 +1,556 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/api/chalicelib/utils/html/img/asayer-logo.png b/api/chalicelib/utils/html/img/asayer-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..56b14d3698f1ee3ce200d3b4f9198f5346f37f40 GIT binary patch literal 2633 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 literal 0 HcmV?d00001 diff --git a/api/chalicelib/utils/html/img/header.png b/api/chalicelib/utils/html/img/header.png new file mode 100644 index 0000000000000000000000000000000000000000..0108751f44fbc0d06bb639d9383604c601785be3 GIT binary patch literal 507040 zcmZ5|WmsHW(<~ZD@ZdTDLU0cbGq?nT6Ck(+cXtTx4#8al1P|^GgS-3SJ~#th&UxSO zKKHx7_m5t?yH{0p?|OEaqP!HwJCb*BaBvth(&EZ+a7dwWa0sZVZ{XnI9b_R5uMdz+ zMZSu_!Bxkg!3>b$;Dq61#6?uy;E&r->V8N$fBJswQr1$K%unxxCMW;K$_hPsi0LP` zh{anOR2)1(U7zg>PHtO4OX8S-$hIG3YtRv1eb12vI-&%m_wOZ<0!|I)UQTj45kaMoS*2~a4IOP|W5DZd(8}X@>*XlVSW^3FA_otT`j0$T zPRDpOWAt~POD9f>S@e@YTCywue77nnb+%gx76CY^aK(Ow|4yvJ2c^Yp15+U=4)o;k zP6wDT7_R{R2_k(OnKrh#M(kP1*vp0SFZwW_vH?79eLDLDzno7_U(oI;L6rnI3fQvU zbHL6b87c&oPVM~l?jue|4K}w$8|-?S>LXmxO=5dp44w)^a2!^roNaFFq5s?OcDbKZ z!#G`^Q43@Y2lL>H!=*mKa{vlW2+1U{KQUvHmjp+7B@d^O)20X{SES&<_au?!o)XCL z4|8vtWf;>~rT!R4+r$F^p9CKScT!YG*Y9}=?%iwf?Ct=3 z_UU*~@ef2#G%zteH71D20&5Mbz6VL3l@@e4l#A&akNB=q;OSr+le2xT*9NJ?85NBz zB}%cGIWLZOM*23`iRbdXf)#gJTwx3Avl-OJ!ia)%BAf`0#=exY)XwY3R2)laqXuG<2-B{ z-M{P6c=zS-uuymou9U!$D!CLd2@9!fE2qv+v&~Hn*`jSq^EowUXrGgTD&t8BS$Sq$ zWWIU?m>96&e-(?T_U=0!KUwb;h)!teJX?U!o9S>fIxn0Ry{sWy^ef!z!4eK-?p=ue zbwWQLe{d8L*swMxW5k*Q%17_Gz^X$oiyp2(+=xC_z2EzZDC&VWGSdHI0jZ}E>7&?o zQE;`BY7T=@mCv}&rWkX&{Y^2Ehf_^p2~0nM2t{<-YnTcsHzmaJE&!5Ki1DC=lUtsr zT8ki-n1yUfOl<`sD`PR&H_CBB)xqbA6}t-)wFysJ3{Y}q7$QbGCX!V*<{@ChJpR0c zgBjn_h+d@e201w6sy2qre_O-idmnYc6NC0xV5%1N_F$?F8PPOvNi4SrrFsV30j>4U zwg%Nl9axWI{O7=0jK=g5FDhE7pTx!VDAIRUgrDOM=M#X}18vIH)J?0UJO}Ya}^rxg96(s7--=eFs{>m*6{HZeM>)0T?Mb=McEC1KQL=0s zP574y=7h`XI=*hA@t;Iz{doolVR@xqe{(ZBl9)*I;47u!tzUFh-?S68Rb6qFoOcQ} zhs(7eoVv`*Qi&J{1>VV`Ixp5VGn4AT$N6~^O^*?oGiC7x(wc=*{?svB3}Q+`uE8$V zMKnZ^LPa)WfXCaUPJ){a(RdtUq(2ekPs3+>S}4W}en??hHapoOC7g##l4}vyyKpDTJ~GZ zm5~r1xYQ8DC!U5p20KU*Y1i)c0@78Pc-Qo1_YV*`q8R@}nC7;#C%0DY)V<8+M}dw& zoNbNWY6V3O;YM7}NQsD%s}MFf-t=is=9COq6!qeL4QIO_e-As0jUUd|aBw>*Kz1XC z6xuQeqUdRc^r0UuN?#67%6_9$>>8z4#0<(*+kMES4;%6lvkWlmTOe|nia{ZDb87!o z@MoxhNXl;bfi==?Lz3lDNjRZ=3}ow)Eoa}|42O42@J@r=t6*9~ zC^)m@dRI~79-f-Q%z+|YOrGW=5Mx;+*z<{B2|&1lvU`)Vn7WweL*B`ant9KzN7CqX zsMSv9-gd4kHAX-Efw9>wlkRxpr&1XhXE6l-D^=QFV09EP^9R1g?(EYo8k$-A5%~pP zV`tn-(;rBaVa(9DaCU2Iy$50~>IoU20&HE5AtuxC9d0b4V`{k#-g?IJgMz!nAvO5G zx6~BB`8cAfy87L$5T?|r-o-PrSS357qw~{z*d-v0{p#7k?zeB^9G{u(jrvOibjSH_ zxw&m+mTZ9UOF1wPABAE})w_N>beiZ^ym{WANno7i%GPVKb`gGeI`dY%f}n*I8@sd$ z1E*q@=1w`qr>^e}VYHK9EldbI1ZKUh8`~0IJySr+PB|S%;6kPZFfw97BY)%mQM#g6 z6~R%3H3=>nBglR;b60 z!s*)66e*YfH&F*fZJeI9<4|mh^*gW1GYn>$6tV7Mri!d`erHCCsD*5KNRk zKOmaSKR+3|&-by?@9ADp+;hCN(thU^P+9Z7;4?Xa%nxSMLLOwtXE{MXb%eE@cqJ%+ zh}eY|4`=JReFz8IMkBQ{N$>nEHHMR)1TJb3ZH>xfzf$mHgKIHzq50#%ZLU3LEdtwl z?Hiw12j2I{c_PlO=;Qq^Y|y!Cy}ayrP;5HHUyGBzs;*p9s%XDM?^~?$PN`IuZn*`- zM&rY>ZSUONVQIKDwRTBxD3cW}btmGgzniB^kV?eaig0`m9i;q3=Kbi{>91#aZFLU9 z(TJn9Gj<%Aw#{nG;9iPc^1O_GIckTPT9>7iM?!NRCY#MpnF2LBu01dMExB2E2~I;@ zsF>~eFF)D|8AY*n%3rzQO(Cm4Tf0B@jn7Bd0C*&p!r+Y9C3Kb~+8rSs?fVCiTib_n z4R@?QB3g^tVM#21?m+-vwLSBX1PZ`~`h?2*-2N0SlAyVR^$UZ)M!}oO@`<{*?>}`kKwi9vng-^p}rA ziN?T$##M5rQ=AFJA@4b-2qa-)K->vO-CrA`4|L&LEh7Tgj z5LWoHbqN*cXsbMA}GqwUK@$guC-&3JN* z(Dv7x+Jt`b2<(t(WqS;$V5GgaL@1&+!KK`x@f0-@!RJbr=Y%-8!BQiC=LzJUcfpwj z{yoy$wX6fvo^|T5eWT$ep0?#L`j;Nq6h6)I)=|{LTZdN4L0Kg>C~Pq`K|!Ou%Dh8k z3ea$_EsYERBiFz~Dc@(?=OHPZXD^<0Tzis5my1rcz_>|b-Y(2CV?0SaYWo5h_wu0;@clcD?`8+#*a~;#@yD;uRKY% z6>aT;&X5??%#i4K_#N#%VK%D1c(=e+BlN;{>k}>T z{9OAg0v~GH6b01I*YIloWxx|`1bV!>yyo2Q+c^JiBa-7tU@v3(I{aL-oSX;VQu`r{A>irf=$!D%YPLx0H^ri- ziNsb!5md|8rX6ZeVwEj9UiWg*o4DM>%{_U21BqatX9)<8-lL&;6K9*t6KgUS5E7Ld zKPeLH99zxA$h;TK>(-*q)iVa^JCP7O#ay#C-WkKgR-^u+)bj4Hi;~)flyRGj%whf$LC9K67O!8Sd8I?DV@`TGv-;N#QW@_A3!sG$i*Pr{|?N5ZCje zNme+DCJTp0VnBH>0F|wPcA#6M$T-P5+4*Bm{}kLpNc$tip%^xJt1W%@#av8)!t*%K z0o=^2Tos#j*9f4~YB*!Db%%nIY%`t3?vHD?tcwR_jwB3&rD{iXe?AO(<}n%Qz_-8K z(Ya34*sXA(a&lzAp0$6Q6VWIsi&dx-RiRk*kr%$|M6<5tax$~Jj@rrSbtK3P7VH*r z0H`0t^=w8}GdU5xYG?CDo3*fC%RLoh7iPM{?W62P{HHeU+o#>xDeW6?oz=I*$j(x1 zKu6w?!r})ZWd~2|5q(YY5tn4+ja^Z~;Jcf@1zFp?O=^{%28L$)LYtIJBU(vDH?ANj|6V z6}>~hYCG^~R`A1aX`fW@rxty6ZTb}Y3(LF)8AwnztFon%f~vpT(}2Iz<3D1DFnv1x za*sV=`2E^7hH)Kugc!cu$oXxD@QBT^3!mp*5AQI1QeVhN-NY|sT1d8DY7j5!yftaE z`^FjLx0fM6SRby>t^wZj#^6W6JUk=f4Ujr_#fEM7`&-*19(`NBM+L5w~pxX1c zsl8ralG%}|1gm4$MUV4u1t|x7{{&FB8-R(>cb1j=3vtM_&#?hyGlu`K`s_t%VFWnM zWZ=sW%IeHU2Xpra;^O4LFXy%VdKD3aC@#AKt+ZR_Gi_*4<8Y=AId=j6!Mt}nVsBFF zKIaTkJijkN3|3KrR~mYmsV+wR&iv_Ma1bHwnY5}m?G0U|1P+P|$vge@a~HE}bY%qb z)c3>E(t_;ujO?2q?e3%{Km*P|jFc6e#ubOL>|}Ff@y8{A+n4*xMc*zfX~N&Jye8%- z)kt{Ut$0g~aw#iPOWbD*`60Ypj_ONJ^U)5gS{>T$-n;9`-Fi}vL56ZrqNAI&W^3ob=O%)5_Au zOQHvcAu5oaS*r@qT!`n{-eSi7M(9sO!VyLfzN!>@6U$S%;~ks#4uw+qG!fpr-W@!FbD6tJPmOw zx9mKwsLas9lw0wKGJZRf6p&@nqxh#=Z+mk>@_+-yRUh`)o=pW^N>v#sIXKIxaKzdnt>modH6C)25Xu~`rM z1>HjSA+}+ya3GkDJN|OiV8z;Udr^DXTSjJ_mfuBh{0i^#eRObGJ^E>BZ8PV%09x}BSEJ`AO!l;%A{ zFx61;eK2GyHB<%&8p&jXtV7hmruq-X)n^IZe-`vhtVp&d>SmHH9E?Qhug~JHt+W(XJKb(Zv{(Ko0Y!!b8rs#&Drm4R`M9l}(J|b>Y>gt7z%! zFz=Jp>#KV+KNmE?(@yv8@cuu zHwzTM7fp{DC6Vif#ja!=7iahpaLWIhQ&mi+-m@Z+qL$XT!jBDAxNT7Sj-8=i``fiP zlPB_Z25<`cI-W)d;iJ5!i}rG=-}qye{Y9(=wCJlzS2v|p;II8;X03{l{E&=R2mMEo zuKRc9BCU23TUzH(sSGdCO)+9E0u|FNqC+p7Xxt%3zTq)-{5FkI(qu>_@@NunL-~2% zh%5_>=1HRMFtC_BexC;El zKucxkg)D)^x?N2!G_=qt+luE`dG!0&Wz<|S0|ZI%1f;r+?xwrVMCL)eHB@RDgqvpq zMwCgUVZXara?4E>*)Y3|l|qYui8>ZP^WCkquMe>v0Qib7MtG)2k#Z-Z05{-+Ze_d$ z+|Gp;|2n3;tC$B^2tBeJiBIn7E|_x^o{56;!;iWKR1IKO&{$PBFoUb;*T(Gsq)o-8<-@?A8d zfa8KBgtE=aWwabdx*diu4>W+pTTzcLu<(fsx0}Dt^J_KefG{CH&lqI4lBH@>JTq z)xAorG1|)rKN!e9-*A|7^p$=v4?(_Wt#+qPbDvwToJ>=zBKZ6AkAyp1t_H`{D=d#m5R)dbqw6Q@ zD<}0;F|{y8Bj+T1AGgdf91_?`iOgPEigRaOz@GmEVhOO*=gsZQFOPSis6fb*&O-oADh za=uGI=A{c+f=$V0{BHJ(1OHx@ZpJBZ(sja2?Ax!sJ6arMpac7uAL_a-p?A#g}S}1OD9w!aeT_*%i>;?`*9A|x1k3#T? zKtr8RL9qh=4cV6)5hHU(I)b$0%Y5I5&9$A4VGd8f7R+&ch2$|}u%31zwcqKcjL{-_ zsuPtzm|cg1AjF0$KCKaM@MDKCas-Y{0R`O7XHPqGO*egv{+ zYZIY0iY8W)SI9x`O>R*Hj*f?zj8)q*)tH|gk)D#^VYBB`ZQ&EDlXyJU(g}rdJmyqa zK+Y*Q@3PG5nds4~piC1z`1fz$b9g)&Q-y~yW{*p&880DZ(77V5Z!1Q_qzgYy*_4k2 zmip`eRqy1-^mHZTqb-T%yYsWrRqT|6qP?6p#P0)7)XTLsT~3y@Y}!xKZ^K>3+wTO@ zq&hj){A&h1=5-ck5ARRV-A_d!Ws%)&t6@JdH&zb=+_XV@0`d2)`R=CF9TYA`W#^dPIW|84U+PFE?YQ7e_G{q;;z`^uaCP3V z?g=T(UC?GI+GsT#!~%>3R5$tt(9eS2FR$M!@+9AaVlLUzV%VQJKNa1}p2B1;jKc}+4?U48=B zHc?Mq;li}*&(3JV-Jjf6`y2IOZjaDj=9m4w+*p`!zOW-CGUn-%&{;#he%H_L+xhmp z>*X_hb`ysdBU6$yexp>@??1p;6PuNa13}5jb3AoU8j#a>b86r|)9u+k7B+h>Wl|uT zqG0Xglf8WD^>OhwqT&l<9O{8h#frifW8(M3PrH5bFOvE$or{ui)7g zcy3RM%jC>L_(R3JuY@$Mzfd9~o3_5p^2mf+RJ88r;^0GsrzhCEk& zAG2Ly?HcQC07chT`*B+>l{7{WeC@EOoi7QklD;0EzfQ@!5`6pGG3-iYOuQS#1^2(q zN!FH8alEy=oZuD zlZVxjX~5?BegZt3#Q3Ulk*(o&irKg0`%#Xlv6>s%d7fn*Yp=YzLv1U_9O3jb)tZJ7 z0LR}d?^j4Kiha)5PM*AGm=Sc*9)`(DPcOu@+mjQ8RCHsuG&`J47lUG!DMlaNZy(xf zk=^cwr#n?T%Q!&_y|`w?1P7B)R;r8MQjV&JSSx$mC)77VF!p{S}qU z^-!_wuQ3v_zb}*w+~>qN6LYUzwuSh02jT_%V2y8}i!B?=;f#`s^NpRXnvEsew^wH? zo)#Gc_10QonKF4YukY~>`Q|I$^;XN@l9`Bo8c(HpPiN)p^!4y!$Lf3B2f8#&--FT9 z<#XAHE?}BCLi~dA#i@u-Q1@UZ@xy}R@)tqHZKymA+Rv}I+%<|0xta=L6pOudQGa*P z(@*``Bq=g_MB0;t)345{Rr!{rpn(qa&q9!^7}%FLchOh08C7yvLN9L6KPHbAI#T!v zeLeGqZcrbEccER95`ohjC>~Ds9g5@V5VoFrJ5aWNoZl@}oV0D4-T8iZ9LHWEZn}e_m&ET{BSPJ6vK*uk_H=mXN zBtrj4uAKaya-oWiu- zcHenx>IkIZY1&LAm|#9LXn$SdK#Jkmv1kyOBi=p;xhsfknw1lVtM$Ec-Db-H7+yf& z9DFve*84miqivy@%n<<+G)AEl+pz7#137B~gI!b4trZ^7vjM$QRh6krvUly>s$l;oENG~@ zoAdS`m|uu|DBXw6AWl}t7gmMmgUhQ~5EB*!u>Cn3%=#kqf(KwLx9NxQt5kp}9Y+g# zaQey-@+(MvFEbk8#2zzzx-PQTprJe1Axb##zqfctC<59R6HWyiMFb7G8+$QmquSjzZ){qe zabfjLOp)|HbZX_IqOIYpdBWa;!d)lw%KkUdMG?8iBK{_lo@5DvKLE)oi`W zlH-jN(9P_|Y`4dIh^(t`)Z#kp359nSUH0!CTTilH;)|p(Msh8MwU+a0$rcWEd_-oJ z%8%UZO8Lc=ERR(KoMf$8#)4Kvzoh(Cg)ehSX|4s48tyVwC``Z_R7I84(?4tno2N`T zBG7wBlU4^-WM~^TfAC7+RU#`vg#&!tl=+0W-%2{Vjm03#2i5Iogd~QeAwE119)<=4 zu)Nz3+w&E%fB%shNz<*TGHkW3Q0MR6q}|?@LrJ$!v)WUKVD3#zWo3l$G2b4||LLJ)*<%+1?6GTr zc5$DJ&mVPK8fVf6pbOr1tnDZ+q-29VV_wEp>s{UJYrLJzD&=#_^7U7w7ZE zWQ*TiXtC^(X1cj&76i?S?`d;>3t2c&EzsC0#Y6$Q0?>-BU`C8vHy`i)}7nY44LN zd4kKUd?onQcuIk2LKCL`Sa!U0#Hi@5E&(UP-6hp0U5OUbd>A9LrxD_;?*lBYT#P=0 zyz6jh5%y!W|Hyq@s`pPW1-nxGjstwW3S&le-W#N%Ow3SlHRW%xVK|G9wjXt7S;(L8 zcD$3$Li!ef-dmWn5b=5-MnWdh(|8f0E3e|3kO%Sqzd+V6WB)7AePEDmI@k7%-*DWS zz_%dTs9T-xTYPDWL&i1!@a|%u-N9OtQxCG<-d1jC#z0sLtV|+_w(D>9-W00mbwn4D zP;!gqIQrW`p!;%Q0dXo~9}5!{E^R6QlPezi*ESyFRG#B5#(kX@R+qeO0;aKJ_NYOt zEF{{~FbyaE7&!(;HrGU!NhCF^C4S!~T*DNs*6yBIo}@y6R^sCFCi2S)lsK*YUUn6 zqkH>Ws}&QgcqC)M%r>L9vCZ3^cmM4^CA(k$bYJG~^{UP1vC4a_Cz9%G;^3)%A(&&t zB!`V!L04NuNtRc(GP(PP>|w8_bqvuh!xFu^4l0vA#&j$`xyEl~Hm;cd5HXiY9@Xew zE>y*yKK)1v@G3gl2lz#)g^MI0hpEGU4+qx27fq_mfaEYR_~x@IWfau%S*%0S%KK7r zYp=g7!@kULkW<#PwrR$#z^0;7m|k?<5gpdUexlhVL-bc?d)A-);~{qR{x@3z8lHIL zlLz#P-^~U^*+@oL8Weh|*UDt@1L_ZhE2bM4f__CeB}3%MA?78xBumqB%xLBrdQiXv zm*J5oMf86{O;d~&3=sFecqz}V<4(fr)w9=H-D@xahobR(Y!{gRWF-zkZ`hhkQ<#Qe zM7u$3S2=i%G6A1wS>L?I%i53?zQHm5xAnRIck7FJrm29{GfiZqd_cl!x5c!YfSPM}sLgTTAfB-jd2391L z)0o*@^*Q_h0F-6kP^{mvST?O0x@^<+Chw(!r;6vyj<|UC|D}?FJ`;B4Zo-yw-l8X+ z+>A=s?A&=j&TY&@Vr!UEY$I*+c_}G)ndMSwGNKCCWH}5J>%`@f2d#t&-_P!W=w}bt zoi8H5^Jh!nC~Br;o;L?TdasV9a`=7|&Ec1)Ez^{jD;}O)w=rf@oo9KYH*fR2Qr%R2 zbWy1}LZR9u@Z~=2MEL`kNUwdTpxb+r;$?g~g%1Azu4TseQ}Kq3`{Ww2X$}zMMJfQIwTaL+qj48?nWZ(>5wq1uvVQDe z?>65|{r$%{H@8*7w5dleTcnC((sSwj!9P+49i%#IR|5w7B#w$Kf;=V@VH)DghFQ28 zp2gWpH%9i4>2QO5SS(wM78#91>KD@q+%IzD1C9N-ZWTQr`ahnQs`xg*P6ll0Q=VWE z=PhOe;F$F*hM&jk5ur@X9sPVewindVyZ$CK_Zyz3aVftwELgM;X?1DilM=W6O%B{q zJO8G5&>F%wrGk*MVt$W~V;NA95q%P98@0r4efSqA*`Wjs@QWcPF#eIj6&M$M=>L!n zSUrGHRWD^*R@p!gAr1gGog4A<9 zj%#2Ed4~N~a(DHD zY|dM)yVW?{6stDLdBZcu9|uh0zl>F{n%(AHmG@c-5O^x%e{=Hu8%2JC!NvhQl~B~p zStn}ZV5#Z>BA6zVFLM_6sqeVQ_g~mftoq*^_*DPbHfakbMW_)rF#g28(MUOn3kpmI zc&{LW_iWqSwA~@5U>;r1w&#qI1fYk%B5|-NsDf5M$EtVwEbM)x_-A9}A{MVQ4HRx^ zbe&8Tn9xf_A|j^)p^cpa($X+)wbuLvmkGJre~_l-W+d)aJh}gK6fPe~`u`G7&m#%h ziWDxZLCP7oIi_WRz4?j4jK`mV-@Y3#4#D0Fp93w^r>}fZ1;ul0y`09ue`s?UJS0~% zpdagT!{T0K)m@_}h2qWy&GbdXjL40Dmx5^OX0$Hjn%QVC`XSHBokeHlycL*60Xv6; z0qh=33g@pfB=mB%4%geN2Q;tdw(s1OANl_D8*N8c!uqGgb-LciLKN=@8M-1;hIsTO z8p0X|2DyNnH|4F8h5f_Dz?r0cOu0|?1qneuGwR==Uxjmt4kKkd=m~QWX+IR$t3Mek zPXC(s43uVnJmgVDF9b&XPxAjOe=~PObZ;+91!v?FKM+i3YPtT7eK36J!{|_5d&KoE ziY30O5{Q#NBEI7K6c^$p0NBQicmF(ZVfBf?_K6v1>6)`WIQLUUlRHwOlffXG0ebot zpWi>2z8wj9+y1J1j<+=tB@?-AbOUqebev;B_+g zb-L^EZ#|L`QID-{-<*}GZjU{^b?sNb&=UlZ?HqMM>`F$raOi1TUwab^hcq-;(9Zh} z5dV`0wVyL3d+2kVffp3aW%N|{NB%x3f(KNUSa_S|H<{d-%!#kc8@c* zu@=PfwM~W;BCdFhWjo&}w>#aC(ts{kK}q}mI-(ErZ!sv%{#luXp*MUz{)7gr5 zJs}OS=2F{^n*fM&wy#*zR=S(HJ{g^KQHMNUzxl2B=ULG(!?$kJ>b?P5@PUZUab@_q z>kVw}#~(LwH$-~zK0T1|y!nS{Ax4g;EiG}pWn3=NYlA)Xf@T2)L%STyXw*y0BJHDLZSl*C#0qQOn)U;vtx3@G2;_T}kzU^sdvf zYCRf3q(F1J2~;C(A5rX{F~WhbNc%xcax4tS*(&w zQG-4^P%M`HKeLOkU`$-okBdIX=aT4{A63VVG(n*0_Cweng^SOo!n!WBvP19L9Q;SE z59YQiXBi{lEYalrG*^@DyR?fPbt}7F?=xNh+qb=P4R^6C=K4t}j=}%!D4}EP&&(AU zgba#<7Ryg|#}4f+=ZBxQ+NKb7-HlJM$n`3t|4Za&WtsaKD8NG4SWJh*7fGq&;mYHT zZ*oG@0HJ3>&uYOVT#!)gKzF`^<|nl^w5Ss)#`)qq!PMq%woqspC+kxpf}zq3qfmaZ z?E_d|=Nd~EVT$!3bD%l&Fe&TY{amMr`cnkg>oqX%|Cfqm=(suGI&`}Sy5zdW@-fYk1r6?}KFWE_E0s(7%#aSs<^M^wR zPUWqW-@#x184vyX7e*O*RO=spQTVJ#7d5zJ{Cu6*UWJsqVczQi6<>0%=I-GF6U2I1 z*cCEo$l~``u0LZmx%F3~67gEeGa9DyD!UdkUx_-kX1~W+@Q@VRPzsuAlTUmrkB8kk zv&gBKD|>5!Wao!=S5)CwQd$D1(2L%oG*db%@+yRQZ~i00MYN%14w7Uyu4ij{+$Sr= zqWn{ah8K~p*(b{lN!u4{HxWND6UmnwumXganq1cd71Vuk@16~qY;!tV4a&mlL82U+ zPN;oXo_S9Cp9JBL55<&8CVM`AU-xHO{Yx{c$7xA{Vv3d6l5Bg3Dg@K*piS#)AbU8I z@+92q>jmXz1bsfSm5o6QVeHbgaN8&~fsj^<*2bo6*{VQoRmYh&PF2n%5$t!!(GDnS zDfH%;pxM-GEid|uf$0aH4jpxNPZxIr1Itg1C5+{)k*z<^MBwfD9ZW}&Xl<8k?>Eba zew*r5Ua?7$2z~6Ie!|swa-cAO#nRps!<$*#5~44Kt(P;VrTTaB5A@*ZvOY1_HQMT5 zHL={A5&JGqdI)5c=gc#VbuDtQF7t?|D^GATvq_gd_^)iC-cd2=YSIU`WfVLA-rHL3 z^vkwqe)WnQtrUX^!TT4ty}PVXfsnb5@esz~?2B$3p1H7i_OcF?^lvr=E^FV;__`HH z7gU{SvTVLOVi)|{s9vG5kbYGU18I6m3Dt>Mg4@?>jh6GkHWIJPw*zx|oA@1AzL2D# zUIb!7?1&J;<+`okz3dw8UhbOV>JO(&txd-ZAi2vrT0uAT%F6(C=03tjCOX-Rpl(oO z(W-{6Nc(NU?33O0R0}v57e@O<1N~trJ*^z`%Dk+rMAlO+E$6Uj%rkp5g#LrFSLNyJ zm;HWQwx=3WJ@<(QR@;Sdt^gnVRd%!=!!~#->lA@o?h|2PHNoqAHX;2icGs4qvTsR7 z_Li}?viDP+abA@|fFA&tskeq5?eG0Sh*ntom8gP zk@UNhG|8th#m6Ew(tNjIb?`41h({rc;Iy>o5!UD{`TaBNd)DHbz_auCtlk#2aHp6= zgn*aVahby&i3#8p9(bx5y&b2Mxw#_eR^6re{5mYXKfb~X?S_C+t>1pax~1=;RiTIgkzX|TNKIKV|>*QIxrq;=tATymb&b&&->ZdziZ1!a`+dE5B7B_6ueL?} ztF1qkm{ABe#=M(+6Kb;bzoGl29iJ@LM9{2w`==`cy|I^ilDu)8}gelkNBx)y}ir5|L>kE?sW`_ zx#I#24vb>1mt;ueyaUR;dYjrEO*MV@uFk?CVuT>BE(HE~$>TbNE!9W$Vb_yokcKk> z_HxUivoLZpt})*AtSp z?>&C^mws`)l7IJ?k*b_yOGC2SfJd>x#qoNF-UD?Tt-*!h&dyx~Am2_K`ph^S(^uIU z^IAp<=mg5<j+E1|PqiQi3_Wk)6!%GP8S9735q04@6L?73o~Cep6Wci7 zwi0B3;<3b|LwvdJ=Ac+xMgGzF5zLZLP^6^HbBU(W+<>uNC4OloFv;XY z9<O(K)^I7&YIHIHg#izty-9B!uz! znM{r`%M&-I5^Z!|L)fbFF?BDA)aJqPzL-_6!c^_Bk2>8j0~p_wTz;IZDx z+k>^*eExROZ&QrR2Tu?Coe1rs8)hx=$6mA=JM%9sBkGv2Q6SUEnWL7CW#gk;@75+Q zX-om6N7e8#6EmWCOrgUh;XKGM!mhkkwgtluEmMkY~Ye z@XC}nW`niYPDBJTE`xjK!^|#(aO@sbJ{})*pIvWZ8u=g+-B8ZaJKf5&v)HDOtRmWgnA9#qng>ktFgN%xbL7`ANwbnyaDkq&URo<*;~AF zxZePEXchm(MD1Q}h1i)HTv(5|h`LcU1Ww&^)gKcxyZ46=E39SRV&S!_XBDRG-p|RE ziPx^SEisER(WhfA4W&7z&GRK5!AdyyOIJ8mp6ADreLaBsVKINx$n4E;0Efdx*FU-k zBL9b`w~lM_|K7(5X=H>7NQ_WIq@`g4K~X_K(HG6=kPaC!ItCJ>BqWBSf*{=u(m6`H z8_8|N24nnq|GtmUpZ8z)<8kiuJm-3zb6wY+=;)ouR!gn$FCgeF9YYV5jl-51Y$T*9 znXbP+Vp5r;1Juf?X9ACsypfaHN9kilEV_?jduv+DpTs3w;ct2X`ii%ey@k;wVjzJ~kwVYtxgyIV;*U%naGZ71_x9%>5O^S~F)7bR&F-^)4w zhwvR*nAv7XZ^|@}B@>Eujym7ZX_m-s;Mxa?5W)~Gt+Bq>^mxWP-~MFGUnRMvb$C6| z@)5EIy|xffHarEMutqQV$${cS1FBPWJ6PGcZ??L9TKoLXo^*wucD4VFQ9Fyw~IM14lSD^hTZNht`_7P*O8e?hzj{ z#vhbmA!u9<1eQG*xuz17UYw^X9m@1l;Ziojt24*5+${M<|7CZnB&_4!z-HZ#uPuY( zg`ShixqKSi?lf3pp?P6WXkN)rmub87>q0%M$RMKWAdj-@bckoYDz{OK+gW?E(MsUn zzz3%Jd>F?f!95A3B-$5m{)pdG(*0K5lJFx5!&_Nwpt!P8sC2(K9LWF6dT{Bj;P%mk zt@9bKA6_zKz#X$oqn1r!^HGEL_k(xibgmbt^jBQFc%vUKzDdVtuT75LE8p-v7BB9q zc#A^DKwg30zu&y9X!7Gw$@fS1T|{{PJr5$)IyaX8#Y12OH;zx}6z+!C9DU)Xiw-0* z?s|0oNVw9|dgd^LzFByD0Q`Nb>^x22sXC?bxzG%%*;ko4l#Z*vPJq=bgalNJ2M1ie z0e2nrYPuPzHXVz+5HZN{)c}}H*h$?4lom(|?$Y_5_2%ixIu~#Mcw6gi`lpx{E8|xy zaXIS$WotKV$JnBNwlbT@Daty{SG?`b#aFt4YcJR+y-!!Q6ppb9cROf5Fvl`pLtqoO zn|L76);DN-?%T826NwXX2>ycUE=%lov5+$8F$Oz({xg2*tZ#GtLuk5Guk+3u1wx%W zuuj?9S?(uS{KP*`%ZjZ(W5`(U%4Kt=h6D1Emo2_wZfr=yZENwti^20hbwkYC%~=q2 z-&A?t_9XmK)?x(o8jtr_d0Qq~D_Y3lId7#+v}pG4|Ag5pSgxb^czScyCHAr|Gb?aD zHc&p08|2sVWz>Jae&21W`j;}12_PJMEclTwO% zk*wUTwo80gw5CrkFWI{Jz>O2gkQM&idG^K1z6W|8n{{CDKLxsM5ay*RhFS}H{A&!= z+VVREa-hLh;P+o^6vmp3D7cEJ*SCFrey&*RpOKgN3L0x?H*@ts&&+;73d4K)@f{vBRM|P^f-FHZ zAH5{m)4NNpIB@f*xRJ4n8z_`hRU`Z`my>(iH(TDk#D>Wa?uGux7yi1N{>8v!z6)6e zyy-iq1he-`7ukbSMyF-?$zbv8>fQf(r|w(!HHes;4~WDf6~=zbvq8~mTvgT0*WGRr zEvYTOC2(=T!aQ6w>9qpq=?!m3oG!W~i&Joj#=|qm9ANSb5me4XBU1U#erYA9TXDY$ zCj;^t*dko;@edUw8dXwX!Y0ZNoQ>GNuwvooOOd|zkfn-=2=nf!iU5t6^UN)Vo`i>) zXDjJQti-YqP@uPmZy@#sO((F$XKO`OaqB${_KMGD3-b%RWS4u1mWSy_&*tI#)Z&Vs zZuP6LFz1GZYBQLZ3-?Cr7XdL9e**6V21p8&$3bkwcNq%>~HW+D%Q&l!DRHYEC#Wxy+1OBZtj7@mG56~GPVw06iMLT(^tFw!RFz zS)w@cZ$5RuYqYT;wNW0ZRCj>>hPAk8ip zI&1`g<}>ouX-LhEb0f=#NgndYs|Ah)hxvxXq}W&C%L75$k(FPP<9zk1@e{Q4 z`-IBvE|EZdt>JUyTvy%S_?^}^P9c*sR|6#e2G@nOaeFx%DL1`v`Z?*Yx1S+y{Zjqa zercEUTvN?{)*cx28qn(vI$M3iP{GaIuY1^j`TYlji6o5!#g+s|5_z&J>?}59K`Q^0 zG+fzLq{$-mC@e)z!?~GBMBy_mw(J%&SpjM8gI!>RAEbD}w$>{L<_uyViQVfKlv3~4 z(b0BTugDr~HEI>y?Jh2SM9zxN0T@0#qjB_EWbXKH^$JG1r(3&~hky2;dlBq=sD;Bt>sQ)%K*#zd{+vcaBPz1bfh| z6Kuv>=L+Ve>`A%$oeO5^gjVr&q(UPQqhKYDtn5O58NiSCJi!q3 z?KrXlH^xOLZHod9NzuxOe5#rl}f)(~D@nlT)*GNHvO61a`}eKC?E|1 zF&LIkZzbVOKs)~AYbnHRwNLJk?hP{QfLkQMM`KVa*`A~GI==c2k1FO?%kGjZrSo7N z_k`8uAGED~M02Q2ha*CK7(wAlNNlL-dsAS5kajK?P3ZK$P{a^BM8}LkJw40ywI?j|F5x-^KOz zeF?7Pe*4s|38iTUF1Szp$83%@X~A`sPZZ~fqX4%mR<2-Pe`J8ThplDsPG=1!iR9m_ z^XxuP6B}fk+wpgD?W}%zktsi2p?Gb!g3m~zc=*kKhdM-%SBY3&Lt~i6^;`uR~leorw#JoOjtjeDP_DApAm2hWU#Xd=5RVX?U?s-yk4U z=jbCQVLS>4D;Mr;Ez|zNnW}d4Hw$kJWH^t&lVwDakB^068i+MH|23u(2!cKh&13Lh zWmyztQR8?Oh8X&IMGfcMT)k+Q{RA%8iuP@2m05F7B&YyYs9@Qzf#UlkayXJ%4-2`s zKhv-X952aq&pk4l&R9)>N!)1!?eP6Tga^TGQCD2Iueq{8!fwv7pFhc3Di7w#K3Rc3&j@*RLP-^Z$@rQY+#^ndynivE^oG*gb(ht>1Zv^CL^P)`H8hs zCHG~TRd4UtpSMhU0RH_fd#tVBUthedf&DgW>1u~hk`$tmqe(y1!jznzZt)xA9zwH+n`5q69Qt_`cwaZQ%YRw!x=_9K0$_Hq0I*!BJa z7E^5e_xhfJ^sjeD2$|k%)_CjI<2#|`tf!^V3&1~)%kVa8&p@k*gh%aS zLHUB*V|sT@qWImJQ#`v5BZP{!IXiXrw_9b508A;bF{wuR$UP5~m9xwWLd46aSm=cHeXP*4} zfHzFRmiZ{Cevw+1SEE%iN49crwef$Vk$C=abjYNAsQw<0*o=DXa}6nsr07ZW&O=+0 z{;ADdlbsCpK{gL_-#y6Vy^{GU|5&d-hIN6sVWp+4MUwWbj7fo!oRK65eWQ;%;}j1r z!oo&N1tRgqT;$uG6HcH3S6+U)1YAC>=PWTCv_}4#f-|}7p7upbVsVeX4>yi;aF<<>U;=p=|Sx$2?Grm}6cF&dWT6KgCyOU~d&H7Wd$i z#Ght}Nv}PY*Bn&25jchXnuYs{KE3EnMJqTq-p?VX{&vL2jcCf#-*l>!Q6G)ih==y& zY9Pj$3_#-$%HH4}*N!d+zMlF2`jj=u6ik1UHaTW!lcAu=H5p}1@>Vg`HAiS`haGeq z?vW#oF=^W_t>ii?tned#so=^CUVgielYa*)w}q7ePErML66a;sP2%ji4R5uWP-``= zz(w!ztlPqv$EAnvE>Ej3MzfiMX_Kf><;*WcUs?N6eJ9b;8|c$Ct+!@xd;Sg`rwJii zlMH;#pNglhE*~T<$__cJtF96>MGqGgc)#mF{_GkAAN^DWjYK6~?wokR;xa4-_SMZj z+k^jm^Nl);cR$n3YdfmPVN0t?upQ?S${VqJ5tos$nXB9Su6=T!pZEo&%4QE6L6llD z1izZ9hE?YAA>G-!_SOWy9z@@x(HgPHw$5HI`h@+Amke5tE*NHgmsNHXLHJ(hZWm0- z9NFfalXDDmkUN7#!MYgM)h2rBl zzBC3U(Xpq1-n(3(hadaiPsYD*;^cXq>2|05DPp>y3~qFvg>mAaB1!^Dw&|q!GLao% zW4hv>q$tp}w+Iz7X7ZrZWn%6ngz0* z@B4q{#^i#8Y3YuqjN+AWWbm+{Y@Z@nbu<}5G1u*OG6ej81?NJ&^wF_bHr_+!;(72~ zpQct%x;|@gJ?MdVMBGgu-`S5iS8MW!oj&HgjoVr5rE9|8uB6t(#zcPxTkM@V_e6Qi z{r=1Qcx)5%e~0Tb^^^`Gm7pUoWE>J7a8$aNBR0Z1o{I0GdAsw!RwZ#^Ta}Sf`HKp@ zy%?bbu*yXjQl%l44&b*ptkcfv;a~!l!;eYP(uReMSWaV(KwH zqLLs^Rw^I=BRd-GS(8<~cewrw2uoP%sk`S1oOR-T$HgRW3^&op?E? zJ`?&aYbDNx0n{kLeRbE34RRO=g4tMV1>xV?5M-Cr5OmFJ#g{_nUBI4BTKga~WjG+X z%RnC%wjRcZ>>Jls26{YMObft$LSva1CS-0Vn4MtO5#%^7)GDiijZ#M(+t1` zYfHy5S%bZ;o|^b`-K!4F=hyQCB^-6B%K`nmsby;b(U!v&q!=o2gM0v`e2U(jx(!W- zG^|PwQ8nM#fFVy$FnM=-Z`M*-@@2R^z>e6~FMydoaiR)o*l>NN1lIP&S7CEaK9)6{ z^>|+1h+HvrI^u)JA4#{({Q@VS+GqvQm$lfq%zkncY2GEv z$z)BRZ~Q?@z!OS%c1CWmPp`ZUl_TsgH@cxCySe^SpVAEW2I@JSp45T#8Mb9a;K?F# z#1<+@Yavq~WpBv`B4E|w)9OBqzK1znlza80OtuY+Ocei7X3qCfOv!$wTZZw=0`?0X zyf3SC11p*j{-RP~9gx6s!l_8E;MMdI2FVCJ=@%JL5(`qp|EgOytlghAA(ridx%=Iv zq-~j6HE+m(*wSV-Wn-T5?10T>hn}Oxorjx<5kDP;^H1mPhwKg=(a*!aaHhoczZoug z*FaO!vXI5N{f8?~J5OA@UMmoSW_41O~U zk0XRF!IFSCU|XJRd$~6j*Xg_5#=nMtTVlcV@vuHfe?+sGO3bGeeDv~LQp8?-Fzj{= zr=a);=*v>^Jbv@3aOw}uoy$xmA}~V>PX=>O!LIR1aJVX?y4mC!(J18CkEYQ zf5#TR1Ng_Riz3SKxjr|3aPgeQjz=$rB<}sQcWUsNmK{m7<@NWjHuaY`W?%VOi?FNl!OXiA{BY+`I{;C~}5J8rW^^KT>v&&8mnZ^5AiO z1{eAzz+w>YBODP=<3agtkQ_afbG@lFB6xh|KWN~@y=M>QGn*J@=dWvXKokp9>W$V1Wf;B_0#ufm*pqQ5>Br#YCNxoAuL<}Vo`c1 z3jC#;%P0Dme+p@+n7B` z!3XW8=<7MH>HijT4^f?Ef&2UeO>V?bd43&_yX3ab!>8kyf(KnT5gOXqv+_b8JmGum<73q|4J2ff!1MN9M@IG(vE=|z!*khgbsyykS znu6=|qv&RHV*nB$4t1u!^Rv1(w-eiOTC!c$rapZ7(=4R4*{^k+dprMccz6@Hz)`f6 zjAs!cM`zZ{9nz2jef8o6TAs{;hIp$lIg&7VF6|rdBObJRFWC8sm0ihqz^^cdoi~AY zt?lIs*M)75ywtz(MC`FjVSiyi)B6b7i#7l2iPHqsh5l@DeyL+F!3y3@+I)xzaR26X zEwymBg=|v_OJ1acntEgQ*?VMP>;%?f_xnF85m1!xB z6)My74939?y0Ozaz|9oc{-*aWG$nqc0mZ#*3wo9D_B{2z8V;Wn&2@Ugh>79h=Dd3W`KWdcl0GDv5KvB68bV&@qCf~T|5KQP|5(xARqiPPQ@uRTFjjW=)`kioB+4YgYUj7b19euFKHOlFHUsTm@y$gK&FZt) z(_e}Za(xAM;@RuHG+}lQn*^(;8Y%j8%tC#z3S-f=_m@IJWs2=hpAD+J%oC|A2btpsd&aNJvExx3Wt#?Arp)bq*o#BiXsY+6 z@ZZOSSYFzGKQTp6m?i&D2%t#x+y@Dmn=x))`Acx&7)mb^16donVt+hZkH6+lO4bU< z25ipv=Bq%wR2N$|)vk5@mNnZ{=hQBTr(5e6yf3%W6bwHIO{gnM=R*63lWTRpBW@O~ zvQuTT%b0$dLmXoyrynRaaifb8;>;87i+QiNz+~oU?Hm1#&Mh;Ai3F}KR45&;!PY*l z%@%T~O>LHYOT=>fCz%OGhDz~oG;egry1ZSIX~3=#c_6LR@`)=wJ3pTVlRPFgpm1H# z93PK;$$t@N|2`e?vZGtS(WCq3NSP+)pRQhfd{$WV{Wr^>yO9DmMLV~Ix!2d)&esXhYwCn8?!XfnDb>f(G99<<^3%(v8UGDmn#2}qhq@2}9!De+TiIU1EZ zo2=`j95P(T#D1`ziMsmgImg2NyXl8u@Wx$%qcz9qP8;Pdx`ZPf*Vtz{smJNImEB~X zk-i60Jw_)`>N}AXFQlD)4=BQP{US(YSL!n^N%%HM!499MXL+~bcPMrb)C{3Ji8c7d zqB)aN`Xs>zLwKCJeiwqE-xJnHh3Wac=Tz~RCVq-PR`Or~&>@xEFvpo<;=}px;yGcU z_rwNS*=ou;)At5_=Pi-Q^`;JF*k;I4f}kDb=XMhHq+Wn+tKX^ARRX%l%YY~GJes+| zQPxVyN__kUK)lsMvs@pr#{hBg7cL4JW0|5dw^gt-BSp^S)8 zJ?-F%#-3=_17n!D-fs_6QkOB+0SbZaei7cYx$e9qW*_tKydTJm7}_7DF$m;6WtE9> zp5nUOV@x7Ut{e2{HD3rOwC(Ahs$z)MW9SxDrue{X=jhLEit|YShm2T9zUP^Mz~??6 zGIX;;KClL^tg?&^z1s#yBCwyiWHS{4dZ%NaevbD1>jD&NI}^XwvPNl2mwKhF z3Nf@1!AmA%(>X-J%^1Wr>7uC0?$2~}L_}&aukpwWFTN5p9n>X@{dOF>-$_&LDw)AN-0_wQ) z39Z4JsZQ%&zfT8iCILa^g3tq$L2wFQw7qx;0@@qy2kp4w&I)d9QQ_B7uV_J&V z$3kt^6MJk^ePdM*R2;tlpEeJc_laBw{Z|4B&vR2X%_exx(=UmuBeDxVi0ufn`NTib2g`^x&aw5l5B3C~dEU$#*m_62t+ zHt?O#6=*`aw)o*+Rqz&8)(oD#9Sdg7G5CqERlt|ceF#Zqh~{Qe$-i59lb8;7hk`rk zdBSkA(G~PiIQKY%s%vo^e}-dy}`CIRB!oG)2&Cxf7l9rH3)Gl*SWt}nGey<=5CcIWNi zVb_1KhE-S7*(KpYtKwS&b=_?9ZU296R281~ccZYORmnvivr(AkaW1CfIqbQy`$#zc zRl+9?Gp=E-H?A6SN%2r#M0d|*o%*8aRcBAupoiDs;4bn4>N9qsWbnv0ejCr2R|j0> zdUJUf0AHc?9@hG%LTRi;vhn^OeRK2)ZKj>o!?)sO4uu=cy#k4_MmyUS1;9>x2zgJ* zskrj|owEop=6ALrk}-`W(RGusq1UvsAUbgJbaVy)lBW}d4t@MbGVIq~iLERj<4n}` z;8IrmUfTQ9(92=#mh%r{c3PyQ1<{si%#0GWlPm2O(ii+6k`FZ|UUKGJX;-J{jD9~L zK70M=!E4FSAv`=`R!#~+J z&}Ht?!cmZ13j4nfdbYvfq(}a=D@>yM+}`L+2suyv+U9MBm#fG;g`k9VpPqM$)YUEa zqu5nl%DWffUsYwHkwZ2qTTs;3}urk zzT(D!I6>lo;QoHTXy7vQiE*s__F!kkiH&B5L$861RnO(mnU-UR5MoN>u9-t`pP)HEff6*J+v7`tVYL39#lKIJ{>l4U#yY90*xt4n8 zt%8hZzo;Tyauo{P;EXt$dP{#c%N3T)Pd6Pr!#0kmdC{=UWOf-6yu5VQWPcv#Fw2$1 zlnz9ly6%em1e-#&3<#^|KJ7(-cU9=AQ`YH#Aa!%>P!9BHmk@Fb=Xa|xk@q=-mJWW`%Swf_(VMp4F|}l0va?j*7w-D4e;8%PEGijH$*id zg;tZKKbQ>N|3apQ3fy)gHTfk(kuhc426!P>gfO0_cMFY@Q=K2OS5~_d>;!DNNblS| zRLYV6SgEohdgbaUWj;<%P(gys8*N$+6VCsa1J@x+-vG=$e|<`!8unzIM`=Cj&VyFC zlzPO$mCd~G2hD&X;L2C1DY60RZFJWu_K5#ejjOw&<;#eKWb?akx6;e{_=GbBVCcNv z(VwJhuhw|wHALktB|}(#=3g*`@Uc*{tnb#Q;r74h;JnXCS3P7i$E~I(|*T!HtPvNO>!UxY>3eZc^cP@nXao|+8fD;#mzLlFvOVMt=$!M^6MAu zNnV1W8&(oZyzZa^*IbRNr?+*27LG8ES92c^SPZV}{@{lW0-T0^DEE$Zq`>E~pkro& z3%-5aJqo`zn%|InAN^Ex-2Ml4Nrh^@1?u7=x35s0JZQA1;I>}%Lz*Ii<8M6pW>KP_?fTwvy*m=TO z@pXz4ByasnY#;2gHb~g3kj!zKuXWW5SYN)1yxZw2@6WMBdbM5|KrkLltI`p9u6w(w z*4ddb;8UCR@?x25+pP)r=`0{%3EsfH#jzLag%S_s9?KS*Vx8oaOp9=JdW8wIXM7{c z6r{%`C3bA+M$7nLi7MsCU~{S^2{tX0+M#w_EA_r%&0?-WJ4T*5+ru zT9!jFyXt%9L!j9j8YW&0pn4637T-vrCI@Gxx~){;Tu0or6WP6s$^OVmWyFKA`i#yB zWM(U=f52)F$&19?XGFNhzLNcr$i>Fow(1IZT8njCK^`aF=6Pz}Oe#~F3pjYiv$Jax zRCJwwX+G9^t+u>G{FjERE^FBcdKcI+KUXxdm^IKMXEwQXIRh~wQSn@JXj->}!FtUc z08P`SpO(CEGmD;e??ObpYfBg3Y7Ojl?}Z+wUUD(r<&QRqcw(%Y=+e73da*-iN|y*_ zt7!l8n`D@U;WUmqx{;*bg2Gl=tZr#d>BB#%Q1=(0@n0RK9d8)42le!Rn&B(l6y$)> zzA@WMe6F9G`RC%(Ev-SV?L9{?`nPX6+p7$TzojL-3Obp{^&R<(&k#ShcoDSK`(4G) z5@6&jH9@RfNf4rhNfL<{!vTOwsSoLE6Ko))3yK)-vOKnqWEr@GY`hM`4yT7;Ydu7X zlYUK39B-^JBRk)2W=!>xfu)COvL(wKgO)xj$Hpt^vV7u4FWmT!rK0JmTM}VvV_YP# zz>U}kHg^&kPc}mX!G=*hwm7(u+mc6r507Lc|3gO1C%OaNiqX$%mheNXXGnZU&uh5A zC+Bs6Cj-#zV3RJXy(MLkE3(I&&Fz>fr}>WPA2#tjl@mAPE_Nv?^Mto-2(lnCnuh^({Z z((_U+BqC%YHIu(`Df=)Z-*;D>y>?V07XGPy-E4TYbhbNxap{`I>qXzIlj{mUKPqW3 ziv=v1)Y;n4*E1}m;b^f~T`s?RcG3BW@$He^hQnT^dbnwAap1;Jm4jrgY#m~`vWyGt z_n}hw#&1)LWBT_rK^i&?{S8mO?EFx+ILlVDLH3D*b|(LusWRakB?DOjy|hY?y+$oy zxuO#}*4P|_qWgBANeC{+`~tB-=P$5gx)V|=RzAbyIL-yg-bGO@JRGd6Q4-tXV0?F@ z1q$8*ZzB;9JT(awErCxnA)Vx5KKH)ef1_L=xe7}TYM zvuuN_@cVCG!=OsuCl;4q%PzV9TF&=;bV04MxEv+1xNL8oDo(hs^hwV8)mK5a1S>+o zO&q{X|9c1R#H)j@7#5dl{C3@I+?U#k%Ebyd$b6%ViBhYN{(S2IsA2ABuS}r*oTlqP zsG*YwukyxtP7PXlCziZ0qqk4dR^h`j)uDDW3A>50ficLm+UkS36 z_qKmPeT(HRF$IMy?;mowOi_Q^L*;<^8%5Rh)|S?x7GA}~hb%-zQ$4~~ah7+c5frHB z8&;mowaXc74~~h1_GywoYCZ}+UUouV772<-$Ys3dNT|;5RY5GoCFII4%HFO6u4~nE z`C2sDt`9V|f8bC>)$f)@VoCzajdGw%4#qoWkha#G;Lv4MHPfkr?}~*|Xd7ddCC6b} zIqz>s7Pg7ezwVLjy7U6nWp>nc4r++(|9CtTQ|q$s?;-){_R2?3gSf+>CJ3mmwhfF1 zS{hT*smtvZAHNqWpL#mJpLWoCU>XaTW$gyiy>qnca3uBUh~bJ=-wXdV+O8&^E(EZn zjOL`eI#XP9EC9of#-;gstS3BPwUQ(w06CEWAZD9u^v&bB@cDC*uI@f}h(&XV{1X8q zR+fib04ap5?F&w~Sth1+>*iaJteQ8p0@nJ|&`$x)p%8pDvbG%lxH-;V(m?>Y-c8lr z4mpc!gD)_(TxCJR?4eHX_G8FF7;SLtzrGm#Miygus9Cd@66LZ0DnY2~Ia}#rw$M>$ z=d3g9(Tx8T7_A5lPB~I0(1^&o8g5rQJ_Mq&FJ0zyL~Ijw8Jz7*YF%9fr(DcWU1KB> zgbS+bW!U*_3nH30d&A;6h|fY9tn2JVwZN-sejIdmmciURGu@u&be}!Q&*$!bZqa*UZ#%IME=XwbybxHp|O}K z@oQU9lIlPvpk=akz7O)J|D#JRjJXHBkaTtG?|kP-Q*Q=&w+F zxsv2Vh&W2~aWPtUg&#$l$W^Cv6ZI}vMFA!sSq7+j>kbx|59QqrA;p_srDtf@n2(Cy z$Bdq!F#eXh?jn5#`w+4uFQyF1 z0mcTsJ^}~*CV$e=)`9E*scw40H?|G&DSM40UjnN9H(fk*5!pbzsJ#sZu&(@IIEwD+ zL1TW*;yj&2DQ`+RUN0+aw6fM~Z>vYV)~jK!0soWZV|rEKWhUgC=sM>|Qz}@(MpTNzB$j_0}^*)D0XfxWv13IUUiG| zvz+{$kGqq1`*_JnK`^79VRMc|E62f~Le#fZfslMUIo?_&v3f3nGts@G=hKRXnI!m? z&LtreHCtR~Xx6t(GSpW4M4IsBEo8$p(EYNfH^VF4!rySr8`sI_%`DaQIT|mOZ9rPb z7E)kmDX&{+sM}&#ExmqE1iBIw7jGBvD9--Z<>2RmwQZagIX#gEcncBCSw?Qkq|l zmbfzivEl-+2aA<;U>kP6t???SjQFS@jMZxU3%Z!Dd(t|XS({EsA#$8~W^hem1r@4# zn!aY8bB)OnGk3GQYG$G{$g`&Nr_~3Foi#ecwkQPI@|Y4?sag+bqUN9WQNmrHZml^h zG&Z;>#O3%@s#|t4r!ut5DhemKD$g;vf@XBePNB-878qNt*2!7Ym+ia~p8*G{mb#gx z5A#v~u|6jG{fTa5>-gy0`7V$ktaXQk;f@`_u@2lrDc302Mx|=DEoZs`l=*UOOHd&s z>>Ml;^xqs*DWMvgRswN-&r zolUvJS?Fws-h^5aZe_X^S4H^X1(Fuetp6^RvUni3Dzi3x$@w*$P|z`5Ko& z%&q@M6S5f1dR_~uc9tn1T%?|!OEtGtq%)k}JSi$H`sPu_-|e0A!X=n=?dr6wBL2AND;-wb}T zRsRZZ0lpbe>C4y$qEV;z9`K9dEo5y|Bh4n~&8Tp3{LR8$ck8(tC;NGiC5A=zc;YPZ z$lvF%%k2I2=SuH}!EOKkkLgMOQLYG7|K1ePmvNeK-x~M=C)j12<^Ke7)6FmQyVFM%IiN0rO^P>X(mfv0+Z9f^K@EL>!o%@0BoFmY!^v-|YS^o^ z0O$GvIKj16gjXnn@#`Wa*IPI!0pMeShRp7MgEg#>#YzGaOlee&H1U4`MK3j_3Z5EJq5QVDAb|Im&R7vAxFpy1L7;BZr1uqhhf2bcKl&r7&8RC7oIwm!|G# zb^4}_4PxncBij5s>IB@MJyQ^L6+|yYXJ1w*XLWOu0U{(^5W@hrjQI`3+xmk4Osyy$c5gS7HLHF|ev=y)+u zv)XQ$(gKryCF?}$*h$?=AdQseEYT2`8t_>D$|eRXZEq!6B@G@RR4z)HS;kQWkTFn| zw*b*N2fD;aG;(snI%)de!QMH=R>kI6XdJE1IO{mWy4msHds$ z_=FR~y!LHF&D=a}3OoU|kG$4Cn~6wRYk8lwc0dA8;BqsuKaxegj+VUM@7DbQBy^Y}dAn90xM)({h_=CwdQ z#VTW&{8zs)KIx@sE*o-D9=YO`zu*e|E`QX87GCKs*6SCEz&nJ|-P+zx+aj-UcC&=lmS@;_hiVignM)yv z45~ko?%qHn>Dt-2`%~7+7MaC3|J*rbIpFVf4cs&c+`sK<@IBP+u>sn{;v&e{EOH`rJ< zSj<}>*b3vi$99+~o8Xr5-O{1qUg5y&=)l&EMsD%-!`O5W;6>N#1DQ5_P*J+9)ng|= z_(|O{J5x}i?|m@SYIn-C*rSc7r?>k!-lit7>Vein9-W1M;?psYi~JQ^<<(VVoL#KK zKM=?FrC6^%+nW{t*&vJf#th7hT-5xM&x0QJ#NbA zA30>ke*u`QTJxEp)79(tsDO5K=@Nb+lQ*~B>+2~xd4HrUnAeI(u)eMe>ntqi!>~=}}DW!1FF1v6tiyq0f*P&3qGwcinqe_lhvCitSd64~wRQGKqgU zZ9rUqW1)DUH0wEvP7A%g?B0vvJl-kmb|JQ|N-(=@&}F(!m=7xDtO1(&c+wQu|HSeJ zJ~TEef=x4a;)4o?AnwTl?@&~V3KBv%TsD(g3_aRQbG@T(0gfJjt#(MSY1O#dtsBD@ zdz#;UgDMS8grH_?ud!e4YdatzDrq#?AA0BdWqd~>T8AwQLefsPE=O*g%sX+P>bf+; zIT7pAinzmr%Z1A&94=wvfPg)`;J5;@s)OT}%a_9-t}0=}*4X_HSv)2b_aTebUgD=4 z?`t!V2z%#cnOk#BN$+Lq$j@%uisa%n0s&Frf4s*!y%DO&<#mLEy zn1bZibZ0$p_)|z}+rhs{QmBQl8O(UHgi<*-K`~S@$EB%vfvH9xSJqOq z{_SAK`DV19AKgt}u;Bmk^h8Qwf%QR+U&Vkrtn=2(T7x=3L!Sma&U3(ps<6}P8l|x=S3g^_QT~D`Yv}k&D&NMh zco!@Kn~Vf}0AH4Gdw&UVIARN0jz3!3S{(Poh18b#hHq>)ZI=1OH5V_Q#zE2gaf-)p0RJCN-x<&5`$ui>J&Gc+YLtpSir7@`(bCr5O6?NF z-kYMRy{cM8RcqGXE0or%8G9xO3Bi-!|9PIbd3S$u-{(5lIp=%6Z}#buX)loM{fTd7 zDaIcM@Ln!J+`@O5m3db|v4o)U8#H=eSG4U(--uyWM|H}PhYW9+#Fh|ro^1)xVYwBx ztuTL9cWF7)Hmb#>TYJx<+g+7rHF9iH^L2?OG^i(am41&~0ouo@I}17Rb~pT*A9_v< zXcdz~x74!1%%$kpCL-)_v%iqBrq>%!hQ+ee@+j^=LpvsitQDQX3v>A_OWgvQaV_em zVQckQ30`X)7~)~|=5&k?>x(Y`AJyr&50=;XxUGNeU1cHUf;t?3QQe9|v9q&h8(U%# zUa=iqNE=U>Tr?bcyBdgT{^_!Mf-E}KEgkYfdhV@75*}Hjt8hggLCOcPb%XWf8X~yv z6uVcO4s9uHt8Pcn;e`{gy&y{=OX)qM^B)l#NqX&p#Mkbr>!rgT6b|dD1sV41mDEqn zoyyn@$hKjTmGOI|1&kU*Z_yMTEl;m{UBIIQ2~TMyo{gQ*r3@?a0quoNpiT1ef~0!y zC-B{q5H7iJ^VbAroG9OP0dgo`g`T{VPE}Z0U{m7MPeB;;c$By&=YstZj`loyiRcP9?fw4TUXTh z1!y@37;}N)oL}g49Gh@amN5a>?vOSwFSHj+rh4b33clxi{zUX%q}#x`0#O~;(z+r0 z%c~t?*)VMp1?XH!w_)2ZFi?Ym@6}iZ2r;ag)PI8c^G9sOXDSfNuTeeh6)c`na#XiW zPv6JFUM3jSXAC16unE*a*uVNGCea-LY!?Oj?#ow7{x!S+jOA_kc@IzG%In4k(cMPl z5u`8rs+2tB@3Pb34;JO_0`@u`GnA>PckgPimFj+>g}WX-v+;FF%P*noR`{5VlsHaa zfAEic^E(hIF%;03D!X474|KV1^~7D!D|gfdL{r{8!e6gDEIX&RhC2`Y(}*rAie*I;_pkS2aAipLin1KQjT(= zmi#rL&F545BdC({j=JtnJ(eOu20DQE1)A-)E-8Y3-`+p~13WgMT?TJ!r#PW1U`(sf z$?>6n!;aSQMWw%MEOxM1J^;{oT)t-LL)Ov!VgVJg&C!|o-Qa+DSkimwB&mh5+(@aS z*Uk3DV8~Pfx1Zupu=7pYTD6e~$^fc2vK-o+4Qd64^ij7RtiNLH%y^TNnotwu^Q{_1 zxEPw?PSWc1JsjNbdeGN_IEAEZmHbx z4Ypm5LCF;IZ^|yG@k_s^B8!j^SUlJcF59#hY>SSF46AQ= zGujh#WMz02B-nLcp#0=6E#M?%nerrG;g9IbTTj@O1^m?o=kJh^i^J79wCY{S3GTz1 z_>KFwT-fy~MX$I^4mhV58DIGb#LRv8hBq{zJ?ykP?WcN8P;x2^Fn-;y=eG`8p?AaI z;e1LoyUoRgTasC}`$`|)l@+LwV_2GlZSCS6Ezf8ibl`SO5kDIV*7&exqiL&D&flB& zcPO0XA4Dc_)d4%gb^@8V&Hi;9ahQ9+9rzR6)o{=S8&nDCsEBzQsE1d1_v@$ilr^da zm^H?7ipUHtc^!Tij&-l@?kNva9G2~@d9LK~bGbR`s&nk>?qA4pxgw|AEyRtq^KT1)xI$djcVi0HhkRK*32oFm7W@aoF42f z7|-A|SVb7N-%D7R2+U_%Lz?h&hSz)f4sn5bPmBI^a3q$^68%2lHvVTCc5o(#P<6s_ z)h~W=NR8PfxcTRKnXQx?R={)JWvsCck@MfAvO+v{YQS0(MZPU{G zF38C(W;XvdYZ*(^td#WkH!X1|xl!)epQ|a7x@|pB3j9|lYx>)pBfQB66sCNfd{pQ1 z?p)6TcZf(&TXcVL9ozBMZaS6&v=t@A^9E_FDXwi3V=yheziWL@7ot|9M9hMZKCw7d zM-Kv5r-hz=w9^UIf-b7po#v$E^6l=_ha$Ybi3@=Krs-c6kIWy0UY}!wn?gNKZhx8{ zw^^dkopcx8NpFEvhPDR}k*cHx6T9j`9u+0j7#e5i+={bFW%c7^QS^)SVPi%9OnxL8 zx7Q*yH?7 zqukJGQk#CdYFPZWv6fE?3Wk|F|GUcy*Wu~@tU1dyMJh-BEq>dQu5oIGzT09%G^jn31ewwb}IDF_c&jsJhN-sNT#%j zQDRB^Hiv7oHdbWu{ciJzw)3BcZ>ZzSq7hG&V&l#SHf%K6SmHs|&QwXOMw-DVXo@o0 zT|`V07(4(i{j&YKp+FpbP^=BFN&%7NdiZ2JRl96{N2DYmooGdic%l=&TrDiQO%K*@ zrhDJNL%;CK*iqVQz+F%68n^)5?(ah{PLo86I1cNt8daij9;dhDJBACv;(vRp0-@$0 z>WWQI58#`sfyUz2ehp)Ge7jU^Oua~wvVftu92vn{krKAA$D=}t3YtGMcZU3$b5b$= zqvBh)mWp%MdB(yP+OO|B=S$4us`VkreS9!tG8e4Mb=j1LNed7kok2ED97zn7Erp7| zZQbWgMDW0g!~NkYZx1eGI;W&Ct4a> zp(SOGNJh_7b=eE-IW3jn{!rC!bp#>BJY#jAKflOeut3+#WI9+%O+64Zquf?#;!w_g zb}=>%72@LWQe7l{d};??3780f!}12Raced%y?T9clArb=+T{C(p-(4zCmZflc1Uu1 zGTTR1c^UA485VA9t1*1~AOosVGg|Gpx{MtGWH9NLlKZE|z1x4@czV!{$GbsPekuSz z(nq+-3K5rph7Uj~FVS`vM(XcsJgikQv0FHNM2;6DITRobQUB%0HWnUAD7Y zzUQU?s79KrHOv(C4!%EtQ2~aS0&`H+wZUN=lPxPhdK`*UcO*LkL%0Yt+*x#V;*_2% zFq)6>Dd1CUnJYO^XCy}e49dF{=_O8nQpXwGi+BuO?>_NAW}vTnpZu*Va=F+)Uiq4#2DRtR^Hcavo8hcODxJ730PRy?O>yZSEZJJg9L<8l-|4h4xUYgA2l*m2)|r= z5s}85g4EE*77IC~L#6zdOhO6u0|ok^p8&P#2>J#Q}G;oCdGa-1Hw zS(sh86V^@c4^(whQ^1~v<;*UO!VP#DordKz?Cdpt3h-)Xhqcl|w5B-U?>jUM4?&e| zV5Dl@k2lSsGZ=3rN5}W~>+N%5&P;C-a^cKB5Bk_&w>}JJ1)YB|9Pc_hH`PkZU}znL zTDAxk_Y7VsL-t)2yf-oq*ymp%w5HDf4%p;SPt|s5S_A)asL-dPIx+LdYXM>RX`zEi zHI*}nG|xgsSmd*V)k))U7|3d}fu2n@@ohLFLX#5G;ND|F10Waq816W+(&6(Pqf9a0 z_Vgk`U}eNG9wOgwQ3Ll#+*1`F8=_oHaNBx8zN^P4C0KLmn>9F^=lxm{ie~TL8K-@^ zKpIxX`)SR{_Ciu|pH~m?yUs10m^s^Ru-Ey31#Mf8ZpiiMNCPFv;nB{^1D`&a$U+W9 zQQFWBee=IWFN}#h_0A>|yyqyvJS=(m*ERk}AE~N&f|oy?)}Y~zg9LxIDSTq{kP*q? z{RzqL^^Pud7d)w*R#e(M49yGk6l_7Ci{B?#acN&taBvPtc&gn(MHcJGfe2q})4wu# z;c8$R%3JPWFHqu?Gs#E+loAwO^0#Y;qdNo6XMJd6uZXgBZD^&~D&Vg&eP`3trVmfX z9>3LvNs}g4O~0MHs>}F%`n`8`Aik`+$oU*)^?E8Ov(e)FJ#gC?+jx#mivp0We_Mw} ziEHL0dj=p|cKiqr-zosF>(L|n+ZVsY((wmCUZ>guhLXfX2gzL=jTPUIqLU!%Q5ywg z(S7#dvltQ&|E&5Dee%TW^=kEdQnt>0$yb56-As%Z(7^U2rGyddun`vQWHo$(QuMkK zK<*jQOZ{UD-|&l|gIq~Mg*^H#;NQgD#ALNXWl_SA!MYcWnNHd-(U&1siL!8ie8`!o zlKVz-c?$GHJIptKAUb?5juY+rk9xGSHqsPD7WU;D!g3}=q$vncTCu5}+E93D!MVZ+ zpd1b3@0RRBO9TiGUj;@ir*6lL#hM+J=aAwUd8wy}KqZk`_{4M1mFw zBc1oi-P#bPeKD)>ujEFy+v<_WWF|_Fga5z)S-ig-%|-N;CNUNUzs6hfm9Ucur~g@Bj;Rqqty?&fg`7^a=#$A?E3{b>Dl>0T5)=jZ_70!xyU@~CxTA;j z_#gHkRrG&~7okb;;2GkMTCNS`8s3lo_NA1tH}U_YA? zh~x%xQ8Nl-`oV~X!`-Z|LkUowa#wKKDw}M1u@swS->`}AqOmBeTm1mhnz6I0-}D2_ z{SN0bdk7xc=S}qrd&lnqkozhnQ9d)jOtR=p#ahje?- z()@UnzICTRw|@{$#l@U8;tftP!ZR4nt=oS8VY{hMoP{uS3*;z==;A0UX_J!!5=;RF z>Ph^kT&wkd9qtOMP`n;Bpx#25i6Dc)X7b8GWhc;wYT}!cNjD0>rv5L`-{4JB(vRBO zzB`au7T@Njc(&0=L6Wyb56#lXO?TF0KOXV$3e>o{M629^Z}%W9M6$7()XDwm#l!> zS#5gr@+P0JhNTu?aBdEL*wWNI&BxMb&dR0l-;|Tt(cN(DwPC74w z#edZH`L-K^Uy0g{!zN_vcV=rV@Fmsk6D7SHzS0wWnpfKuDa82^9vdA>pie+EkWOFF zu))j~I8@tqO9$NDka2jeh3mc*B-gRQGkaLl_!7XuzkO~P7za=O!&}f$LEszNd(hKr z#-IPezO-mK#nOl@&10L4zB=1{IiZP+HFw_3Ov~s@n$@~j1Wn8W;-Qrh+t6uPV@(Pt zw3O2))&A5!$1g@gXJ~uAAzY{0Kroc1Es1MfvFJ7VSXAb@&Q?t=fbb!Ip(K~!IqcG? zQ>B#Q|6ywfc{#8k={Kbonm1JFB}z+^jM*F>sti`fw9RE3oyiMv9Wvgg4XpUy0>o;% z)D*sN_=s8U`b9nMzhc|2xR=y04oen#1?s}z#=dXA>xGV^e`JsZ{vmagrl1dqZ*l=Q z1DCU`iiAa*C^1`jzs1jVvYT8KvBTDKx<{EMVvO^64oa>I5iXjqBP%dReaWXFL5^tn zDav~=*LjAzcMlcw%t)|iXW*nGm>}CPRPZ^@`4Wk1#O~p#Ug-TudH%#Ka5!H48-9&Z z2DMk1`dZ$eMwqHVr%36UGdM-9Pbiq~iey@VK{-dR?U@02eO?L+nGYn=NbJM-3%dM1 z(ay;{u}xj93Kwe=Mc&^68n!%ZoFlFTlvjx%B;Zr+H)e1;x=@p;%yBq6DsEJs?rxv59uQ0dr4!9?=5 zb)EcGd<-dIxdQOf2yf*Melk9iM_>DNt!dZ zr3VU~kAFyengB}@W8>ba>_kK7i9wn2|#yL!|y$_0>yopB7&@;UJnol?5`9=}kfkf6Qv`%|HYA zDXxR|?RNSyU-S@?lJ&Jy_MgL(euPjaXt(C%4Y-R;Ta=L9_E@*FRV>U=>zQ^a{%^K`Sx{fj{ zNLDMurVo#S$7S-B~`Sg%-&jzW6y6KMkw2{aF99dvyvTLhj6!mQ?vZCVI@m} zhB4$`cXRllI_l~=i6^4RwJ!epeTdDke##%(OK0qoriv0pX3={z6v&CK9y{@pJqT~= zV<%Mmf8Zj0PmuCH+4uEFHA7ThdF1N;&ZB!19kcK1HD(3OzY{nk5tqcPeHAV({XZB? zB;xEnOOUYTXTX@}_Z~heDQyyHn{#n*Pe01~ywO`WSk#E%s&v35Y5UnV4b6!hq3b^K znqj^=whAez(yH3X3e=x?mUGG^J(pONHw`QS8hRNs6xDdrVVmxOS}zQPkX9z~58AYxw6mGuDiEg}*W!Zq7%OZqWz4SnMz|2pYo*cy?UQsCr*m-is$vNk;`d3v zxd)fDeXi#q0r_8}zslOCaUDL8h}cujJkAdv6`K#OHSn0HFbuI3uJhVe0-A{7*$`w` zX#5!}KU^*>oQz;D7$;p%sNv^c<8}C8uXqt9s~`^itqJ}K?;Ahg)*|@$ac*g`?gX3( z)bG)@Q6uUg(mcfrL)APYO^d;|qm2iHcb&$AmwJYT!c(j_4FnE*WUbP=*_m)B?!Jy6 z0SZa?G=bbt&u!>b!zNE%e77Vyl2VSv>fNhB?*ykO>CL)RAWtj^c-^1n($7%8;}ABQ^nO{6nGISc9dTMp zdnZsblcg36$fl(}oGyyr_|8$0tH0eO`4CGONs-fc)i4C5lRr{a?^bTA1riOSkdgvH z!?}~D?M`Z}BMwg#H6H@4Q`TcAA88+dBGY;vO8N*zVNxipk`wv=@Wf7$LU_SvJTu4} zTuA%kke2q+hp+ftEC@T|Qn<;R;L|HAdEiBqkObV4^w2TV{;r8F~7tkxb3q z>U}b_9h}E^+Kxb^2XdVXnbz_+|BCwojH;>yhsGG!h9wh*YM9N+;H*^Oxix+k?uu zTz*25E+U4~8P04^lIlCIr6p#QT@SD&5dMsx6TCl-pDOONt7W^i@=U12hnL4v$yevF zjfYC+Hcr9H6;KfHV!vjytm`<_^5p$Tt5gGN$5^ARmPO6>pd?b|UpW!CXcJQ|0=3M& z>LSyO(172?>q=8fr)RQb-ycA8DfJ&N%nYCDsRkGZJf7HaGGvD%|LozD4p;)18q?P$ zZ+j~1&T5R+WgqYr$CbE=A`Izs&n{!)_qA;aUg=$&>UMhjfjPa(I>!S|(#K(Vv9AtC zj!DR@VIH}M z%Fu#=?h8U~j7WC4YUV->_yHZr`<`sMEsk=MpT}q`$X1L<^3nHikAw5i^7W`RZ!M?A z?iU!iGG%a_73^{+S_RC%R{stk2C)!`bw?q5@19(v3BQYw-M9rNBh_{p$s=*(LfE0a zl>Uk4;jLDdJR_I&BAbF3Kh@hrAX(J=dbD61DW`ppTdkj2sNN}a_K8~L{)M8_I(nEs4TASWNF9&Pw~ z7~e2jem5FPLV38WskE7S;cc;baHdMrt{Ezb2V)>QC%3_jP=$c1(b9MR>IEJeRL?u~ zl-wj(`D))G-#xt*R8C=3*bv&;*dW?_pS>QCUF(tf0L;cpx)gMl{~+0{$`gB1s* zD693!c+WmaX|^()j0-{_uRO4(q7wjc`pNkk*Go4znoL8Hq2|*nS0ipvxbA*AxdXLF zj(8R(#ni!Ann-N5cgJ}#*_nskEL00hfOXYs2p@;@NM`C)l)eI6r6BD?%P@sSz?q%i z(w=|;{}y?r;N43bggCg!wQ%Xt(tU^`F`#|ZI8=l+eUE{?`qeqZqe0ytO}lw|0*0l} zQVt}}bVoAl?jmw&HYme41z1%XY(D`ZImPJw?cpK3B}rwt9N;;|z0-js1-Lb$)sOcR zAd1x_1|ht8>sN+reIK8mLr7zPKX^JvUn+Y>9PvM7i4l*N7+V&v zt4EHmFq+(G%WR-5+cY2N^~-)<08(T?9a;W*fI9$8Oqhql4`)T>10NQqzY+Z_rL5x* z%P=VAnxQ?2O?s^oU-)KWsS5K^L?FmkX!tnkwo~D9WmZo~lhW5l5h- zY;OG&S3jaGsJrp~C(eayNp|V>{UC=sJaza}%3rjvS-J9)R-6&^V)H#~BL>SN))!6d z9VsBjk3sJxIo9W?@T7I0Eq1iwyyE$c1+w=VuM1Z(szsDW~$?VQ2$GfKFAL}g)^P{ zruf4D;mW4KIFZ5q(VyRQyWYJE5-tIE7=Z+N*kRh_yPJ@|5}?r3=cr#?rbpP&%U&>$ zLV&a9cU>YkzYLA21%JI#49&Y5ahJzaj$iefoQJFui_)Dv1wD5W%9yw)eacN2iy(X< zsQ|tm{RBKI%O~P^`Mn0epU4e?Zi$j=ci}gqJ`%6EX}9Oj_U6g^pbW}%90C&68I&3$ z&bGngu4@OFVSFBrCv-l()dZXuJ421;!)pV18_m{SgyF~sGXEffbdE}$y?$6}$%OMO zzce>m&w*Ggc@ny73NG%EujXxp$_G;uBSO^CF_{bwGq}cmVlP^|1FkO>I_xN0SppvR zq~9+M6<*f4tgyWWzwDi3do_+0GfnY0oS;LvIF``zs2BW)E@S^Oluu;Dbo{_;97mDp zThUB4KZ8N1uQ)Te*5|YMqjy9avkL>VDYY{5tXQ+ptp13&inj61$;(8K8X~gQ82uUW zEe3SJk|RYBHx>d$m5wnu_B?|9b=c?Xvylx!b!M2CP=drJgo^bk0YX^D;&oMTWXx+5 zJ$_z{uj^>;F-P)kS$zkC9V=}p;z3}hcCpyJN<*_eW_YNdKc(}$q z&FFdP9&e`wbXTDysWh5}{h4c{JD!$+>8BOn&644__I9GDalCfBPe?U3@X>$TVS z)JDFQV4qUZX@e~-&0qSq7CgXmn`5Z)tW(WZcKuk-l}_n)lQHtQ3*ShNfoq=fjr8iM zvoY@K6XS{?6SKZYZJO}=NbVs#c5S*bWXdaAoYEJAq>qVD}IJr3n{>mY~EWDd>_BpG0K&{^yRh@ zg`3c`Fp1OvgLZ)o_wxU#D)UrMz@a6^h%DsCfw#5(cyzdgfS&J65Lmsko`jY1{c+`Y zcabY{W#j@u%57QZ%g%GwqYS~1pBc@_SRfzbqxxw4(ba$cQGDrh?C{Rp6!;HciWw=$ zt`h#S<<+kdHZ&$fJ^n{otkkGt%fKCyCW((Z#=Rf1-Q@T6i^xSjj#P08B`ceXOsAL| zB4U04O<}_@I&2tOHjrqW=bwpy6-&B4_bh+@dtYHK?9ca-slWAS;ETz0tJT|s5~#+m zRM$n2q48aaHD)QrWAzMWvrvqorp-S7b8=_VejFWM0oJw&hmCv)C^`H2^A3V)j+tFd zuDdzb)$^(T~p^nX9p>Jn|ZfiE(6>Jyxt0^*EYiW>V>z2()Dzt^4-(|Sy7J{s_6EWED;g1P+2V$HkU*f(QyL83qVssY(> zvo28Ym41_S{r&*=W7}@KUZ`5lq}%JGZBE(1u3F&aTkcsorIikqYDRL!4{Y(_QPb%0 zoRl%yy5f=zA(|k^A{Iz=16l&M_9(RX(S(37eULMObl9BThjjeh9Z6u9u-&2P2 zEyVA2I#LivAi8dHPlBLt)Z){MT$Ryrt6sV5G~2l4qsB)I_4@@=k~XNN`+A;g*+Ja9 zqQolo;VaEQ!q1MaUXxo93_!LyLaE+doGi>Te#V?xw=RgW-ef zt8UR+cR?(bEYBp|8~XUqm+PUX3IPlO?akLmiuE@(=E|)%+mu~jl;B%lB2PTkn%6~l zW9viM{X?--wSk$EhbONb!1lphL15n~Px%1tc1O6V!4I>?n^)=?9nv?&1%=_$;zVHiJAPrq+8160ouybYbq#*6nRS$Up<{2dD<2}NwOaaA?lz)Y|X@Os-H^82vsaInG z6La7UUcnbd43cm$b*#(kY2X76a2P??G6##a)H!y1<>m-Ifs7qMbUqN zR&;G1ALv(*p8K1clM4^8+hw^m`L+GBeeyqp?F``$ewab*r)6FQMMEy$9H%4;60#& zS#GRC2*K3c1hlS1SKznU28&O8$$X9zp1%^qqg|_vUe?;lF5#!g?DXA<%HG3DbMv~z z`x6^p0Vg2VtJC)LAFbr;Tl4P7jNldY)Rp`yn(GVwIXgt_zjvy=n8GhBxc^2pC$+#R z+wq;Yrxxt)V|*|RkW8X0XvIGWyA_s*IyAp_;(UvYe!T3CtvFcGe0CkF9U48UsCc)y zTBsK)iu{LtYfO`Dg_TzSWW&#tAel)sFhGM8VCi$*bOWlff_MI}n`U~8|H5iVeZ|96 zZ6lQ>`XIBDvhS5iI@?OOWA>z;{4YO166jwctP)R&ZBTMmN9ni6|25OR-k0Fil8^c1 z&K>Bs7Z?MyLv)=K!*EiKMq!N>)}I_B?|B<=IW91FJ4lSt&p5M+xX3~w_eZ!mbu z~g-$r_G`svd4O|p1 zKGWDMIs3fo1`6&s{{kZf{d4hkNFtq^gC1=`^4|t6l%Pffn;6Ff-+!`~6ryDQ-VtrG zKI9dXFWNHR@k934+WuBq+08j1T#$KSIUez{Wj}!?B6SuivGWx8QN)#=JB_6lH3?$! zEn5jdQ_+%1(+pChfS4+r0aQ-4o8p{0yUSQj=6DRfx1K?$!s8ns6@;nIAN*ciTL%j1 zeLq;Mw+c{uUrlI+_s}Z-iMesY^l~JL;&(}^yTf9oaxuf*XwZ7_QC~5XO4Zb}hcPyh zF)@#s|M-32cLcY}UU>a!okia;`Px!rafq`{*W z+#2@Flj7UmfN7b#nq4oINB}d?p@I2-jp4uj@ zV&Ty`@p#*}pv-}>5u-2+n=$qgBuAD-{9)CHZ(*GlX3BzoU^87b+TJ_TD%_AuI_%>X z#``97IVs$F~p^~`A8wnC0L8-%b+?xiP--0juiWL zf62RB)}!o{As+JdhfT4l_=((ugL~MoAq$Cg2RURh1m)9FpaaSW_iy$d@K$BG>4NKA z)8fN#u8DY)lwBm^`L9EP4guV_@d3!oN51`6qZ#n?i-lGVg@WIBB0&xaQ)qf zIu1ApilHIeICy&b1i(F_ZEV3|3&Ir&OUuMs!BD6S#h2~;;Jc0@+*)&g#RkyAs-0zy-a-s5M$*~kS&jq_4m ziS3__x|5E30}RBrWibbr=o=~Q*SDP_4k7&3A8w|r(GCaFN6J-VKu_e{)U+_S!U@Y})@A9RjB;*0PX3UR)?X?Y=&cHyt$$+1*imxZa9>V8DDNf3!W5A8dB=z~=I0|ICI?yol@8%(wYhldGgEoo)rA z|H~A3_RkGuaNQ55*uEt8vXW&l_2%vOg?ZV5ov~xv(bNAqe~Md6GY(M|vv7Wlf9~fU zv0I;;R0vMjWwdTwj*`5NNARK@(8=7|hMevp$jF;zK$jZNIIdT;NIAqQwIjz6XgviI ze2teA?rLI9UY}A~1RzFwd4BH$@>f|5ngZCmBbyx7&jkEn_Fr>OY2oaGT30 zm!|OZ7O$x}?tgFI46ri{eWZ5(G*p1JE_X+)lrzrD%e`-|Jzpsw9t_O`Xyx z;mpzSFDSCII8fT?rRo=~DfU#d{FCXu?6-Z&$qNpDpn+%2S8Viur>pCNLzlv_MhgC9 z%Db3fJKromvj|t-JFN_}h`2Tccvc%y9hlH`0up*qBX4Wp3Tdv@tnT!ksT8msKAs;? zo}YeXd7AA39(6Ci8NG~2eEvCj?2=ww{Ab5}UFb?yEo)l%Te#;<0+#*6&-hH?^Ljev z1quY&U;ERpZCL05!=M6Ri-;En+;J`~fvj)P$4tLYLQzXgU%KWB=A=P=1*|ub^NT6> z3e|o7jIHv8C4qjOk{^8$O}VtB!iRQEC0oZ|N|cobxturMU0jKP&W$rzyS&0TX((@f zeka8DeO2&^UsB&%<6x>}_gx;_XMQnqov;xKkV?UA@{*hp2fp_0xr73S)~ zv}^dX<;TT$<#W!XU$WRB1#hgyHEB5VtPV&`@!{0C2y=PGMVTQ)YEZ~Yq81c`_f%VX2$d~i*n>^h zm3GFJvXgfELGh?Za6Woc=;V;19`9#CuY0ExppK-nuQELS%m6HCrBf5u^l7rUol6oN zCq&C2P=c`{{rsrJ(y#GoC9=6Ye!PR3vymuGOU|))@mj71c!>D!7(P&yue?AXHftD+ zMk@APY6`yDn!yZR$12l z`3EhLX6ez9Ayr&!j!4Chh=eanbEG9B!NSnO^lqVcjzi^B6to<`wsXkka~pr9db^oZ z@2-54jNRV*Nv=$El^Bkmz1Uk0Y+|{?z<#E4p!ujGK ztZ~-@GzDucMjZ4@OVOY;tY+_ocRv7?)b@BiV#3ycN|%dT^2oOTT;Y*NX}z=-(IB<{hsK6??LNd2d5m>tq$=x5`{OcCatl%u_ip zrMf~PW!6Ui9mHYqTIN%n?JnxdGra62W-QZIK*pOT9>#~~GTO>cX-W}Cp%bXPXPes7 z`jnc+EHy?IOfxxGx-CN9^hC-)O2##>#pZT7p9b^p7k zq$`{jqV0u8mDA-RjyLpY)90(4|e(NqASP|-g7D>U2 z)jS-mfEZtMReNlm8t0fb_iPNP?Q`JVycpf&PIPx0yM$i4AsY=~*@6>B>QM9b%9|>Q zQsFGgM_zjoS%oM6)J#=mbY)^BpDG535pi$f+YX0r5kJ~rlT|EVNDO|mgBSPtStq@= z)5fTYpw?XYRtn zhEc(@b&rO0^1%&b@>L-%>@P0&f_`j0kxK?4Q!LElJsU&iN*r0fcnRwbAZe^{cWYuS z5>EzA;MN6RVWvy$ChEOl;dh3^W%Y*F=}--rHgn?N14dM|VHIU{6=W&|D?CB^(>zkF z_*sLcvUIYpsNbjWQ5JV(_eQ;YhDE!{bd(eM?eME)Ktm~UgxUX4ZnS|VrZhU`cud{& zO~Bx@6E}w-bSTKpFm&o>iT(Bze&o=6diHWNFEcZ6t)Q__UKkz6sic+Om+8#vCEuNC z3C)01py5;@33Pl9vso`b623_&@8m6^z@v_fdJp7NIbbkYS?hB^#%(nt^%S#q2uV+z44b;UxN|;ISU@&N*Oy#Iul3e|9yV1_AqhttPti4RI$!hdi}D2!xQtsriI??bi&2j zW>En3grAVf^V6eC?7eM=!IH5bMgy`MLM3U{(3yOfg?9VL!5ib!%Yi>u%KC=ReUC2K z)0+wO!vl+Td%jFq*oYoVqsoZ@wwATf$Pdy0XVtwC< z1v!0mAE|{L+O>BEd+=T$#xxpesEhgI>3!HZ_f z(+pYxk**M-;su6eF%Op<2pVo5dLVK#S*Nxf$s!W5C5IoRrr z*yZ`q4*$xct-m(GvB0k(lYJ-KVuLC)-+Lj46(az+{sMISJICB>=di zh3;>3LmhWA<#@Q*?;i~qDsV8VXb)8t-G}$Hbq2UZlrq7vOpn@q9x^*Wr@R5ds2A|qqxz^AKCvWgp3 zqtO*x4FfDvpH;SW9}K~GudpyYx5`Q$KDJo%fVL@7#lc6TGpPxBmR|6vE3F_FL_NK~r%#nboLWQaqU5+ma*)SvL5 zourkBVDkANXn&Lw+1}xzYz_VB0uk$t(!+K^^Wc<#CrqY)$eDQQY22O@X!X(WdO!Kn zI<^ZzpIc}(#A*@HFjYwuGrp@Jbo5KX^bTf;d1QV1&pFuhZo8Stfh!lYht+JqdE?FNr?N>urxK2ck?W`Z^swTpO#6nV24{UTwdeldSQi zDIKO3*irvCRWm~&O!|Ja-`q6W9fiEoE;@$0Fs_BQG#IavwXT9E0pY5$~ z5sT{@LDhS=Pm%_pgVW9?H-*q;_oq)3sg*h9x(((Im@>vNA>B<^R8MUQ`9l7~A^DOt zSwocz?jA6ZMDX9ZIhJrmv4rjJ-!imMP-7nX8{q%aqLrLeZruiOw;5UBc+0fXAqT79 zm@Mm?*tNlihMQ=`amqo=Kyx&!zKu6m4&gs6DDNZhFw<{FYa zp}pOWi-;C?qzmdmi>>jtsR`uxRHAZLm5;diP>x6$-wZTLKZebrb^JN58z5YIPGXnqot?_{m2-u|%dv8v zv7D3{m-`zjB+hKLnHo3}(-JPxQ>J@b&rwB1dm(@YcuOTNI-*3T_}S5)WAa8#kbAxkJ(BjI27ByJ^p6b7r*$K)`59W_PjVf^cj#iPsRV+ ztr@)_4y3Z|CRy@mm}HUsDEde}#D~dv3GaxRI8x=cL-*ASHSVyDZq$)m*EMJsrtX}5 z+FE!Cl>htFYpK$P95Wb?=_8Q5r9MIXy?Fv{y~zKvl0-dHG7a8x7<_T^sRXYajKiyx zi9X;y=|BTVll5RbYESq3xaboi=amu70k(tYQbA=_4f_D?J^>a&f#Gm>@I9bn2N}LW z?ItrzRo?Hl_k?5?92owRd?FR>Bq=lFeWc*&g9nrS-ryG;r?KJlkF*G=xQg#{9{SU< zXEvF9ljW<0vT~)5K&tc=CVT3<)y8Pvh?30BvE-i?B8B20WZ6a9xa{N<9f}@&^j}td zpeBs&|3)VQ;oo5BJt%86kK4`$+;-|Cln760PFHTeSmM9r#B@=mZFb0TW~zrowGu{3 zg_{l!n#lOSxcGT88Gk~jhR^s;1$*k;5n;MSzzswFSy5G5_6lReUaodYAg&BHoCnK%S|I(>+)WV4I*M-RGIHg^C3+)Yz za*t}J6S{Dkyoq+)N`Ed9&hLC4&qB5ziIAWig%sPubCi&!7g0K3xISsN45Qw5gZ!Xlnvdve^S}cc!H?NweF^dRR_xNBD53jKlclGaq218ve;E}?qVo?;3T0%fU8tHBUS-N}aUKZE| zmgVDl-tRrW@89`jj+r@T?z!&kI?vzP4f_8D6*A@|{flCoTF}f$I==_s^tNhMW^_0^ zM)-mq{01s1i{CVvf)|op=BA~8q^@ktX(C`y00P#!`sJ$57qn?KH!kY0>~0tkB*O~Z zrGHzGqmSkWPr1^L>iBOUc<=pwXPxwmwJnbBCBhlYDlnf!+!Rp9KU~1c>GkSwr=3KQ zse{8~t`HT@i|-kS9(OHfc~u2k?a&{TpKbD%agGIg8INYWJXAY7cgEO1{sodH*t8(= zynowmxAtK@TDMB0g8YUNvHZVoyT()6FaP6R=}D$$N8HLQ>NDF&{aX9d?$nCT{;#?s z^785bXe(gSk_s92?HP!^c#F*rvkNi-eYF{mG0v&TvttHVs9_)qj%#wsMy0Omdifw5 zXr&)s>$JyMoZ}ph@Ld57K9`A92S%J{`3KiVD|#*+@PfS!Pd)T}G}DHK{_ENkU~HH4 z@S0Y&)gId&WOMKxLdYqI$C_-&Pm$1UWU-~}*i=6oAVW)mC1g<6upS7K?N|UaFcRG$ zg_zhIm$-!H+Lk^y0T1YMl6(3ods~gpQ8B8CGVk34ra0j1$s`4FtoNV7XNHo=+e7jG z&+K)WiyDvPga2}pNoc{5r5qvuS9V^brzVrcwYIKHBDar#*_J1D#EJE|wkX|Ip7m6E zme=&h3xWN*YK^IsbHCDSts<>kJK5++g9S)*Wyb{ zAUBemeZ$0b>-M0Gi?Hs&gF;`2$^%aMfEu*K6usKqDG@fHb{^+Y&b)|+5M%B;{n-N#82B^!ebwy4D2K0B9cy*MnU+4Gy~~Jp=oaZ?J|}0 zDe0V|sB@0GfiIgb7{5M(ltGbanqm?Em7uHbkR#c@zCBDt-O0$^SLB`q-*5kWTSG0{ z5uv;b0v}5Mw}i?9(v~u*Z4`)J^_Al%&r4wVK9zl8a6zKVt*y@E+3UvPc1RfJ8S^)@^<;il3Z+F+ z?&pS0;RdmkL10m9wh>gc zYDQ&zVUk?7+{ zZd#=~O)q2a2&$5CRaC|@Kco#Sl5RVMDz;_I?_q*I9JC-BFkr9SBLTp;ux`V3B#c4x%&tzW_Hev1#HFP!WfoacY^`fk>@dXGzW?>|YwX zq3v%LmVapC_oOq{CPMBgA&o9hWAb|2)*8SrSvlxo9GN9ayF;1p`RVwH#vQ*N1Wx%M z_Os^nDM)VClIgvYTAkjLJ+-QzMyLmz(JNi%#{+HaPwE?eY`%sLRen#PX?=Q1(sFWv z0qtlN(KMr*>;&Ro8aqP|2irU^TYRCeC$F{b3A{KFRgc)`yS}p|Yfa_X92X`dxwAMj zYgeA902U;dPK9_cF;ySEZnnjlFfiz`Kyc|IIABe$_c|Yli}h*#*|9-`Wcp+&7ZHTN zQ-$1Xz1i}(Bj~gA8Y1X>OeA{l?e;-=$A%`E_)cTl^QX|&>-ddj`9~H!i&m2Ngxz}V z#yyId9W!*>mc#Oi3@dl&^`R;a-}A*W0$^()^Xnx|TP~b1+#i=w8J`Wphjo%>kiH_E zrA43uq37kqBS;3&J`0TQC$={4S3stF3-Md)*QgbN`*^MvjaGhZ8c>h;vSzbgANg=4 ze%R;?QgdT>M!IwXGwuKA!mc*7pNvHWEZd$bX6+e20m!> z_qq(b+1l%x+RK9J373CteqYtRqsYTE@CX4^doE^UHD(~Tsh)&qZFw6~-S04RRc*|t zKoRmPzb_Q~OR(jfQ965BEN4SLs)=#ASBe2VTBBBRFx#G6Tc~IVnc6M3qO5EvJ`*wlF%& zc$Q__myACM3@V8YC72#&h_^3!5Eh&?+SObcQ=UDq(^}=V`1r0lcdW3?Q@IL)WTrqIcMqkN@b#p_~#>AHwAL>LP#AOtQ~x8WZZ@c}w4LZ;em;)zJ0c zThk9LY3>GHlK6xM|D3D8lQUl|5KqHZHl{mM^Vq$=O`%n~TaK-1Y*UPu2545t@DyXR zP(7v9MrM2#OLSy?p4&BY-3$xtRgVQCMK&x|jnLoGB|j}+_2uVppAj58o;(O4YVt2w zIzu&u!!Su9_x3&1TbLM4X2mnl7y333UaOQI`XFIa+Z(Vc5;4 z4ZExH(7S)PqV@YEz@TX?oo}gjGw|1IknJ8=A?`I^pi6P|xn#cLQoaN}rv;<7ddv^u< zl{P+j-vX!ddoC@MXAf-JBOC`j-8Q_NzbtZG@~;{_`tLEj-o8xB6o$48hs5 zR~}^B{O?Af=mx9 zlUnErG;2UsEFWK%r}@3UI=}|nEI$Z-SP4sksZ+akcsZw6{L?k-aP}pfk7J&f zzUcuDJlaBAd;L~vHSw%60$bTQdB!*7s#7K9zO(7>J=LLv%sL|!MhG?K7bJH!gy2M8 z2@{oRd5=IlGY=H5Y+aWg=P(&tRmbI2?y%aJ#?NV0d4*UAs9Z{lJ#s#RXkGb@$=O=D05Sz}_DqnVj#YR<3yj9k;9=&YOfa|MVm zlt|n?-v+t7#Zr=A0~c5D^XU@#AOrwEb4sjt)^<2Y={q9J89W=_M+yf^o3(Xl6-(#YiVQ7RdAd7y4TnE6Gu3&2SE>SV^7-1#r-$wG39~mjHh3;F*VxKSz|n35mRH8 zX?_L(-ZFcc=3&7r%AFh0&If~B0V zHBg{@Ps={IU^PzTE|L9-(Cu2u(Ndl0-tL!nE ze-8VT82`=2=U5I6I((S zQj_nL0|F>Qo%)%iX38Im@s$0)tWnhJNdwB53ELDTV!)QeQ zwii8j+PG&`6CE-0X57;rsEf!%^*vh0-1}I6&x$VZLSt(~pvr!F|Eno?Gn-L_FzDqJ;0vLS!{RVvX7xZ2M|$(iGq>h%QDr>a-*U6)o^HL-uaIs!`?Ept=NCg-FDZd6 z{?Ee7$Pd@_=O!E+#}X8raSyMYgy@y4W!N8-EZYO&wPX)F8oIWuBp(Y6>`&{S(Ol#n ztqnxH#;#AfJK}`Z-K|cmy2$zibd$7=exI|Jz1QvHgi)T=J1WI zutKokZs-1@gjcyd^w>Poxp{9Z97u4-DH@*0*+umE@i4)v)hod3?(gM3eniyt!cVk~ z4fvwyYx%z(lMCv)S2_xkH~fWs8CiZKp27tJuv^dyJtb^4zu#jQU~A+T;m}OE!BJI$ z;|MIVnrDg`FyXI929Nz}V}E}?Y?-{9@ukq0JopH2o!iMS@(AL@7Kqo%WO!)qdg4cU zOMZwAA;3_QWtHi!Fxs?!Jl}jelRv*#XZ}zHGHXxV>lTr>(sCSceg?}I@3~G`9B&vz zy?pW0F~Dy*{9V$^=AtHhbA_fIA}?NZka;~LTsH2{ms{;SDGgvkrmDYXwHsH$P&fF8 z0Z$K*%M;=*O9UNff)m?Yco}~znwWn3*wZpRi~z2!&VpFQEqmhL=DnB1-rLup+Sb0my0`OhHDH1?8)t7#H^)EQ?8~aEJ>qousM@A7o(A$6L z^Y-$2KY45$%Zo*%O1T&9o8=m0m=UYOHboZ2y=zVc`$0%l<*YjXMb4IWs~G63ONRh8 zvS(6TrS*8jFNSKx1F~)uS5MIMb%zF0niEpf!Fr$pFSfqA#t(eklP(HsGCCBl>DhK! z9N}b&HtbFxp7bm#<0qgzHh6$#3qiwQ`@YFRZ)AhRuC)nYk1RTI?#Bl^;}k*A`UmLf6P1_e!!X zQPiv@d|F+jov3C}ZM(r9{yhH^}XI~VD`jU|9T5con zzgoqZ;r{ilTm1m!F~~yoh8U4`o1qDlN{3xXj~YHN0@6M_pnps%_8>iJN2P6l|13t< zV5{WQbCyF%6wXi%QFd|9iP3^{Y9xUadO*t~9TVS34gxLjaZatY6TJp*x$$j{)3iQW z9MTgsGN+Z^jWND9C|R*&-tLhGa_i05=(kF8v9#%Ke{R}UHo^_()>dw{b*qlt(je%T zwxj$6H?0WV^uQeks?m6l`Tc*kN~_~*CcrP;Is0$)?~YD>=ooBUZ)eWVr|$$p|A8|T zITp&{!f!rx-L1QJkM!a-UzvYHO(S$4`r-czw~eN=gs3Zy(Xt0-I^mVZ2m%XuFaX*Rk#dp%L`VLUdxRr%47 z9dKIaB70%ex4-_^ki2P4qm$L)#~S9)E}#9G%AL!zz3~grqM|`knqI*B88F8olR^8T zqlu{KoxrDMVWOrDQZ0Ok^rM{e0ZOpJX_uN*ho|d>pkRsJ+VL%jsUjc>jXv!_kE7jT zHXlp;Uu`jQ!6T^-{YfmP>{LIvzf2BE{a)xz>VdaLOhHt}zrF*?DWOPtK{4+h8oRN^ zLQ*cwVtspcd!rc^+ZjWf%!=*TN8(p$#ZzP&!^wX7dTsAKAU|J<*Zt4jb`(YU&_zaFWJ3$Zc|Cg~&uROxzU#uTkZcOgoe)}Nt|bc%BIqt;kE3iZ@px$Y zj1uyK8$YoX-1MZ#yiqEv#p9Kc+%$6C-u)Meo$GI9_49)%o>QgfCLcbKEadRh@?qb1 zl3$E`pEsgbF``L~odclqgsIr9bM+ zQLg!8)?!audOsg?9>5A_V@wvCoWh<5XIzoDZTYh4v_WX#Ve zJ=Xzt7v?^Y`UGi9Y)Bo^Z4%5GwiShpL8qotN{tyIyS$2()W*5gZlmQ{ht*5V!u zj&0d#)JGOA4+8n2u=GBU+{SU^Jsbpo&ZCvxQei6=kXx3xM!9?Zj`SscbvV7bh)+gP zVvIlK*O1o6TKIxwelnY+%)ykI3e`o(V2K2`%4Ti*@DMXKFloT8(QBpC>jeAPhsdg& z{%0z8>FF$me%reY+aF<3XI$)FVX~QZp(t{PT0>VW2!V3D(Hm)L?~zHYfXeuw`T$hn zHSCeqEkS-us9l+o;E?EX0<8+2lL4?cZ!muUY0j}m_DRYWt;P9c!SL-LPjoOq*(apF zN8>yb19Lg~LRp@vYg#}3Zv=X}aGK8$AR1(!D%h&<7t? z-EQ+UW{pJ6XHM{=(b*8Y0}BTZf9bv3{4ZBX`_W;`;Y{c^BRVV$6D@_DFDw0r@v2zh z@4h@ruVm(EZVZ<5vxP4b!L%}*x!uODvh~ee#4bGV-bs=D>07al2Cn;@J(LH^LK^s7 zR>#GBJ}Qrs&}PgY(M>7>;!zeC>$`U{!-t|D=z-ldeY`XgZUmq7%n6)fIF($eGuQ_f zlRQJ*>o9>T6>CauQ$KBAQW>XdI{IAjTNNgygdp7^Eq0SzCJ&?u{4Rt{)4BEmz{{k_z9fo z2vC;`gM^<4`W~e(;f@Dy8W@Jv5dc73!Gd|ZNL)h==ETeWNNc=uFuEvcn#i!Pif*ne zxeBO6CEzKlBo;f^(zp5pb6=mnIs7h&omP#Dv|LbQ8%t6gs9LwCRU%+k@0LYVIr=B$ z)~d4oZaCM5g#Q1Q8QTF3>Az}+5USy3pFJQC!gXdn4Teadc8TAVzj(R@Up;+hj$M-Y@d?T(SP`IUg`&Z_W`$@8M4S?9Kl~*lkAk9bc#?Hk-18exv zNxxr%VW)-Ihv%WVZBlvQ-R&XYBJ;SP05IddnHW*dkEBPu#)tY-{{r5NYY}cyv;=1?laQ zpdo|v>lJ7y2Favsl(N7`mh~Gv8zir>ThPI$B7X(+veUBzc6rA~ar(%2`hxy_@$iP9 zBr$<6&TPj>(OEU#t<99ybaFw5&1GT5-QF`}Eq<31r#Mf9W2orj;B58C^cJkl0_xZp zuv+7igi-6?hk^Vcb8W6ir{y5*)wl`x!d>LW?U|bA6K?#P74qqts5dIHjeRrN#oeaS z+lqzFoKB2EV*p`(3tYciyZ4CGfm03>a#|Z*s4E&|JQxiNl+rfV9$Sx?RNd^hw$y0< zSKRu>i8{8_21w(C|l)O59+2SD1oZB&Bb+FeR~Lx{}AvyyPsTT>ems29)5 zP@?C=o}Uf9!rVqkzv+3%=A=&JERgvxku+xz+aSJKrfY^-L=5L6wrD0b}-x;r^KKB*3@rTnW8vo?TpL*cLOo3lOEnUt)0~>kQ z{WQ*cH*HdbS7Ldz(Zn2L?+D-7zbcbV4PDyxROR8lA5qD2q;V{TQ)^|j8y5z5d48Ff zJ^7Vfy8JRm_4R+(tOTZ=?8 zO`pR|@GeE`WGBCgd26QMc5dvEd(iq{0c2NLbRj7WT#?&XfK{Lbc&+coT&cr2_Asz| z((V?nxq}7Lwd9E_8um<1==x_JuzZc>OA}`5UQ8RO+*-z86Qzs`aqtFAd)mrffyH8I zLwyg}6D@mlh{0KmUqO*HXIPWvQ`_;}o;SLl=Hs#z_82c&^AvZ!zluB{?`w~D@_6k+ z2d&#j({Cy1TGP1xGAfLmrHKvoa{DVI-#oRs+>?X0+VWCB$Q_!5&bYqAN(NH;#X+W7 z*+S<@TfhigldCq6)87EX0Jt8DCbGwiJW-AEt-E&{(0G`2OKI6-P_WB4G~CE<es zlSI1=Ye}YzPHvWFxeH*g^o;+6dr$4w^9AQ7kN0yyL9imQ!Z+>HR5)*A!>tcsC)@91 zGiJbz=TK|P!oKdva-|iC1-DLf3l41{-|nZK3&_SfNa;`yHEFH zx*VT~GAce5oR5Y)0q&X&cq^>8eWB^27`&{#ujhSE_X`zi_%RY(Lma$HpM?}ZCbR%$+7?Hj2bccPOEo`v6*pVCFCaU=cczNHhp*rS^knmQqF zMjmRCtGeqCuJKput{i6XZg$4E3a1t8Tbk3y`8l#M84J8~>t@xKsMw43@En$(Bx=bo zLK_y=LX*z7|LXRfUXXIB9*mdKg~}Ubm%Q*haj7R$f8cv6QW;tgf)FYi6Vb`)sK&h$Cq2N^4Cfy z!7)XL4t;E$?7?DI7=mP-O%$zkYG0bcmH$YcG=_-Z~h; zz5}8yKS*|#FRJuX_ion}a*-EIXy2IUt>P$2)}>l-5PoBk z?Xm7ZCOyAjDJT3CpC6@pf!buK^8BAS!mWsYj|&Tn)2Go325FTl+H>4gHa#+&)nvMY zf>vo^Wwg<`c5lBw87Sgm2Bi}GxO>UJp%GOmZ-X@$WzRzfs7Ftx$Bbkk&#)@b2(7#z z%CD*v4rryWup#N?w;aJOq-E>L!P^l}f}RYv&IeM_Xp}bH{)ylAaeo`|C2y98aMh?= z>gB}Xb-p@hki?Q$Q|^^|V05{!GeZV7mn-7t_-U*)49~ zYors0x^XN>@{w)LrIVe!ECN|N$w#D5758FA2=@*5KXNv`^5OR~o#tf>A~haAopo!(Y^JfoRHz+NNrE(0h#UD(62il#$WU3*L zJJwASn6PhKRtY*n%EK)h-7Snl731zX=p+Dbe~Roq@)J+iyI0B9cjRJDbw+k5cGvr6 zyI~9Nih-rne?er)i<>2a)A}bLz>(j9E0F>Ifl;ee?hIb?2kmY*_WMkIeipG7CJV(u zy8_T=t{Yq(NamVp8ApBgfzAq1S$w7bhk5Z|d7vNul-%Hi-$)fi2yvQ{BDboF=cpXv^3ET%mh70 z`>buWO@)}zKPZO($RMU&TV6zkR2e;c8~(DTFQYN|bR{<0>n6r`rdKTrezfw~VS0Em zKt8+V*C@1Z40+F?L~XlsVgXSnVL|>FFJzKnV0>aAP7V80U6Hu5q!>X{M6gGzsyYl347rM_3bHC<$|d;ISt z_C;DRw6{Y(rTR$pdw4!Uok7^!V0tIsFh+!MFUAk`Jr{@rMz&h8K@~qE032}{!wXTu98Y`1()g7U4JWALAl33L0qg0Huv=uHMfMDeL2cigm9WhRkYK*Tu@(L|FoF@!DOAu?O1l(=XvyTFJh?tmT0Qxk0}+CKJR1F#PqzO zfrA^3;G}t6iL+Ty{_SmkfWq&(V@%IHmT7IV`ZBbZRTY}`1rUW?tm#ZiP>h?wdQdM~ z3*cr8f>~TKH&?-%2S4W&^XIQ|pEIQwusG&_-cV-`H5<{ea$p_1lYtWK@K6Y^gAgcFaa*pyGA)&zTw;+lzS=JOvefdf77TflGo&jne z`!UDux^+(MAu%7+7Q#p_+ShdkyAZ(|-Y@Qc+{mx!I@>P(Wb!JFK@95 zX8RY`eVreO%2jcn)51QQ)P*Chau%}$@*3yj_c+2yqHu|#FbxdcnxklA9xXouy**zhG2cVd|QY>_U0qJTT~uHVym+ z2~AG5lbp4d+5rz=pf32uFLpiRl7I5^dR8LOi1Kv?wpZTxxQhh^dQ?Rh&PbHomMJAU-(N!7qmHVx$3rMm6TqO1(RW@)x)a0B5#p-1zr)JfME$4n~9OL>_YdtxW zH26Xj0Q%SAkA3=ee|c&MuDHg;33PI*0AGfSeT)R;a3 zujaCTrCA!22y|Q-cZdiZ{fRWO_9ji0SFXQ}<9 zv)c-SU(t_Cx8Atw9JL*HWa@E7>M-&II*mC_%&4L%UGldzzDvzU4(Na#jYt(C5*?B~ zkes$B?O#Pip~u%^R)c{6%huwcy@1bxbwH zj{JLBz9o6INnl}?w4S!SYgU?11)TE}UL_a2?^(kha&jfG!*9g+==A~N3$l;RG8N25 zCc;FyqL<2CzFCS}jmr0n#q-scWEE*Iz^qq(6>XC@&F&nqLp9f!UX-e^5|!ZksKmly zp{bIPQ6eHFNYcCErn4pIKva4D*TL8taqQWf#01D*>*(`y@5_xA!7{hrS{&K4S*#EE z0F&*fiGksFEwFh{7f10WfQwH%>NhjsPZw(!xk49b+TO~{+aGoNX}NyxXe>htGyc6%_J~$5j?n{Od-)+AW6A)F~OH%8VX`x6QGf(~97oqjZL>;+qv+6In zBy6)P%W4o6zx~*Jlj)juWFp6*L{Y9F<4iM=L~Ex+9=5+RJv@o6R39H$gvNk|le->gyPo@N+ex;0Z_L{dT+LRGSi}cMmGzZj8 zbP#nHehWW%(%Tz;>+&Uup2EK!oGE%xXPu7xvI z%*Y&1_Gc3>*XwnQ)iB03M)a8@xc<3Z9^VDetPVbf;M4VTl{=PD+98E~6!~lNV256| z$sR&Zmoh(}%9$s;+C?*aM|81sK3(HQeZc!$>Zhj~(803QJ6~ze&b?4MN;xiop)I2fW74~%6lniK^!mm^ zSyoe_Hzs}{I@K#{^y2(ZUST`h3oGE0C>}e)UhPG{f)vY?wubRISNvC!4 z26np|()YTQC(B7}(B{};I|xg5IXF^wWWw^^^yeT5?i`VL>z~_{nK~J~4^?KO391pi z%JLY3k46=|=%p?5tr?qsGp57HZ=vV^Of0;fk(kGzMiv@J7=oUh@>9<&$!TgKOF&kP z@<>>111%C0FcB3%@U~2=nMK^&7Iu?XZIjK4Nr9&2OAWYEf9#cd^Q46Z)#s+W3A`<`mkyCGpAO8yJ zSha(EMoopgkColfd3RE7582O%5NKW6LT01A?Baepu)tfH%O6NwmhIH334i?9oTTD# z@m^5&>L7>9K7TN5>dmn0bg6pbVzV=nC!X*z0SPs6?eDrCAfAuw3{Wb6a#N3eGX@`Wb+9Nf5bdf-2= zEJ*~5k$~oKyZ$6m*dM)Gkjm&}G9PnRh-C^VXjHQUK~DHSUu0BR<6Fi+Urr*~5A)ij z0>urj5KRH|fP;E}zqv|!=TS9*6w8hm`INacmzbC#gVTDcn;+5jyXtD024ZY*+}9e@ z$mHnm){YgKpj9W9ejX*4`0V+uFLdA2`nccP7_r9oPvw$8U)%^>&Pjdy= zQ9bH?>%8~Fb^WR82BloGw|zQ}#&^jcFapzeKj}HC5} z{k|lwMf%}-wnZJoGOG~MOq7)%@SxdSpJL2Up|Jt%c*vkeL9q%7B+BEQ82-6S(< zWVKi&R$H1W_*#jClKPp;a2VWsly?W*nfIRKiL&oTquS|(hOL>{9L#7>cW zM{$)|6wPO?B39%aD!K3e0O`=o#wF|~n#uKYcs2UKvczJMfw)VGH0Lj|$GeU=iT+XR zzQSab^iZ~3Q0;X~&DGmyi(X6n)oN#i>Y#yMlk*yP!e1Ga)=S8Lho20Vbxf9+fo-L& z03(_6Yfb-&vUBOTF()iK_HVK{Wkd6N-@VWIada^ykhaf3{X)E1mlDxO&|c8IX`*G_ z`HhA!SKLZ~;#OZ^C0TACi2l1Y*1?TSr&Jdtb4`C@B!IbhKtd$Fzfo3F6!NDdu64Jk zXd&Df`}NQJM>%4UV*?|t%8EzRo22BW4^lMC6h4;58>061J-twYh}wNKao8d)5#`VA z!$y>GSgFxv*T%|;9}Wq|&hiAm*_X{tWS3^Ki~*L!QacB6;fKJFpA7AGXGdUny#-zrjua7|=+mDljJK+>}i{=Ta&9 zs}2t)=yc9r*s`K!%oXNY9nGj;jSC)AzqP*Z_3->))EqZ@-UFM2%vp+B$@e3EKIu2F z?DP9e`h>OYn82Rk^R@FD&hCsg9h29LU7=n&QX)U7u`;+{H_%TI>TRt+9_M>N;>`Nc zYca7u?&w7j^lBx@K526Gu>G1nVH79!PUdS)W)Z;ugehyP z#JNcbbUPXhr_tR4nrCK1b{$1t;22M@UA)h#-YlRtW*UVuQQ=90b@;k9b9*ocX3WKx zF3kQv9q=@8cCIA3r}FGReUZ+peweEWKOenEjkL)ziH{GF#Bw}?@$1YG7kS9dRzP#s zJ2}DuPHg&d!F~Hst%eRzMV2U&qC|MpHmScG*~@8pIS1U+%$J|T8Tu1bDbgZT)hK6U zztOx+*H)*S$IghOs^+p6Rl}=Xr^kg_cc~1il^Q6KC4Ll*im0dmM%dfj3Btx?Sy9${ z*C({=lasfz`=is5E*d@iwdl!g$ZC(g+{K|`4_lB3G5&vUDm?J2s6je#??w~)G_X1o z?6JGxC6fAe3+dbDE$XuQWTw_MW{yXno-Wcp*#R;s{`l_s_Efc1LmfGl@YjRKMGc|* zkc~QYqea*w^Y3CFh^Xga&cUOA9pSSr;yXf_k&_}4YRepX(V>e(6^{i*j%#21NV}tR z?_F!aX!&z837D&JV?YjFl)iV!#8KV}RaW+$u_%jVx+#eqw`yM@omg&Ih~%bO-Q|{x z0{BxLZoeHL2s+Jn@nblb8Kq`dV1^NoQxxgyBC;BeKMB7$JDl@7t9Fr@HlssP;hpwC zZLg)9FbA_(w1z3+buT?aN3Uni^JKzNWLO=xv;^mwv*9kL4~u<8|7zTVi2f0ujwqa_ z02NUppdv;O5qazusm$Aw_fzLC#_tP4-vT`3=m;5ef`mQbC z(jJ5GZoV-jBgTQ`f|B>HO zQ#a0ONxyG2zpqdWl_8H%xcbeQzlF$bI^s((0#76B>QhV0Vz9sUMKry`*_?x*v21JJ zDgo73N=)VfzeJj80J2Xw5_@*ta8SB9^nocAUEu9}OSdyk5m#P)xBROj!?j1Z=P>It zWrO5odS$%q#XuR0YryAA8!{5?j1ytwA0ddrXFaI9_+_>7YK(f;NR$@0r~td!Sl5f{ zaG(2PZu=|GJE9-*=2FAVQ=*0LZtdZnAy4j-1xj8>kPbP*T5d=@hRW4kC>{A_R%hjv z9Ft^n`au=LfQIAAt;g|(mDir!=OUD+=M+=}k6#dM=`oprInQT;_Pm9VMI~>j?of|B zYCpw&YdYI~d|Hf8-@isU`a<^Kn<0y15%(tZYN)%YP>tLz z!-9|KjMo{>LAIAmRWl#=;BNOYxVaDA=4A?)IXPHioHBeHKMg| zfmQEHmd^rO22eL_Uh4v)LS%cGm`)((O3?4z;Ky4pn+5chzS_3u8D$C_X3 znh6!nB|jsuhx2xr^v4+c=u|lFjTy!{SnPjU04{T2zqRge9-PNq3Wb3pd2K^7!ir&n z{!a+@~&-1cWCm6;Gnwrx>>@ z3RDglLs)`lQZPSpwLxPmal}{7#qg5ymy|7qb3dw0*X3bZh6h^Rne0NzdHFIRBsP*y zH7J7HjWu|Ew_0$NsJDd&Z;F^nK^L4{eX{VICJUUzyiKCMm7X2M)1O{2nU7eV;u@OJ zMz37$-K3fbscvt~WbwnhzF-l2rnJ$s32#x*qiZWjd3@WaPMxdUiTB$Wr_kfCrzty( zA`$Q2KkWTmK<|-OfehoeAXqi0*TV{Gnm(%vhp)w`^}GLw3UK(Q_wy-~MV3Vyeql*Q za_U0B^E|o9%%96}UH^`Ri3Qj5Qi5X!%1a)nMzPj0cOs241YKwX`t`!L|HPyk>KmxK zSV4RI>5HuyTN8VDeuA66>!6F)EcfqLI&+--0MddPAmAnM(%X{f%nH9p0615`D^;{1 zTb8r8r-u{u?9fcsz~1Yx0`LG$0rX#^6+9hpWApcxuhOjEj5*^><^4lVmVs-Zj#hG2 zKu|W>#X{)+ewWj4Gm}MZwNMZiDfqf0?BU4d-@oEcI&$cVhc;3tmi5-CS{!%FI=MmV zIoVni5U&BaUVHQ;O-`eu#;Z5G8pD}s1Jf^p$`#1BFOHY>^rMkJfi z&s4&{UW#ah^WHljZ6D+eyrJO3)|7~2ud*5D2x6jI2z|sX8Un%h>p875Y!kg&Z2!r` zehe?Xv%yJ#ZTBCCML+$TfLzYIvqbH%7Alh%%}~i4#1>!P&}%`tdau)hDb{ypZN2ro zYuZA&)t>F!Ai1XXgf(z*VKD#pj(zs1Re&(aa(FGEZayV`2!LqIoRG|YN=Cg(h3cykdPwLZhwGr{muI6^bj6*cAB`}f#1fqCw0%>0F%tvXHoR^+0H>Ab(?HfJ zyM7YwEb#lmP*7106604)Zu;RQUE?E!)lwWG_ms(7M7i-7XT^xLd|J2TTS0*RHj&*B z+1-xOl}K*GN0J0mHC}^^yDq~*`5b61-wTPSu($M*#?8s+9~mwr|Jb`6d(+{6pZ#Le z)6>feux%B62_If^aPtp)pWDn3d>%^@lX0{_+GrFEja9h)Z+f(1Vq-e1HN3IK_OFKq zOYD23j7$W|BFa!Ne}g{^E2`Xcj)Mc=;)dfsrnesy#J7Ay(01Kn+p3F?-3u|~`uq3S z32FPwvWU=lD1*JaP(SPRQAym`10VUT+891R;YFlTEGbtb$o%jF?wBoed$)iwK+;k3 zm@v2EtJq4p84Y(62&MOcV-DG#b|pg&L5#aa84Ryx z*}N^$H)qlzTK`$>a zMjsEpytZ@=ZJp2(bC`X!Al`Z?wD>wQn_G`E-`3t^v+T0r+`Ejf^}AzSMvqZl&EmyL z$8n8+HQ6H3XQoVi#cN@Y&S79&a_ZFk?-;q6uyA0QoY-lW(HZVAB{@UI?Yy@HB}Tc1 z4j18Ue37(K9IlH{#1sd`IM>-RaBe)Dbdf|;qNrr8of1|{%LVZRG!lgZ+bbo4*TGdqsU!&k*zxO5(4 zXHjCflQR-F;JB32uEFx3xgbxAH-qkM_a(W;9)HJ1lY{0{$Jip{v&XxKCOx9U6YeG- z(fpj_b<%jtCy#k$VQvqhX*J;&fC$zJ}oo@?#dEGwBoP)JP20CqyL1MKb zZC}qBBRfeQpG)%FMdV@01ex32N9F& z+Fk;wY2c1+>FV-;zCZ95d4L3f6jKgc$ga}cP@FuPR^PqyrIL^uBY^`N>rh2E6_C<* z0gFWDd2CZGyZQ><%W0$PB9Q;seqH~Ihs#kq$F{RI5T-yXVf*-zM~`lYy187RtwBrR z0g69a%K%6sJ3NfzJPi^~7qjDhAmRGA0>)4!&I)p5Q?R)Edx10Q>+sQ@z?CW3dw84WPyvHYaN1%VvGVwPyTNt+!FB=B;hpc9HIiV?LT)2 zW3vO;aIV2QO2MWB5tf-$C^}Y^MTBX&8*pqzrGxm;}q;sPSZ;mJ(4i2-`Wd77yHbB6k8 zV41WEbRCRPtEgvnroR^Muemo%vfRx?Gp^0WX?*Jy5a}^TC71<2bhZ2$AuI(hB!YVA zi)Q61u&*ZXW?oS=6KBEybBEhb+0kUsy=30Y=C%hg=#${z25afU!(frD8olm9?z7~FrI-h!FE(x<=)c7%KiW$OeugM}+ZB%xC zqHt!*9os+avMfrEB>beWnYv=N#S_bZxRX?w)LRHR87M2a)xb&t=W#1FNW=nb$hw~9 zzKy(d&ics@5_YhTRt!Z=eQE<;X*b@Fz`h30Wv&PrbRiXJImNZ~^62tHe5n{2H${ZA zDYYj+#{eD&z|OOmB$3&j|6YAO)r*8mW`_c`m{a@<++u+IkeC~KeB$emBl2L#1?z0V z%R=uTq8XXMpJ%U|+lz~mkV{Q<$>%A~lTZG88O`}C!Jg1oi&yzY3%?tKI`tgkX~rx_ zNBrM;v@GGCyeGvB^A54RUOyYZt;m!`^FU;d7e8*~qmr6WzD?Nyc> zdL;Pv?>Z%U^-^XdzG8D6p03*GM13DlDP?B1P1u3@^b77+kg6qZ&cI@}Q%i^$#*0n_ z1O00-ewa-<>~hwwEc@(+G+$-z!7ms^=gj~sfp z{g>Z=7VmlR5~xiwe|X%v3hc>QlqH8joN7Z{*4reyNhJT?&tKy?f08a*x24%Gbb5@! zAI`3ArEC|}BtSC5mkS3;zVl-bVq!*G_p3Y1)>`qRX2~DsAoOq)`fRXc{mIWuhW8IV ziW&S`?Pcgz-iSR@(5##B1Of7!jyEdKK9f6m$w!ud!)1FA(;xY$tzwdqIBpGRT z_elTRb#-9fV8GH-)%d8>rLK7-`R(z02^zU?RHzt5oW+;DUMGHRa@H>vqltLb4Jbr?3D1GL#`3j51$Tm(Ke+vvU?sIW;1)vcwaUy+aJ!Re%~xE!(gpy z%P!`w5TU9RovdG3Ud^`r+@=LlaZtyF9VxRQ*q!Fn+hc*-1}pg{&g;%W%x~BE`<0SK z*=Xz`!OdqGL&4S^Naqvs;y6ea++`o5LDUnPgGRXgKVjn*Z+aoF6TkBqHwd)B*bW7V1^O0e#xwB)^~KGpT~(HVB|@oiqgGpO>svjK9B4ST$m1-(f6izzvY#emzA zKFz`wYU5r1j(x9*$P2DcfV%fEUi^E!?d5vT66}`c{wO<5%xRv91rjT5{WpKJXM7I4 zf|MGl{&A;SC_LWWm-?6|`|kGW)}* zYu5+_2GEJ^+X&-PY@>6f2uHav6 zLiY5ZDme49gP`9nvU*;Ty;a#QgeV4gyg=+DI5Gl7{d<&ZU2u+&69Z_5>RVr!nl5 zRk9k#@NAy?)VB@!SghVSOPY5Sqb7<`@teD2H(#L2M{}*Um(VO&M>_K|UKxVhgnFd- z(tE7s=krg)WbOAre>Zu(Z>;(AyCDs7ak(a9kP-wCrZAPhC@bswhuHKMkI{dIeSG4tTu zVX=i5J;iWM(C^>&A2N63l6yIjsI~COueMo&!B zT{<|UI?|8b7G(YI{(7`hey(vpcR*hJDB3I_`75fx>Dnk(=Qa+uvCSHl$uPb~;narU z{-=F<(SXOdB2j#xFWT7Wx+{VAP^Gxt%fKh_^Xic#r0f-Gy1M5-w;5%U@c!T*Eb&@D zQ`v`)a0EC-9Fg(RkS5i!$SiN@KwlQ)_~hFo){t%O>r%$K|Aac;rfFZv!s#YkDwKZX z+R|N8X7BU^4CG$9aawi^EFNaR;Xc~Fs*^hi?e-BsZ$9E2(PkGiL;bb|I5~a5m~Xl&mUHavpyashHS(}yG=~LjC~47){V0s3N0ufuCwN{A9iYj1;2c^ z$oullo1;I^f60*&~(z%F&VP<4jcDtJ0u~-Ll6dwGXbelN|MFJM_ z>Qr%CYo`F-U}!AyH4mpo(?=WM1v|F8!G>BF`y&5q0;| z$r%(mjP}yn-?;9gRBbv6pB>Q1Fz0gi_F@6`7xLV((5-WJ<4b0nqnOJ`QkY%p_ zq+T0iswnCrtVNYzUXmZ_zEZ|+D&u_dXnck~Dg7XQlG(6)*!Zqzz6f~wd%NhM$YIs( zgZr`SNJ5Z6M-#3 ztgdw#I}tzp6Khrm7Rpi1zE+#B*mk*l3cBH!n>4eBNVMX>%O(&q2ecdOO;Ql4EdqC+ zpfbWde@laCzKm%xME}ZEafysTYi_A+dAntRw~>d1tWwI+#LqvN5?UO^uEebN-#-a! z44?SN3?emzj4-obD+TS0Vnq3r+1J@~R@0PcwQm21L;?d$gP}yV*SHRALmCpkgfxF} z4DLU}IxIl*Mfv-#JuI5XM7@t5@l2Jlfg(`dCMNl-r>jz1lC{N+l-H8X2!wD{_I~pQ zm2f?`(E2k)-rVsBQqbedsN^%KE>Wk>r%R1R@>)J7z@#e`zclmBy+0v@Kyy_??D%U} zT!OE3-UahdRWD$sWN&al&ivPO&^Lq0H?a1RbK-iGO?uz*GkQPJ;?>2<0yF3B6M&gk z&VL0is8VG(rD0*wk2vB6BJoB=CuDQ9d(16J??V$a@2y6`be`^!olg)RS?HldK$Hn; zwC)vC&FLJn1(eC6EQRdL*r_7|)~c^)&zUW)RLs8Y{Nv#y)%l~tzb}Xw2^1e^P>O`Y z-%>M}u6Xt{Eo^20G=ENG?%lc;;?I{>U62aYe$U3xQ4_is%}<@ufg2Mm0HN5?U%L7t zrvBVzey`S`jVt;+j>O^Ij$$>4?Tx!8jPNwcF#aXa^Xt5FP8Jebh>)iaHm4)P=!9|s z*U=bb_E~?3*jn{pt+07f(<1zQvVCG!ZK^m6JQUX+1>Vc*9&*dH#^icePx-9?it2+O z)vO<}WcT2s-Bj}NlD??9J{8sF|Gf`C=@kf@Rn+}+b?`Di>&xdNT1_z&36kYv%vB|O z_uaarU+&PH%2KHTJ%n0AD~wi<_a(i7p8?1KyoGn@ZZx=l&B( zt4TAxP3gtH5`APa&aae5DI%)-E4Z{5OTyqSY$B9#H)TBaI0koteKGX58UEX<#Yxp+ zJiZe~Mlcw4NO1!#B3KOR1usW@Y8K=}b53b99`G|`#eV|PY?GGy&d5$7L32s$KCWyp z>F)L_6#SaibkumhK7BpghHk1_hlmg&c~gO6+T740=ySqn?I@N%@1;#OLwyLTuu-Lk z*)4NiCcg77%yf7m#SV^Vj_nn)vDg46eHIXsFNIHLdnRaVQ z+;Zx&{5)x%&X@;XA_v9(V)nazdZfervgQ^vMt|(~LQkmAWwh7bO`|pYXZvIhNp-zz zV4ra5?`VaLSHSQUr0q9E8Z(vQRij)e1}%i2YveslFNDva&vzM$&UbYD1YZd&?hArVmmFZv?QQla zx3TtoY7p!ZX>mO`cf3dx@5sy$wwXaHEF+e)TJ|NnYAXnOfy(b47*nAPe zj&SEeG78dY^w)WWG$dbW-*E$vecGdv+-AG}6yj38d>~)DfQ2djq%C-$_#2*SPbf?$ zF*%VLWGRc)Wx8M%ZsU#ZLByYZhs?^VafNPH8D9XezqZC(`0+GWQvWc=tZ>gBATr2C zeb--6{o+}DyJj09iCsfY7>u%b#^#K~RDt&6-MR$~qxP7nW;&v(HG~voiv6!E;#@~K z!QX`QyhkYSAGu_p+H^m2?Wv$A;)i~*&`)(xo#lGj+XYO1ra+F7?O^hML`jLyX}Um# z*COm}9P#aylJa&!*aQrx^eL1%bpf1!m4yI}ObFa#l=2gJvTRZA5?}4_W%UmV_oa8x z3h$nOtAP8pvW$|775>zMro*x-!h_2%Vblx9sLEN;j-zr*tCW7-z2Y z`b_u=Bn`DcFo?6_XxZq#@vf#E^B1x$Vw0Nz?csIMos0&fgv6cBH*|iif@R~~a~rzP zoJkWNAlD0&%Y%c_xd1AHYYq}Lm3HnwEKofIcd+AY8nkD4E49-K1}eIjTP1qQoM{Du z_XbD2STDH%{yPJkkNJaN-D|I1$r95{TFb2)PVV-uF#VT-0Q6l+Ze8tuG)5`#$CCKcQ1NaU9o z)d*ua;BR;SofI@w^kvrls0&r}9{~-xLYRxsdG0M4b@dl8vN|WRP`th;sW8~Gm+5z% zPK%>o?f%YFP>U?%eAUAA=3R?Sn*Pj)y+A+&VeXis&}$WN%+Wk#{pTx4*M(%GRPAmZ zTj!#Q)R@T2qBYhL4v+Z*kfRadqo0HjOJMq`CQScgPw%v_)I{AUVYYI3&CW_@F#pqQ zL;``6z|kZ}E|!@nA7$4UOTTk17-dY7*JErCfjU;f)?)`O;5U8`qANt0IqsO;saH&! zkQZ(f`&o;8{K@t^0vT_4AF{>v@;ecQt-(M?d&c!e^M$jjO6lL@Vz`*dLmv*QcnCQr@pi#XG!)0rqEQ$rt@Vt`3-|o6l1pvQXfB6Yyx^H5$yC}`d2*p1Oxc@D-*+;7QACZ$D`_a5BN}< zqjra@&5w-nC?u)HG@|8URrG=1!P!%_^Do+{n}34d2P%zYW=vx!2a)3k03ySU&zyk` zaF7)nd;e!?J1dW&cEY{Fa<1&)Ys0Y?AMcFN-XD$Q3N(IfK|dcabuxj!+M1U{VC$&4 zM8bUqMMad+N|%Oc;b=x|>gc@jT+*)u6?7EO+WLW)Kcw8ltR|N>@J*w<{HYP0)eQX#p)jo_M9#scevtZof%0vMKv zhKsifSWLuU8>#n}aaTP;NVTyP4+oTFXeT{-l7^}*ks|DrESD~hyg@J;5~8OsL3&9& zqjVkykrl7Z;@j=K)Kw-?J>`1*Dn(O>v)%jHAp+EZKnd3LMOX7;N1KHcUg~g+`@)Zy z)w5uogm&vG#jNH!1k(f<@`6jAFs2Ok8t`*anvVU+pv8btpBL9ek)fh6*p-sRZgm^8 zXfi{nq&I?c@y?`+GSVA_Z)&ea(6p4CPUNWk??BTkBgTzZDQh^jvC!%ltS^L?%0|Zq zr1aCgr{SI4qO;a72#xuC6Dh#@G)F*Pw+!;)kqBkh}cpK%Voe&P(JTWNL0yn5G zLb@_K3IX;T?9VUTJMoc}p@27!c5GhHMOy!DA>w+LE|Kdv{^Bf>U9VPQdM^xro3>eb zEgwIMfB+iVo6(xzH}tyaNwo)X0jCZOrEIaji5o1gm2kecXcmOdmLs~;^`#n!deRpU zd^0>;seI8ZW-kLAmdu08p(S8+{0LDSM>O@{$P4Ovp1>^vNMUu-G_e`e({Pqq8!w*; zLpFTrd{Tx8sXKl@Rp+A;+Ke$4I}q-VbM=j^V!lnS4Eqj{DQv|fAg@8$Zsu^ey2`=dm<*Z#klsF@@XddyXSw!^;VxrRR8QxO0XZ7Q5996kH8$z3_`8W#0^ zit40FlGM7@J&1tNe^tGJs_81{cSewnPjys)k|&^#nKg$XS5rQ&8;wayIMav&o}LLd z*-1EuJeJr@7${kM+d)u>Vc~WWZ3?F)5!9HO#wc{y@Vnus2H^^Gr%jd4_ZQokmvzZo z7QYyPgvm50+>+d%Mo-P?n-2xAtF#QpVWA3v)G=wpz3pV#^7&W zukZi8)!OiOCtj@9pF^UN6|3J`!dL28xY$kj3MU7jlb2|axa^yU;@F^Mag9b4@N6fG zSEzd(5QEe_%pMxa1mWvKR<}xLs!xF&1kS!)ppA#VpWX-NS>h6VgAL})b@Ly%zS-X$ zK+2%bWQ&4gh9rKd1X7;eIe^22;nUKjIU≀bDLvr>w8^w!=jK(1Vj|QGh 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 !JFduXn%H>G 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�n$7j&|8fIi%9)M5nn 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 + + \ No newline at end of file diff --git a/ee/api/chalicelib/utils/html/alert_notification.html b/ee/api/chalicelib/utils/html/alert_notification.html new file mode 100644 index 000000000..36f7a7614 --- /dev/null +++ b/ee/api/chalicelib/utils/html/alert_notification.html @@ -0,0 +1,60 @@ + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + +
+
+ Asayer +
+
+

+ New alert!

+

+ %(message)s

+

+ See metrics for more details.

+ + +
+
+
+

+ Sent with ♡ from Asayer © 2021 - All rights reserved.

+ https://asayer.io/ +

+ +
+
+ +
+
+ + + + + diff --git a/ee/api/chalicelib/utils/html/assignment.html b/ee/api/chalicelib/utils/html/assignment.html new file mode 100644 index 000000000..a6eacbfbf --- /dev/null +++ b/ee/api/chalicelib/utils/html/assignment.html @@ -0,0 +1,556 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ee/api/chalicelib/utils/html/img/asayer-logo.png b/ee/api/chalicelib/utils/html/img/asayer-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..56b14d3698f1ee3ce200d3b4f9198f5346f37f40 GIT binary patch literal 2633 zcmV-P3byr$P)Z00006VoOIv0RI60 z0RN!9r;`8x3I0h$K~#9!?OY3RRn--}kxv9n42XQg-w-50J^}NCSArD=lq7%|+VN9q ztPmx#9!UrKZfe1fPD=CMGadlC86m+SiiQH^*U(N)*yNyHh%VMG|y_jAO*X`G=p zZ1^?M#@~WCNOlWxp(hS;lJq3$uHTMWf;fb@M0&3x7AZ+Mujv3J zHtvTxukUT0Ro_&eP`jri$T*%12PUzVJkJz%{UM3&?+{7B0*)i%731xVC`YuJ)OQ3C zO_S!oy6agwox<~crE7b^q7AzsF6;WQR@^%RQE$N>=Mg_uM57wry?@pb^Fu>>a1tgX z@#YHRHSC3%b$j5xn%yvcR|8DjQ44XE)vYnxca~2sukscdXCf|GB#FR#i0`p$PfI)t z*hDL0j%2(;>DgBG3GY6OU8~gT9md*nEZVU*>tAYcUjjuHJ2u%u=?s^5Sj3vZCIrWh zYa~qC^9DS)dmqehXhPyO!i<{N;Tt>aVQN(^#8y;J#LE;Kzez6sd5O2=FS6<{{4t&XwnILFChD$lH9vd;t}6r zlkFtyBc9oW*o^r7wH$m-eWT<4+TAdtx&a(J>ma_W24X69!IZ5#U{ZM{j4#^`k(;-| z-J8l`bWs_MD%=di^Ebhe+#(p5U3fV(wY-OiNO+J9_A4?*H^l-#80a&D8Kx)U8rHTA z(aXhnVh~4leV$?Mzmq((7;%R}=RJy4qa#TuJlF|#&&P=S6govNyNpdFfrk|&)Z;Yb zQK|QIRMk7;Dr+Em`!1M_#G6=N0r!+$^L8+%_%#UISPJOzU|4=JgywEU;%$ICGxDL& zy4<$l^ql1$B47d=a2t6jGcpG89~UG%$QB79CUpygJw{~L&-h@;GuN8bDaii^ACvG0 zto;mC3Czg%S>IEPSTYhGLku+3IB{E*!x?7BBJskJcy|?+!ia(r7@AiMgL4XDKvn?~ zFAsXJ%YoqZEa;V%@ljyv`netq#U*Ue>n!$v#03eD>8^j~ffCOm_N=28%P_-fGWd#w ze`W0{7WHpo{pTo1_yv`FjOFg4vPcZGZP&tV0fyPUA{dli2>mk)pznGl-r5`pT9XAm z(=s6N)wQ2=U6Hf8-ACZtpjV5|` ztI$_5>J%hQw)bao^X*15<1Ha z3#mqRg6&GULNjeAddd?HRgiFyt-PvzDaeR~OIh0`dLKIw+k&--AqFHoZ`mr*$qaE{M+Ow37a3iOCcf|rpfEnXns1)+O-GK45r$7k5;c%a1> zzeQ4ZSmFVL@&(PW>3SKv{%sq&GZZA$SmJ-)V2jL1b|^>~#@ha(dG1t_JrYiv4R<0@ zPI}ApMWuilFTsD*bc-+kEf;k{yE2yPTy0RWJ)*Tg9b+aGUvWXgJvPfg(UM&aUMJ+` ztcNVxC6FRUxJO7Bp9Ir7*z?I`retMmwiq5}u=3TDa552SzMCQQMY=BDjqh`(nbg^n zQVwuI!e6oWf3e(4CgMcQ2NK5s`K%Z(QSyQ zSX!eZq3HjiME5LLbdjVz%R2)J-6fw>#%S_mT%s`i0ufFeynGPx9IaOM_gyg{VUQ#| zi4!&A9O7c_`ay+Jv?85AMdVf5jpq)}(vR&FaVq#-$#@0fGien*jlBF~B3X-KypIO1)dZj9 zgx(+@-$6NQ!5CHK#iH5ug%X1Q!=|xSiMu$uRbfG&*e;Bv73l>NyCMNJp*}T1>}9ly z?$6pbxX7uSEZSr{O+cB{u_C`mN$73zaStGJpBhbmDpwq%+C-sF|6>)CC#}|;AJN=c zte#J+@xLjIe3f$4r55&u8ua#Rui#S!`^wDzZMen_6^7^New7BnI>uB2jn19`YK znk4$Y?s4q-D@}~wK{@Sd1DpJl%1TpR6P!Wb|m?X$^jy0iz6>N$YMD} zB_dxON%>I%t)jy;_r8u36DX8)#*xRkwS#T;gq!6m;YlNja1omNpsxF(Afd0x=a=i= zJGHD-4;7E7uN0iF6y28r<0`y^+EBCv-o;Xe03V5|iCC$2@te{w zc10|Xc4_u&o8qg!K7KR$#a(fJW@)9MEDGy+ns@$wj9>nbr4NN?ae(x5&A13IzOVNG rMK!;8UBpVaFOkjpSF>)rnP2FCoJjh)cG&r`00000NkvXXu0mjf9HsVl literal 0 HcmV?d00001 diff --git a/ee/api/chalicelib/utils/html/img/header.png b/ee/api/chalicelib/utils/html/img/header.png new file mode 100644 index 0000000000000000000000000000000000000000..0108751f44fbc0d06bb639d9383604c601785be3 GIT binary patch literal 507040 zcmZ5|WmsHW(<~ZD@ZdTDLU0cbGq?nT6Ck(+cXtTx4#8al1P|^GgS-3SJ~#th&UxSO zKKHx7_m5t?yH{0p?|OEaqP!HwJCb*BaBvth(&EZ+a7dwWa0sZVZ{XnI9b_R5uMdz+ zMZSu_!Bxkg!3>b$;Dq61#6?uy;E&r->V8N$fBJswQr1$K%unxxCMW;K$_hPsi0LP` zh{anOR2)1(U7zg>PHtO4OX8S-$hIG3YtRv1eb12vI-&%m_wOZ<0!|I)UQTj45kaMoS*2~a4IOP|W5DZd(8}X@>*XlVSW^3FA_otT`j0$T zPRDpOWAt~POD9f>S@e@YTCywue77nnb+%gx76CY^aK(Ow|4yvJ2c^Yp15+U=4)o;k zP6wDT7_R{R2_k(OnKrh#M(kP1*vp0SFZwW_vH?79eLDLDzno7_U(oI;L6rnI3fQvU zbHL6b87c&oPVM~l?jue|4K}w$8|-?S>LXmxO=5dp44w)^a2!^roNaFFq5s?OcDbKZ z!#G`^Q43@Y2lL>H!=*mKa{vlW2+1U{KQUvHmjp+7B@d^O)20X{SES&<_au?!o)XCL z4|8vtWf;>~rT!R4+r$F^p9CKScT!YG*Y9}=?%iwf?Ct=3 z_UU*~@ef2#G%zteH71D20&5Mbz6VL3l@@e4l#A&akNB=q;OSr+le2xT*9NJ?85NBz zB}%cGIWLZOM*23`iRbdXf)#gJTwx3Avl-OJ!ia)%BAf`0#=exY)XwY3R2)laqXuG<2-B{ z-M{P6c=zS-uuymou9U!$D!CLd2@9!fE2qv+v&~Hn*`jSq^EowUXrGgTD&t8BS$Sq$ zWWIU?m>96&e-(?T_U=0!KUwb;h)!teJX?U!o9S>fIxn0Ry{sWy^ef!z!4eK-?p=ue zbwWQLe{d8L*swMxW5k*Q%17_Gz^X$oiyp2(+=xC_z2EzZDC&VWGSdHI0jZ}E>7&?o zQE;`BY7T=@mCv}&rWkX&{Y^2Ehf_^p2~0nM2t{<-YnTcsHzmaJE&!5Ki1DC=lUtsr zT8ki-n1yUfOl<`sD`PR&H_CBB)xqbA6}t-)wFysJ3{Y}q7$QbGCX!V*<{@ChJpR0c zgBjn_h+d@e201w6sy2qre_O-idmnYc6NC0xV5%1N_F$?F8PPOvNi4SrrFsV30j>4U zwg%Nl9axWI{O7=0jK=g5FDhE7pTx!VDAIRUgrDOM=M#X}18vIH)J?0UJO}Ya}^rxg96(s7--=eFs{>m*6{HZeM>)0T?Mb=McEC1KQL=0s zP574y=7h`XI=*hA@t;Iz{doolVR@xqe{(ZBl9)*I;47u!tzUFh-?S68Rb6qFoOcQ} zhs(7eoVv`*Qi&J{1>VV`Ixp5VGn4AT$N6~^O^*?oGiC7x(wc=*{?svB3}Q+`uE8$V zMKnZ^LPa)WfXCaUPJ){a(RdtUq(2ekPs3+>S}4W}en??hHapoOC7g##l4}vyyKpDTJ~GZ zm5~r1xYQ8DC!U5p20KU*Y1i)c0@78Pc-Qo1_YV*`q8R@}nC7;#C%0DY)V<8+M}dw& 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≀bDLvr>w8^w!=jK(1Vj|QGh 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 !JFduXn%H>G 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�n$7j&|8fIi%9)M5nn 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Ât6mT)*$9;;F{vj~~vSZQS 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 JPDHLkV1n4grGfwe literal 0 HcmV?d00001 diff --git a/ee/api/chalicelib/utils/html/img/icn-facebook.png b/ee/api/chalicelib/utils/html/img/icn-facebook.png new file mode 100644 index 0000000000000000000000000000000000000000..5df55e55f1a80f1ee8a0555cbf922d739b24032e GIT binary patch literal 1965 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 m@2JlHmYS04_yMQ<_JD(RhB~o9weN)f3mD4G#F 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 Y62%plj|Hjzq^|@3tg5Y21G0|#FP#g2CIA2c literal 0 HcmV?d00001 diff --git a/ee/api/chalicelib/utils/html/img/illustrations/img-no-signal.png b/ee/api/chalicelib/utils/html/img/illustrations/img-no-signal.png new file mode 100644 index 0000000000000000000000000000000000000000..9723375d8b1aa22f4a33f1998b8d90a769eb0a4d GIT binary patch literal 9333 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 literal 0 HcmV?d00001 diff --git a/ee/api/chalicelib/utils/html/img/laptop.png b/ee/api/chalicelib/utils/html/img/laptop.png new file mode 100644 index 0000000000000000000000000000000000000000..a54d0df7fb4933265cbe46895bea469d182a2824 GIT binary patch literal 338778 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 z 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ǻ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 eWBB+iY4)@r(07w)So>0XzIJYP?JSC+ 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%0AEtX-{4OU3?W47CG7{VyqwQ2AeN8k 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 ZMxgKKJLF#YXbS>9_wPKqjk;wU`G1IkMfU&z literal 0 HcmV?d00001 diff --git a/ee/api/chalicelib/utils/html/img/weekly/arrow-decrease.png b/ee/api/chalicelib/utils/html/img/weekly/arrow-decrease.png new file mode 100644 index 0000000000000000000000000000000000000000..7264a1eecb78341a8e7e5f0fa01350142a75debd GIT binary patch literal 1292 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 literal 0 HcmV?d00001 diff --git a/ee/api/chalicelib/utils/html/invitation.html b/ee/api/chalicelib/utils/html/invitation.html new file mode 100644 index 000000000..9c8c1448f --- /dev/null +++ b/ee/api/chalicelib/utils/html/invitation.html @@ -0,0 +1,595 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ee/api/chalicelib/utils/html/reset_password.html b/ee/api/chalicelib/utils/html/reset_password.html new file mode 100644 index 000000000..68bb21e63 --- /dev/null +++ b/ee/api/chalicelib/utils/html/reset_password.html @@ -0,0 +1,545 @@ + + + + + + + + + + + + + + + + + + + + + + +

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Ât6mT)*$9;;F{vj~~vSZQS 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 JPDHLkV1n4grGfwe literal 0 HcmV?d00001 diff --git a/api/chalicelib/utils/html/img/icn-facebook.png b/api/chalicelib/utils/html/img/icn-facebook.png new file mode 100644 index 0000000000000000000000000000000000000000..5df55e55f1a80f1ee8a0555cbf922d739b24032e GIT binary patch literal 1965 zcmZ8h2~^VA9>y(AOO1S{X)m)y%O=;fTrw8|QUezf$TcMAX*e!z+NilyV-DgLxQ(eL zCZY+BX67zJ;8qs6<)~>ec-Q@OMa8F9%&4(I##?+66K z#l@wjrUtm0L?U4_nMFlK0|NtMvDnkoGdw(eVq&7Nudlqk9OyuGb+y00|H{hB%*>2X zC=>_;ZEbB73I&VB1_cEb7Z@PDx2gdU`sW%|;@Tjg5_V zc6M=baW*zKgM)*yv9WkOJ|ZGwZf;I0m1bpS@p!zkv9YeME>~Aqkw`=&65HF`NhDHl zZ!h1EwF`J)=q-;co*=2B$38jnrp|2p(J%7KeiMIuevBSCa0I3lq!!%cE@XZTmwj!p zo8?me=>e&3)JPINSI|Eem*t%7^su6{{tcUM-j*3_@j*N7GYF($0(W-sx;H%fS?oOm zQ&$YPVUsJ>U0c?ko!;=I|Wfp~FppZYa2(PG_~vG~=y zaPL!f;rNVIN zgZq{fb?3F;5WOgOsYh$z_UHG+N3Q&GfQpOoJ?dTjZ5bEo#xWmKH`UMX(WN}H);Oeh zXOFWQS6dnU7;dO)u+(u0(U70~+-5WhrSNDsxI;$o&vC7`>vMWaw=E9q2PBK2`)FCQ z@@dVU?Jvh0FDQ|Aj~wPViD38!pUXMd~vdHY~Cd5$2H;C=#FuwA(PXBLk1V08LNe!$7lQ@S;YpFhsB0zT|bST zIrmd=6WYqpBpEZzRSne@ga|AA_eN;0*7~b`!H||*Inf<~Xj z(!Z9#nUEB6qoJ{!B%|`n+*9$hD$dG+C`Ygnl5G{S_KE%b?ML>wRIJ%Zx2~vGlkY$6 ze1ay|6D``aVkX8eJWYRM_>sjkdlkv&4TB2?g7fdV)(?Fk8}~szbcak{a4m?=h`P$Z zJ%L9yCX|}LieU2^^t$_X?g%Y3W+BU`Cz4{DF^-Hvuzz>h0yFazBlB&!ddub0TUThu zAg36HsNkOR&b*46$Ph;4YRoQ=RLB+|!Scd&hR_p3=#E5`7ZF8gT&6KD*B&RmZToMH zfsPPoH2dd%w+M<=QJC=q-a_2U%L)CQ{ZE+dXPb=##*&6oX2kzmBHU zxY(?Bf2DD-<`^R|W>JJTIuVM}pVj_%C_l)p3+LO=jdRPVYe&;-x&!0bL2g`}6u?|M zJeqFfDtO@|h?OC;9g0OS#?l@-1 zN&)`ljX?5dE5;pGtdYm}Fzhrka;gF6=-ZlfQI$w2rqYd42Zcg3nUG)*%qQU$kewY! zffoJKL2k&kkojhlLtNe@Z!LkYir;AV9FAlBp7uCzTAX^8WQ&x;RVrq1NJu(ND+aB? z>VH%X9l3Z~5jx^?NPgq1smsqj?&qzQUd}M!D79Q#%rS4iT=#{s{~RaXuZTJ4$G<8| zv-CsOx;>=1*?AEXm{Q?vq*nv7Lue$V^-e$RQ%`@ZMAiPvq+;k;73Fc=JuLYktX zNc!L6W`jK6sEGV=7Clk8X8C> zQd3hCfk4>X+e0a2y1KfD;LsZw82mdu#E=96IyySq+S*!LTK~s^c8(+vGdemNN+AGs zJ`^5RkHDeiuzJLSz>)o%aHN6&Gy~)z8ss6)uV23)Fh4(UWo32i)-6j*%elEZXaI<2 zVq!8rK7Md;fXCy5gM&9WH|cbGQc}{)%uI1{@xZ{q{{H^T%1TX54UI;FTIuQOL2W;M z`sC*3W^HW^4gcfEkG{UX%a<=lL_|bJMlzX93WbuFmseL;m!6)Ulamu08+-HS&Aq+7 z%F4>Et*wfRit_UEw6ruF4mUYDiN#_^M@PfL!U_uudwY8m6B9>9Mmjq?mzI{G^CuFC zySuxYnVBgmDKRlI+uPe48yikeP5=N*O-&6C50glw+1c5Sj*j^Fcyn{}o}Qk;!NKtG z@b&femX;P23NBOQc|+Ew&v&OXJKIhT`n4pwzaioFc<{|1yxm54Gj&Ajg3V` zMeXhFKifH#p_gGEg0``R?Q@}p*ysnxSDNML*m*I3e;2++G4cy*H-IhXPq^ z&hoTcz8{WxQay2D@7`+8;AB*W=_8Z4;Yp3E(0!F6TFrmtjSY3KX>^@fAzHGwSYt36(! zVc)wD^nHR)W?#mM@0m3{cnVXc>a4dV{aDH|`mMV9x;l-97I~8^I2Ye*a|u}uo2G-r zvhp*+cLOQ{-xf`Ii9ELtQ3p<^;-cM}h!Wm#t2Ob@A^i)XGOj@%BDt`c{PFUkUWPQ} zuByba{xxBB@Jye+gzZ$Rd4b*fLV&ifiB@N&uW?nxd%r&tlAQgeb7|G`cYG(id6o@( zQgy$ayxjC~`8L}$_}H@`w}?wRpKl#^_6B6AUrZi^lo`wdWfXpg;#(q&dFyPW{fk~=iSv{ZB5HS3abl>?; z>hBkrwNjFyK5O~_GGDPGm`U#_XH?tbrS6<-bH36wY4vO`3=G9PGJ<$WLF8XPAw%Sm z*R&MBbI*fzM50TKmTON0H(e_Ij4p?Dl;(+?;##oI8S-#tE5pFOq7@$>Hz;j$eo#hJ zdqXDfaINDgFJqg^GnmdF*AaPbbv)&I)xy)qb_e*J!6DUbZEgJ&w$FKY32%agrn(Q{wXltca!5?Rzm(so0l~>v$hIS2?{()Q^X*I(Mb=Fd2 zCwbF&spNLYE5m=EUB~p6(vGiiqhF?XhSo}Ky>AbINajl?Sq4)Z%0o&lR|6dz?-Mjp$1wcU5| zRsXVa7i0a?PV-LRDSamGpKJqlNzawgLIvcB0{5S{5B}uosaT2))0uaOQbZI+8uT`a z_IU2FVH-jnRkF5{6hTWWNH@7nCkpW~!UfHsPN8pH1_X78WtlSsG%+ij?|FBGpzF zBzM`;3V|8XX0*P%jb4dIiUV(wU;R~kPz?a@O=mD#&vn>=7+uiOAUpuR|8vQ4_Z>OW zmR1BvDuQ8{x)%Z>5f35{SnhsFCQ{*#cE0G;vm`&c%l1R)-Kqnn&b>_R8}C7T#i(rS zx%$^-Bnuj;l;CL;(K>07abG+HOK4Hr%U{sCd)XC`6l7ClXsgFp;bb1ydSX+T|0#QH z4+?z;J|w5SC1dVU;;?|yU7HPjS%xit{WQ^xjQEv$)R3X}zW!rwCfx ztu#g{7+!q$pxb$auehy~svW3y)4v77{z!Dl%y6{|g(RqB7^Lm=_n>2tcSDmOMVh=- zR|Aq~y!}th;Ac3T{<7;F8#ehSrkKrlYLPjoO;x?RpY~92jlgMLJ@T|l@@eHC*NsgzT0WByZ(ozOa-ZH@0R m@2JlHmYS04_yMQ<_JD(RhB~o9weN)f3mD4G#F z5_%P>5fLdS^o}AW^saz^-ZhC=XZ)A&N5urpJ1{Mi#;=G_Jd2h-Ejy}Z1b*>rSt zn3=7utqlzgzkmPU($Z2=Qo=0r`t|F~l2=w%AP~sX(o#c1LrqN$^W2S%4L3J8EiJ8x zh=|C@$Qw6qynFXC>lO zU0n+c3v@btU|;|ahrfOMmf1~xeSIeEJ=;(O)@+FBx zGBPp>3kxeOES#R6uB@yqD=VW?sqO9U_V)G_6%~t%i&ZVR(4h&(F`+);1+2<;|Nnc6N6D{{DD8zO%E_)YP=EuP-kz&)3)Y(W6ISzkcoR z?k)^V>R~aCz7y%nGXG3HA(hL8m3gs!>uVY3o{n<+rkZEcID0G} z9^#>+x*xjGkmAm_m~d5XPHk20RYuae&~qI6Cf6r1rcS!PnmC_GwNX_aEvzcPSv|6c zTiBIX)D+2c%2mw}NE1@e{;YLA+-00gJr7r;&gz46VGl69K>8jKTHwYXfP^37vqFES z_Rh*}bAoa>{*JNhn=<7o@M`Hbhe}s$tFAr~O%uS>a2akSUw>~p`lulmZ^QYi^P|YqI_Tl(#pt0KUb`HH%HgR#b9Bu3xP!;JLe@kZm zAxwnT5}ZDmAr($nu)oq6`6>CWEZq2F?0J9>85^418f(dDuvtTPwbLwbh^!N?o<%}f zG0*=(Y;L*K6Gi5Fv7PtsuGfXJBSOSiK#X+FhJn5`3*isxhZmzk2$p7vEp}p{qg^gc z(J|Y*tmNUib|^hscnPF0-s0MoBr3`~e#@G{VobJUl^m2uuCYKyiYBK1TF(c4O=VB=zH8yOVQ{0nbxzaFUS_ z?Jt@J;>R8vnBcrOC5pup5B*XpW%$e87UTq;NWL97^Y9QMNxcv4nLeWL&8zTMgXWu& zR_h;@8OT)aGpSsK&4*iNo4f!TJD`RX7q!9Y^ zk!*e6MUk%NiHlB?M1P>94=Ohrf0KNs{Qhbe@%4EzajW`=z@FeUWCe<50^Pahm$N`= zkpoYObo@i0pY;|B7L6Y#^L`O`d4tk;F7Id9K;X+fS(t---oJP@zNxTXr2bI3t<1rs z1T8<`Y`}AR!TOuwiB*;6Ah8JQawi)wGA`Z6o{Q&nu+8|{bAjdly$8|fxWt>Nkf5da z1c5u!rDkbkel-i~frLHbIOUy&j}xRyAOpM9@+FfSlRwvD`?m-PJ?kw0G6nlfB^xS2yfZ56$9k-m=peHgv3Re(JJIf#jh~aRMGOe0#7zFGVhX_&`=R52;63PBO?nB({IVi z1=n#26r+BWvJa_mFCtH2Prc?ZCH+f*SkXx+IG-B5A?PZSf*0Xj|7c|hq=X74Ml96T z36VMcEhu9wzIr1HC>E|t!6?ZoU5E?qTe4%p(cgKS6(Ymc~j*mFfVuRVnm7HnDc{j%sFf^`D zEGzaXJo(y4;k4I1L>Od@AMiU}z>zEm!W*&o>s1UiN)AzIuZS~%X-oxrdu(}Y@%kEm8=p_VMfGksXyS4S5Q#+clZaBBqSgyDJdZ#0R#g7k3-7*m5`VS1cDTj0BPqx!oRD3 z!5_(=)xR7P_&feh_^ToTQVk?eqLKU`&gJFh&!0bk|Nbo_BSXrZoSbNCYO1QLPEAdH z`SK+&F!1x|&;I`Yq+*arBuQ9VS-G*XLE7j1{Jg5F%GlU=dwZKy^Z59?}4m_VDn~*VnhJtLx(8;`sR3%*?E#qvP${w{2~0L?Uruwx8maB($dnfu(0*@^})eGTU*fT5fG^?e6Zr zeEG7sw-<#%>FMb`fBrlxD{F6W4~<4EDk^$=d*|lnHZ(No>+8qG#Vs!{H#RnEX=$~z zw0!#Xsi>%EVPOFb2G7sWM@2ARcYy0{6 zWoBlUm6h%6?99#0g@=dx`1s`Hahg#l*y@sHlvNj&5#lfE5Ftr}=;8^nse zO%D_Q#FjD-0MP7!Rg?^Z@PvGSa}H^yp<*Ux)JJk4EfZ?#dU+EQ+C0EJ@KG%JQFeQW zC82hq%A7#>HcucBF1t)p%16H656;DXA0zD2KY9P<>xc>;sZ%4POU>r1%~z30FE}}F z-CTH%E=^H^jaVwLSLD*p%kr2Icg7I- z&CSWXIHSCLux-g?hNqSy?XBRVD60Js=_kfEMd|5XS{-gJ6&nG zwbA(>=K&x`-O6rv1Ee%p<9nMclZ~Q`S-k^$ojbDJjcCSJMDvlFW2U5+-0^{`W0tV< z?}j6gV>XL@cc7AE4&Bl>tf)eE;@QHRKt<+M3I{2?%)J-y)8@OVx#?VPcoS+Gn6g~~ zHptZ^K|ZI8aQ+)6x{KsT;3l!jL%m>tVR?~WN%n?K8U}Gqz_e=1JYSHo|_}$sO z0M_Fd2M>d=tAYk}-c-R&t)M+8v?uE=!k{9MqC=$qa~ni%Zt!!WXp*;lzN_(n zy0yn0v8;U~_f6cnMNW!Pj}He*3$itdC67npWnyR4KcW<*x%PL*Vr-#Y*Eb{9gQ(M? zPii*1gbPHPVukKbnc*fEdwww1+|Oun-76Ok{beigrLqWqj)T`g;Yup62=8d0?v81D zJ|2y-P3E$r0@_e9dJN`Q7&bV6N6);exp{`?;5TAp6KK6E5aTX>*J%2~&)m>r`0e+= zIB}0)=g5Z{)1AOL^Wx?J3MPmd3$|zUwm>Y*j^6`WYoS^)?e-H^{^@Q^zznChD1W=R z=4m^T&loGnZqyoa3oHsR(yn=SYV17?DS&6Vz|+W$ZsL}<5rJC>9j(=b=KQ#<`_{av z*VfU{BD6S`l1w1Y-fMyhPU8Z9PHx16TZ*}gf~ZZ_l~7`xOH>&USS{k9kZErsm#N@7 z@<{NO0H~Li$JE|^B_&I9fVR}O7`9-5W8)I^;VC(E$*-^B(dAL&5u&?Yx6gnYQRhAo za<7@FZ(@9Bo%dq=y<(2l_KDwfs+Sb2Z_M!CC(F$@j`KFLXmu2C@4B`#Ha1OP=h;5f? zH4}qI3B`K3ts$zjkXp;@pDT4S*{kGz%Mdqp*wu-m`$Aj~4{pJ;s_S>@%YsXTu9 zwEN4+=sBFOR~3(+doP(9%LCEVWQ+;qm?qXK!PTIYTDv@V?2!IEGRj1y-`R&XEtxsZ595#3>~GHV^)$q%~518NRT{IPTblZ*XAj~rfo)l6X) zx$YI{b;I(Y!4dH-iG2_(?k2&L3BOU`{eFdh!)+I9W?WxU@3$Ovb3Hd~eMQdbKlQ1q zX@GHG1&Gz-DWrYeP5M2ixg%u9d8;^TgeH}8E+RVq!J{;Q1cJ!_&>##Bsva*mi>t3J z)Jh|drEeajtf=hv;%DoGw~CO14Y)#CFNt{Sgi6nW_>3}8THk3k^-2zUD`)*izc4eC z5mIfU{GO$23UBzEozhiKR{BWj$oid8ZS{R7ffEpPaL3mzTTtQPLvy8-Y5L__hvuTN z;y!TdxF_hB20EuXGo%@cW+A&3;sHbFXk~@)8lzcWR%7G%_uE@w!b1YUtOyvRFh39) z3(E-M2T~=zS$(w$YAnUZJO(LW7gbWmP~)^}OQ-Br5}|~$DHY>HC|$+ueOCxnx^k8> zED`F2n*EA|!5oeyH8ENiwx3uvNaoAO?2%1AS@$GQq6zGlar34>*o~1fT`<4tbLJUM Y62%plj|Hjzq^|@3tg5Y21G0|#FP#g2CIA2c literal 0 HcmV?d00001 diff --git a/api/chalicelib/utils/html/img/illustrations/img-no-signal.png b/api/chalicelib/utils/html/img/illustrations/img-no-signal.png new file mode 100644 index 0000000000000000000000000000000000000000..9723375d8b1aa22f4a33f1998b8d90a769eb0a4d GIT binary patch literal 9333 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 literal 0 HcmV?d00001 diff --git a/api/chalicelib/utils/html/img/laptop.png b/api/chalicelib/utils/html/img/laptop.png new file mode 100644 index 0000000000000000000000000000000000000000..a54d0df7fb4933265cbe46895bea469d182a2824 GIT binary patch literal 338778 zcmXtfWl)>n+jN4vw75&5NN{(jXp!J9#oZl(QyhwWDemrC+}+)a6?c2-@Bh3XGILL6 zGP#fJp55!(^Ih@l7gQtyBme+_DlH|h3;;ku-apa^aPQyn(uL>)0Av7ZaS;`Fy_0st zSq4p2>Lvy8)eF+~x68eeEh?V)k3%$MfyyYN5yi2QsSvg1suJW-J?=WK{L*s0CDpmP z^3!QXhLHlI*1BXWP%9QgOP;?R670xV2RU(JWyh@0yVtGtFz$ov$BuTlRdx+PmG_sbsmHe9)aybdcr~xGBPmn0GmS|dLc@v@Bhy% zzIh!kJigU;<}q1_hbd(@$St9l& znqXES@#rUshbP2iNr+6s=NxpQ`}LgNdm;D(F#IBDU!)0FNbd(%D&98nF}n=o#b7!j z|GjH6OH)rp=>KM`Kw>k$^Pv?NXY7(Nf@}ddzEe_MlBJ&_2=a#T=N#(ZsR3PR01puW zd_E_LlKf&5IAQn{mOSX@y~|+t42x)J05wsEY@KrE5YYty#Awrm693;MpnQLyguTv( z^rvu>7Las{@+W={tUYyXlZ%W7+bpDhG$vt=wZcL~IfI3=xIB4ka_7YlmRm(CmM!&Fw>Z?(%lwqkzidD;E2V zs(HyK8tXDt6Q`WU-Fjf5t#Awl;0|CU*%(*b!FA2qD6Vq(_Fb5^^ zMt|59lP}qLeX{dfSu3=g4NXPGyuTDT06_G!n$Wz6-xt&%tcw=kpU|$Yy6ItQVqI>; z+gCG0%!W7{M_f-?rEfvi!~>%XrP3Fv5&hhII;*Dd?4_>q?SxkUIl>3{heKX$6CQ3d zW=aU>7+}2n>P=*#`YOVa>9ZjFdXN5g-A`yISNLr*R0JK98~AT|5D^~j2mfzJ%3+fI zX?@gOfT7h(6MOWMFp#;+SmZqD$1B962c!kE09YWLRSp2F?8*l875=Y}Nly*{c;V3O zZmip2(nTh~&sskNH))#JA^7$CG=0J&D1`!gE4+~*qW6uKHEL#txAH#_ zM4Q1F)OnAM><3$)(dP@K3}1T4>-x3lT}S<-nb!?Q-rVPK2N?PQ{?O_HxGFDt8eSbG zC+1pXxV+)Le2J_NXbs<%@I|b5Ak&MTCh5Y&`!xhne}`#>s3k5Aoeg%hZGHRbRU}y3 z{$ce#;NNKN{r{o%9X0IHfXE~_*L15AnhB=TOAm^Nc+lZA*;ahU6&?i5#m!(d!{j)$ zM+9%(so?BFx#K>A%@b|=ycN3X)wlh2V#CScyG;i1Nq+iD!qpmikXk^7I?kN3xaE*V zElqf;&%V%r_Fen!J|R57oj`xQXExdx1`gm(6v%U8`9F|-20`(J9=x>rsp~fQ`OW=Z zX{@fD(Mfmm%?xXUtDxhpNVGx%Cc{Ycu*@A5ufE<3j2-zonVxF^!cO@aPz)Au-MF0= z%n*J209ju=Ub-o$gTj2mf~bSei!)3#VVac#PMlyJvN?3-aQ8O^$!-YOoqAA9nDO=g z?Pc$71QdXMlkop>ShyrWa%4`-OI@lY8^_7hQ&mk}7GYwLR-m3H{DVDH`bHLpHun7& zKHIP~(47P^+Vr`b!V3laKtPl4i(dBHRb544JaD%zB9x?*3C;miYS<%H*%Kp_R*akM zr#l85OK?!2BCb$YRHPSzYi@kP>sf7nvmpRd_@|E_<%yo;AN%x)2@=`=Z({VlVJe== z(KA|CKpn-P-4=?$ku>UP<#6LTW&(wNx$YWHJC(R|a7bl6JIL~htY8pJeez6 zQF5-)>5$%MEoTX+yV15Z({tZe5~-1GF_^hNNdkjI61IO_-IWNZn-yJ8OjIH#h-Z;9V%v5Rc#gi0Y#+QV8&Wn_C!0 z4fM8gmF@REZ>kh&Xd^|rgCfkD!=^P6oCZyks9Ib`tjWUcA+=Sb7cE?gK1tLC6wmMd zRyE79$Oh{Nu&Ivv@Z<4_$7-R`?(puY?`iyxp%&3i zMJ9`vk46d+de;9`7UO$@@*>_jiKd(^>C=Ww1|R@UuRaTNhxuZdsbiO^;%R_u9S@GF zYYUk}d=v2>=P8g$^-%vGxn{kehUy!Qv{sJx{B#rY(pgDhUro&4^hV(dhqG0{E_r-j zcr6&S>jg1l(pRzijQJ~an{eE!Bxn&Rz7@O`VQ2rk;?6T&jz>MO3Yc5Z4#Cy~Vt)H` zP|Y9@lbBNENbagM&qliPDqiAVux6g{sUdW>a9!|7YEI$~SO3I8{!LIS07IxCk02VW zUY;lhy$fL<{U(Uh_XIt=SFqkm%6$Re?&aQX$N47{@1f)xlU?7@Nfd~v1b7_0{kd-klT!$YwcOzxDzp8j$Hl70$tojF zqLV%JS5q4*ys|c#1&%rB+)nTu*Y8;X8o#j{C-CDuWHC0mFI52xQ|7C47&sCSKSH1YUTM>uBot8~9V{tN(4~+v>wJ{#9rKBQAad1ta0o zs`lWk1SMNu19)Dq6RX<1(vUg$RkWQ#wF9dfAfDv-)ZyacEEuPlwAxWrlJ(eppDpCv zbNrgh9LN8^W4o2&o!mO|2< zV8|+>SXb5)qfC107*Q=_Urm-Z?oKUrtFqF*qG=7Ju?@4QZKxl;~BLL>$><)-s^)x1^&r<`x0@o1N$|v zjaI?Zab6*;hu@%w;`r%^{8-#Qkb1ZI((%$@5q2;rc_iAysWfrCCfHJ|-Wo{Lb1Ma1 zOQO(gIoI{re2~>(@QW#{8d5QSDwm0z=Y{RP_?+@5uwm#W75AYi~h@wpAg?m<&V!89~L2-0`uYPq=Xb<~oHBmmg*InZ;rO#nSiCG0XHvX1fS;)!a^yF|Ge;^?|B z&&M1;IhimPNM4zg@{KB?=5;qIp;{N~<{4D$;{P}a6m>Hr|Iw0UL6Zk_wa_4^V9dCK z$=htvvMj=aFFO)vEX2zQZ);;F(9@KD$acGz6{HAwLUxGc84?H`Poz@rf(ug;FyEi% zmKHkSvg_FT++l<}W1m9~Rp|cjBnr>&GW?IOi9Y&g^a#1XWsiZq-Ti1vpf!Kb{ODB= z53({|$*2VMiR0fdMSfSe(7YLTa)45)0D#ey|Ja$GER}>-P!Qw#yQAx!QnMd2sKNsG_@O8^Z&q{?$*IGL5OGi;5yFN zzp-y=0A?4zRzwAK^rGD}3n~Od%Y8g2(Ec-;UDyPqXeIcP7XfBxJ5m12{g%TH2hilR za0#b9P{HcE^Sv*(dpz8F`p*Y`{D*^Vjf{};e@dPEJ0*nEGTURTw89+x6cD>tI-&$r zJ(eIJ?Bf|ptCax=sPu(5Py{vs>zyl_Ow>`KaIzYNGKDq0>_;tC7fZ#As@9gV{FD|^3zmJ;!f9R z7G~21Bf^bQP}Ro;AYm7}7ovvov$rF=GWEE($g_r*TZ0Ie$_SUt>*1!J({0Mq{<_|N zH7)_I_LgbAvrspiP)vgjwTy$4)nAmeYV_)WFOjfM1t|q(Sc(UrA4B5Ci-=zp?}|+4 ztr69`7z-07vYdp|hQe-{0Fb}XVdMn~9asB}9ft>@c9Z`sv;qhU8sKf@K+r(&&(y+5 zY!Wx_PL02iHXEs^Dk#Kfr3UIO&7aPxs_Ibjbm<0_Wi3o9wUHV5x>?3RRUNEx5=GH6 zYAw}aIejF;InLB~^QAN2d%(@@C#|!;sb% ziAr*FOhQGhp{0di9=yh{Q$AH<9`E?cCZb=*X$2=Yq>_fT*!Ky;Ix@LF@>q>pai1|s z8HCF!=@*j&K)GeI6@z9z37N%m1mrBeF{9(g#~ubT$g3(Nt^##jZzo%%S<|YwI@hUs zttf^JaH#Iiu5xpF_AA2mO554H!tj#jqy(M*`f4WRYptea=X#KH{w!I)_{pVvH}d%p zD=`|M_-4XC=qNOUIZ@o-Yj32$`!j|wr}ZDU3By^v!PYyVeU&5=RZ;fRL$%pMT64z` z#7z+f2~fS&xtnxuj#n75yW>Kz_ zj_g#qBqG>4U~NTv*tweQUbLl2k8#$u|HR}R-!ZKYqM83AIfcpcqc&`y!7g+Ekh{^2 zMSfINlWGK8kwDJKqVu7BWI0{^Q|R2WM>!?9TV!s`7CZ2T_tz08dsfGQwUEy`(4tC6 z7L)ST)%OT=86$YVzwmN&_;!kC$}PTm|Ic>~e2(tX`>!ZML2>Rw+HQP17{|xRSYmH6 zxHX({Ra?7z&}ic&uY{E!2y1q{TJSAVMm3uoLJsxm*xTO^2t}OI2cO2uE9J2+I5gJH3V2YL3Hz#qqCeDSMcgM__IMv9+&yd+F3QCTE z2ipGU>-fxWQT@y;NJFkD`VfquHrL`zCMoqYJs;d2iD`FgE7}e3+o-~0`9RcFEFTfz z1mLSg-F+@6WoED+bzT-a2sgA=aH-y#I$j*MQQ%SkF#2=KZ_%GsV<6!OE8MRAA!On0 z5!V49jTE24UhH zt!MXBv+uvyYoiHxb{XdB$770OiR#~BiRK>S0soYB9esRcU51m=6&LNRsQ#|^5x#6k zz*!&@sj4X2ue|JMrq-HFb1l6wgbc907mu><&dv%cjLahWz~Kh)OIr@f&ZdvYkSQWtGtjcr@NB;aLTK6L;*RC>LsU}<)bhCmH7GW^Bz^)Gc_iUSqTCl&nLxG~HR&$!?Da*4fW}Op0mSL+y0ft~l8m6odI%{?BC1 z^6K}Pzt^Z)F@*`ZqIQ~T>ksxQ^l43QjHEA2Y*zF*2%@07Qp2%wtR-GjYLsBm(G1G6 zJ?`cpENb=yhBXMS}lZ3gIQ!BioN-&@ff z241iBI6q{L~${--0EnuWP13hCasoGH{A1S>*B3TeY^|YT<1S|f;g{yhb zKY9xbnDb`_uNe@OmRR8y4ye_d0QeysR$QYy)18ybzZa7iNIdQIPCob<|Kb9;%+e(p zTx^aMZem~Q&xy(u9=Y6)Y02GEso_iolf2flMIiNJV_jw}xvz#!q2_}z9!4b&WDV#A zfW7QVu?Nlyju-ps>z9vrnV&WaKi4!oI*m)S?i%8mX~AR-N_ZCZeM>p}cl!B#fm!#R zv6->(xibZoGSG&bHP}4cg^TJDJ9hM{q!LFo8vUJ3NU3)}xv?yt90hpnr5ZhFx-I22 zSI>9pp=u&T!n_?4EQB^2z>jkeE-qxtjA4Dj_SPj0GR2O?VDi zl*jZs&6ZK;`-%zFEMx-k!;}DnDGh3vNFqr9vY%`r1wVn4o9zQxHZ0O}lBs75CJl|T zhttzVFsfSM(6@vs?WH<*AEK`@jg~z`-LD?WAIcA`9yB4s{eemJ!%Y;7S&t@}Yk0Z1 zv)6~-4;>FTE;*~CwLpMwx$J~EpiNo3!^Oo{Z6TDUreZ=<``G8?P(K?wmS$;`gy?AD z%eGI!%!sm})5U{wRR1z^N&}k~fg+Y6*WPmoy6#)ZT{eX23|H&R)0qItCLv@Kk=vq& z{B6GW93%dJrT^zsgjM$$`MH-G4{0n9J*kV*+CdX#tmI&_d--&#;)PZr$`i_>&|)=>6qwD>&&6hJ)-Jy%=|lKH z{4TuX@UczgG0#C}4XB@`{{;pgK*=~y#+Quv2=ETC`A`&qEu=ZZPE57Le%A;l4@IIX zGO*E3EtKooYip z{F4}szXP3BOJiY)fx;XwA+i_YDOv8tsTc0HcNMN9WGyPK10!hKN^xdweF_E|IxJ6! z3}5ned#i!_3s`f67+JY@y`dfzpS3E6^}W>;7QSJNX-py zT&5&gog(qIZxh4-BpX06sk`~i=+JRgF~B7F1;cVp*`A0i*LCs`hhJ*RxUI_n;>E>S zfq@haW8~0z_*!7U85gPfcv=i*+Xrq^d2vMov*V)2uJx62;NkfBVSaD`+CwJu=y=iQ z5ulju`IuiZ;4#_rHw1w{?%z@KUEE^PG_1>l$lq<%am2h%T~|x0iLUVZI%9fH-ZCo= z+(8}0yklwVN;*CZe7>HkS(g6|`U=R1uNIzPN#Zd56*s@D`NUk~(@y~0bmk<-u~Kk= z!fT!&o~eMz=&z}kl?2uxBOm=@=|4@lDv+{G=d>v#;&PICLKI}MIo^h)b6J`m<-a@9 zk}Q(1YcRnJfx?tD%uXrcAGKwO>&7G zE-EH7Hpx8+8Byt^V?7>COCEvsr-aa1+cEpTj$hZ@F1o0pl6_!09sOzEquMphYN@q6 zsc!}=7OS0`rKl-!vazHzZsc6+5Hdp+?Kod||{ zj_;L#5m0lY>Q`xzn@`(nQ=q5`5ml?_&`pQFI3iTOo}=15FFM?p_>xb$fx7r`t_4UC zoVyP8qh9Su5lBLRqPM=gt=@m#h0i3Vh9mFhTpniq0X}2J^xN|mIVu7P_LX;OvI4EQQ09u>Sy6U^mt=8^fs_}xO zQTGF5?A|hcs|s`ftsja(BK?y)0nE=-n4ml^5m^n>lMnb({&mytAOJB~^|2&*q=FHx z3|qCD85Tr2{Qt86$#9IHszVZdJY#Eq z+1zb+q_NF!f6oNI8=|Mbs{_G*>fqx0PE|5F)MpbI+qT1oL$RGx5rwN z2uw8L+nVG-ap71As(d9O6XnvL{lh6_&*$b>h9&Z5>HPW2FMkh(Wwnjs{(`iK_|wRl zqZQyr7FjESDoldcC8#`m&fNJbxIa@qOUHbpb(P3r9#4N^X-durK&+h8?iRR%+x4A- z{Zw4dV)bYAckrQfo<4bn)IHNwbpEpLV4H=Bq^ZK4G{JhUf?@;fZqB&r?1n_x-6_W+z0w9{i;rZj#fW3WsXh(&UVfl~x(ygxqc*1)H}H zEwt>F9LAqjhcfr7m8crC+w)!7nG4|Vov2)sdThQjwLXM!JrCjDQ@rYOc>B1XU8D%Y zyZRk(jE#+5u5xvHSe;JOGZIWJFs9j_c9x|m=xeC`GV2cd+;_VZ(fao>F2?80&F{lj z)myYYe0IWJoS|Z&*}vM9XV!wDnwdRJ#{v55^JQJc)`0v;40C{#0@l^_>Z!>Yx*zw&Jcl-ow0!i{KAS|C|Xyohp)`VNUK ziL(8^T^@pQ5{p;1l&yuTrw4p@=H{za#K?7JCYCXxQ)>-{@Z1Rg4hwuj=Y2YU`s4k! z*r0$tSQq6GT+HJ}Blk0?LO~mc2*Ia** z;mG-&@4&19K;`QC->W68HNBFv7b63TxU{TxcJBiMT^v)Nzqxp6kq zKWjH`t`K*@LYHZ?DZ#X_wVfuV5|nEEQshJt?gEg_WS9=OL2(&m#u}*^>pbGkj*jPX=Q4V++TAY|Pdtnl72>Tt||{LBE!#I(ya zwFPlEoI`oGc^dPqK*cgED*<)aBx;@B_Wh{==-WCQ1T|jR3V-?%S1;3r=b-Q#`nHjdwdq&^};t z&)9SuWp&WGZI#Wj?l!L;vwwAv@arfb;p$<|+}T&A*tzNehkpP{FebRR*!y1d@5_n& z*>eSHd?=};pI{Y451Ct|I|Jr!fz1Zty`?-ee$TuCCWGQxbwBE$(}smE@`Qa>>& z@mf$|QAwOQx2F?k(PfqSu}sp^q&7g*uZ#hS41qmT>2TpsxpKFnRmn^Ed~tb;T-i~T z+Myi0`4@aF?X@(*Pw9zHmc}auK_qB3AHlD3G`~Ti-l{9?FrI%I4st(2FsfAViFdB% zO^LsJuPb#yn`+juoOP~PWaI$&e}|xRcw0r}%QccOnj?_$-46Q}G?JE?wWP6eh~0Wv zw&{K^jm%>c95ESVX&GYOkGTq%fF^@J|2h8Q$x#+(en!OIkeFWu=2wn7us%QozB8=P zsCxDyWi6`lOAn8$Rm!1t$-1}eYu6@J8M*E$1tx?k8vi#E^x3!2IEn_6HV`Z`XS9Vi zo(^sa4xGWacA6!X`oZoEHOYlVy<4iKoD`=LS9@1*Bws*r#pM#NRHic2}AcY4T_! z8FqTEOG~w4xb2qw`hKcPiTZ&j9UIIo$K9`+ECM+99;b!S4sBPm~vWM8gpIjm{>!I0v5Hd|7 z1MG$qRloxd+|fd*d>4k0nZ6Y@Wy+b{@4wD498+K4D2MVXYn&sQNMG-^xqGa!DhYS=p5mt$r0#E&0=sGyJuH ztD7WMbpCjtYc`gpRFXKhq}$!$VzvTh@iUGp-kWGfj)2V#4n)^0M*T$>pI*!1`s7Q> zkujpL#&m{XuDX&#@1~iT((a2rY+=6zrzlRu-dTMo91wD*&$*_y; zhtcoEOcX7SMPGTIxnbFr0Vf z@DUyfI1xX``v<;+eP>y{g&S~XiHguxBa@ja1S|rw!?GJo!IKpSiPR&gi)_%5zp}LVc9@qA(%0c1|G0Uy$VhuD-Zf5bKvXz`I5Ud3W6gWoOO1zK0qh*_ z0-051BwZeGND3Djkyg1$y}5Q(g4DwGjj_`gX_^}2fd%(tKNM3Xuz#9=#;W^0bHCco zll+BiK7ogWJi4*TDsBJgm$!SStf%kUk5i$iUX`C0URM^mRrD^~Hyrx*`;yySTbdsV zFm@du2@9~4BSkcII5J$lh$^L>_i?U{BT~%kp@pqCu+P4n8g$rs1^FmL>KpHn{a%G$ z&(Q^4pH68movF?hq1|gX$`ocUPyy%c0@XcrU$YRp%sn<79hH<+lS66L>#BVuHIpW! zX$9E&+2Lt^7Bir_VJGl>6!i$CHP3vwtRp(E2BDsyeC!rmpz4X30@BRpilK(hO^l<4 z3%tlwBeY*S1OKwAHjHhhOn=o(aw@=g@-<&#KbAl+3#GssH!$qd@+yRU9ZOP;M#>r3 zNhc+H4cW2Z;&QU6lG0kp7ybnW@E>9Y%&sd_%Tvy94#SLQ0!ex{L5_ z)^n`YZl`Aa0R?hBEix^}%V7wu4UT9*sl$!$?INk}@(2;N;q`CrVXBJVkL(IdY24j4 zd%9y3ODcY3gUib3=%{i%3#dEd94_E1Ettg{rw|oJ|Id94%T#%6&zw2s*3`qu3DT5< zj8Jz`c*i_STX7LdOT!Z+Uo&3Xy*65i)>CAAc{p&A7wE@T2}#@TUOKPZCOQrTzA(Ps zx@Gyz?H!}yw*HrC-E$}A`Ja@{db&#GkAJ7*Av3>}r(^~wp~oS3P7>dfxa1@r zeR_&Y>lIg_*#P;OQLqdw4ovylw3eVka{_NWh%B zB^|MoN{l!}Sbd)n7a3oHx}lskF0TOPI)c{Ih0$FfU(1BCI+M-|_z2J$y4M`jS)dXp zC5)WoIL0abjZl$j_|5Ex(Oi_+G5MU3A~3RF?0C5@w2D=;>dzE`3~N~tJj_hkgu!|d zc3sLxGB$ZMvZ%!d{xHWQ$jY$cG{j5&FCNKF<6YdrH5G z4-%st%#Xi97T@hNQS!we{M7SV2cw;d5!a=NFK)aptx6Db)u*+xNMLMwf~O{>Ulvnd zt$d$j0lJHWM!1-m92mo@Nh4t&2`BU5C$RfGByYV^&smQitjLc;MJ&fdDjY5+AI3mz zCJc+*%9NpJynpetkQ9RFvy*_iyLgVj>>D}w9>O`D1%$?gD?K=j#jPZM?t(65N_`^_ACOV31nx2N)0lkn4LMOUGQx(aM(Qrfyrfze z<|iSBc@9k9n$Z;*EU$xH5vT_PEIf(c9J8(u#L^s8SBi_B%Kc6vyzO<$5oevNGvmi8 zB>gM34*uK}EKJJ;mqwNbsGVpV|AF)gpa6BcRUYfNlkQKJ zN%TE5s5uD23sDx8j{*<<>eCKKbEC>nYF*qi+o`;+QonulhbhXLqC<W$Vz@ zC`-&-$i991Tg`LpRlY%9E^@6>k%Vhbx3IHolwmy6<3l~EsfXl^6Y+MnBXs@p_Oiuy zwo0hn)#K@y`(N_b2QFkM+Y$4A>&^4PpW>|jQ^VMZ^7usM@MQ+Z?{3b1hAOWVMRg~W zIszOK&<82(4@IentjE7W*kPS)nL+I31Vfq;tk1fd1dyDHtZ{I2Ll+<5`o$|e)vS%xC%^Ql)T-#86iGeNjCq#GeD z255lb7j7DR#Vr7a12ja*PYgScdxn!dqKP$PzD3*$+RVk{h|OFe?35S0SxTqPz^0fZ zxq|D=_cNJ9xx>J@{wroDeQS|m9D7O9Dy^eH`iVm>e9kvbiYVJ8F+o2DLq*6wl0~F; z=f|dkIcPEA@DYMNp{MQClcb;c>*c4A$1T8bPePCCZ_iI?8=mx*fEbQI z!M(r1JrIS{|9Y8%em#FWBmZe7{-iH&p0XuXR1zK@kvH_q2^}4DBW8d?!U7VSnua1cG0&4N{ z1Y;!qiKUmo!&QA)N}1OCu^izPuC1b#)|kDp?&8YauVT1G0SyB{rm}`N;K)C&5Blbd zvKqTo^Gt}Eyh3v&!7#HXkV=VaaTA^9sEtouddSv`GHmOC`c1vlybK>-ytL2pRsyvQ zyNbIjHVg~K0au^;fEOQYvH5*nLMvtmt!HflkXRpGM&Fx>x5l?UuYY}*HV5=p-{1cg5zywU zwhl@BGo0?@V%9v0h#0a+tk`w|#K^~;?1_gb5o{c2A@)RcLQ$Gm1g+Mi6t{!dmcy+6 zXCx_2CJeC3E$$Q3&AL(8$MAEj8tt12iH^b}X(CstP6Y!t+I7?lLI>{`RyZ6aX!`>n zY9-?!^72(fqH$}isui^67O>F!LyI+nRsB3vi*AZC^U@QUg?0j&%X3NuFiN-Jm#4?W zKVO4pWGA-mY!P=xnY$zN-!kPd^;*}&0`rR#%T)u-3l?k`*W&^QLXVc0E687tPPZ~r zZxi@nN&CM+LzPU`GrLSIZnxym#TN9Y64=yJW9X2`~shJ-zaNFSi4kR>GIzY}e$q*H>iCV@Q~_AE-A3al%BXII znKlB&e>qaak43~0gLbtA97hI0<3Ncq{yoavrxk9@us1LZ85RHrv%10|IE}L?VQU4o zL>>N!Slmt6Q5E?nPi&HKaah<}G{}J?bx=Yk<|j#@=8uQGPFQ}Gd#0W2`1J$f3AkMQ z(ulUUJ=mJjvc`K(%0{=Ua_>W?a6(UaN?gCnCxcuV*&RbAJrEAD!R@>YjAg;Ki5D9* zUP=tB7gA8WS_~YM-h`?AHh{M-KXtiF#aKY!o##Ei4YIY`zDb0+fnixx1A4m=HyzD* zqCC0mghU?kn47MJ86skw^-raRtM-`RjP&pi${9WL!y~omqJ`5TV?SoBm7X)pMW zcs<$}C&0K$Kb>$gW=-dneq7U7OxXiZ{rE2tsnZrxt}unr_O#agJPX?> zK=s}^5dEq!AySb9S_q=hNd$*TUu?)g$N8{XA;CMpjAPML%Ow8Lax1Wux-zP^g!&!w>=V+P$`JK4fIM<#raBzA9yT?wEGb6? z`C2z8hgdw}hVr9nra;?iYQamFk(Lwu>FvDcb`H)*j-Zs#mCniZi4>Viw@(Pas3KU6 z>Us_BjLx)6pCmE~RqDC@EZ2U$XO&S*9oKI3sA*>6p`d~j%mw8m$YjASe}WHw^Is2+ zYUvtoC=#$-%yR7<7-7_6A3=-yEYcJ)a~@#Bw)g9luyEq3oEpm+#^nFzvD3Lz+8M{K z$Ujt>wx+fa{Nc(PN430CUMZam8(UB9yknN4tSt=#-YR`A&$NR*CV@ZIx4CiEErtP9 zMQC_hmuix_m_P~4oci*5bCL{oTxf7gQt~iozdwmLP#dRqlVU7X6z9I&hT;(w6F$7O zo+ZNHLG}dw&h+6Sz8hg9dzBlPOuo;Ze3wH)MDG_MT9Pup_K*NJ51lzfo8P-Mq)3)~$e~|`ZO=URZ2x20ERATvC^EUx2AnEW3uAtvLW4_A z-*Dhtwi4t1F(C6DEjK>wkOmOMx*+&sj=KmexP*<#o6492Z4rWcCVJOD?KeBm%U#Len76) z^`=VA?HNB@F%LUgHlX}Myt|;#7AU!PSzs*LtS}OuuE|zz5jp45RjkHEUl4Yq+b>*_ z8RLrHy^13{dsiA9zQD|ym6W7Ht&}Q(Bx=u4rC!mXzQb~n1w?1{g1fgzDOf($nwiaK z{bhMtlwD}F{D=>>NUt3&sQv3NCW|>+^QAkgI5>*9x7p~4FOB_J_6alHp;17CTf-_Z zv8kGBY(6Qkb|PL5+6uEOv`l(e47I~<8D~7PWxR-Doz8L!Cq&P$=&Us6Q>Pc_XCc2w z=Gx1#>v%*i@w*x*zotJ6k7K3EXk!PC7yWP|q(NVtV;Wjk-b2YU1aPx=Cnv+Fp)rF8 zBtDS_NiI#dUE8##ou;&Ab=?PWtac@I43}y$Ef` zN&KEUO{a?Fzhu)|IzYIWprOm>T!abQa43*wW0etyn9NivSEbLfaA>s@7MBJ*R5{Ui3SIm<@8j7v64YVTlPH@7sDFR{UYI-hN0j3L4 z(NuF;jYN(9gt&ByibgWV66{Dhv!sf!Jd9agW)~#N?SN9GquHD^BS7hr^Cslux`G1l zBAmObY7NqRWLLFCwYzOWg*Eta0UC&lCkfky*IL?@nsn_c2Az)PT-U)q>>hM$2KQSo z_!J%K8sp@9JW)pRTXuj=;XUB|+$a=3xcGN2CzLGoPqe{EA4wUm+=~%+3e?592OSB5 zW2a&>wgB5RzOoG-2Kvcp8pYd^Lh|S>P}YE+rV7I^``CS#ALDJ7gyQmdl#CTeeIAs@ zRy&g338@^+I#{fT6zM;{XK-YX_#djEjTY2MhG+oUN3bI0VJBCtw3ckOc$As;w)&Jw zv^F<_12jw3Z$gt*Qz3}Sa)UeQNGRuF|33>5<~w$tX1RR#e5mk#QIGiHm(Vh?a+m&g zl;8b*^1rLczC+|huJ#lZfM0u$=eG+on0l%q+f+QeSDy}iSn|g**jkl0LsqIS1xPvI zm9$c9Z{(9Kuh@UEIqNieecYvxx8rj*ty<UJ#o?Pz~Cj@)Igp5fTw9aoMF?Th zfKkOuZwgphDaG7fy4gkc)aMwkdyn%}RkOs!{yzYuKwH0qAe~EQ8#M(QIxbJQJ3z)Y zR4*1}AYBbj77VpyCd5#NQoD#?yae>@vSEFWT@CFPL{>N1l^d8sSOJW7O~Kr-Pwk?j z?FSK4rl=^-r*_zGe{PnpUTA$0-cq$_pO(V5$4;ub#=XH~9 zPIBM&uH5<9VYz>~kUC|lW0XBtk@wi&j(zM{e69WMSu9y?_=b#fW!50Qbzz*EVJcbWt+i8D8- zEh98@M$2#X2Jm!&Q`28;r!B5*5vBEro90^T&O1%`N@1y4uQT#=po2r$U383qD-=Dl z%oK&aoKl@6PolIBFPr#C%IRR1d@fl;wnMYU*J=o<8a6QnnKH6#>W}6sRDgk1O`C!k z9M0Qvv4#u^U(~UI;WDG;a%V@@lXMHBVlDIi^CEcGmT5|kzGj{6jRFtNYHH^ViZVK8 zPHVBeARh05aYI_tjdZauHyEZ}j4@G&Bh$(~Z$wX1y6q0e!ydn6-BdyBVAbo(x{I3Z zXHPASUb#@n5)`Vqz*#i_OaMq1z-Y?Rt{3xhb0*J0EjeMk2(-K7pj(X=!yMF_5Y7A0Msq=D@bdH`FyI`0IcT~0K0?*bN#5wZ33WW87_h_`lY zNEa(ZscB;TjvCGk(ZqNnVKSB$>GREf5;r%bnX3OF)y3BR!vz)qiVpldHh%7v@m6NH z50?E2qF?IZwYD6Ol|=BGB2!F0k*D<7_IHTev?^s8M(@#CIf&_B$Tm5k>p-DxZFPO>iDnDA)vZAy zTNdS=QQ~$J+kgVHbOF`|^nL%b?wD3zgvCYcx|EaDalzKavU--n z>HuTY%6M-fYi*SAV!>`30X1-B^OW^bK%k#rpmiCFn$_4+K+fae(%yGJ9Jc=H#-jo04R6>STXhm{sl0tRT1na%kaPh*d~^PI zrz)Wo2ZHw6Oa!J&?HU+&0O-O9q-)&}T>TPD#usx^4?Z&+wz@~H?^LsBj7!tvT02SZ z8{;2OB<4Ud5En1Ik@}65OpvAC;AMszult@6;8;yqS6Ae0jepK>^i1h$%@RNgg$w{M zmd^Em-S5poXVcWV2%(87C#K@6>T^wsyLGHDi81b{D1m?j9Sqcd!_!q<94)nk?R4x~ zpXaq`R6AJhpVuUk5n)}PsUwlD0}HfV$`qh)QOkIDPXUUhP~8aGi|7f$s1{aH2Iq|$ zucYnGJUxzu*ex~|5PE>AVi$+V8ajd$>+g%XvF9u5+Zwe%VU1a@&6pSIdv^}aQfmF3 zGDRx1aJGuRa$uRK~Qy)$f6-q6wV*_^h2&Fb-CDWo-iiMi%rS?tl!~V_ahx8^j{z;<$J8rAzkl|k%DGF)>lT=&A}xr2)h4D(s~S`7-#x9BGf>`BstVa00rbt}yxEkXj{x2LHtji#hS5z-Qn#(_wNW0}+mpL?cI3X@z0Q`&uRom2 zzNp8qzm?67GJ)96&w+nO9rXEw3Kh|&ILBNZgnAs*vdL-`V|wpj{p`Q~$M=2oquZ7O zMt~8-ex=FDfAbzjcv?hY0Dz~(X*_i%@uMHV{ZJ{RXNOUEPKxc*+88e{it_RzgoBs` z)rVaQ)hk|w>fJF<7Int$*>6BoGy>pGtQ9(vQ<_uE>JBSy6>#BDuga=w*hw=F5-5XJXgBmL1 zJSZ?;^+H@w zyGl?G+SNb$ID8udRQB5io25(=&Y9OsIs?{0sjO*P044_^6hv6M-LGr-?|CYi01KrH z1YT;@;@*>e@Z$0FjwA&1@T9B866Z6K%?*i@vBb$l658ZV6hLVWtM@6^x<6Mo_t6OL zT`VoH2GME=PSJ*y4Y*Gt88Ex<_+6y^55F@eV1iem)<`NKGg|#=XwhSzX55(&2vR^m|S} zRqZKW-}YE$`tzlET_AE)34=Yj59RT3ze0ERZ+|X6y zhWEUuc-3Xs7dz_@K3nSerr5^UH?g@IH`0ECbp>-)<7141+g&&d2ylQ}Emy+&je1p3 zuIV0q>ega$-^Rnx8OoZm1#6$WMM7C490$i%W~h*5-Qcg-`A*LHlUVAPseXEndDa02 z3NTcOsGv?;Qdtt}s4;v0T!k^VSXvDi89-~zhT11GSYSG!M2%6__7*bV*^}b2$7s~+ zs>&|?>EC8&PVE>l`$ejdpuy=9iYk=d!7;dS(Q8lBX!OA|I}*I_%qrWOvF~rBfB~k; zv?%F;31vI=Tqv&8n7XmC`t_-r*%=n3gjvUFY?r3F^~|l(Y}!80YxigjZ2*xrHpY}X zE2y7Vu+r6RcE;GM{>A&wAUpU}=B^-^rLi|sqOj|+_GK8O3SN|1>}-8tC)2TWI)C^I zYP}!gqz^58=pa}&A4s!|0gLB8jXGWp0LIe5LI=VhQ!INK0ArA&`WJ$+K6p^tt^JY@ z9#C3|Dr2Z;_2Gs<$CSw3_s*^f6;SB7UHPuoKq{1SaHIQB8zFyy!h?X1ovbFt%T#H*+HZyZSgT>SieGEQ>FG&aS96itYzD zeNWS(qehbaP$K4PHrgZ)B_R`bZmA7UyWXsxj^@q3Q-La=aweox?)JbA$6(4%P=BhL zR1pS1Kn2kN>b6k3SGO`j(Y~h#k*2kAvqldBkC8Gez9<<1rVBoO{j?>W0#5C4&~H12 z&jI{k@$?1I*-jThI0&N}*IIosIc@1poL|<)f!(RB_pOajYt&ZkDi=h|!7O3eF3f-@ zW5@b5t2w0qo+_L%U-c{0c`-$*C!{+kok&2Dlb)A|9>!|Rf)@;rwXSjH@7VW~)A%az z;e&^DfN(=-0%kL!2E0&)Sg&b+&sE;6kEAF=eev8jhTelgWVyFT5KSu*dwB6$H$4|R z2G)Qw-JWC#wsbm`Vr@+duzN@?PbX4tZ1n6^tbLnZ-wyl;s4cB+p|k5ozkym4hjXKV zNoz%UMmm+VvwqG7^SjvrR!xiJrFJc=nog*2k-ptG8PkFVM$7wW6PfnxY4|xan+9RM z)3$P?Y2~rHCc6hq7BGCO239q(e%DquO*p=LeER10Qe;Y?@a$F{P%Wd z54cv5pk_-m0jdPtfd^fadaAGvq#L z{djkagn6v3im+FVmVzA=>g$4_sbMe|T07>)PFWsFsr~CZ#ChAstD3rrMOB0V$|b`v z8sKJC)7Ft_Uh8FynKB&kDFXwts-08tiTBJx1wT{3p{nI7i%b_VTi%g5#1jS@01}x_ zLu)GsKL(`STaIj}0j(7aq5D->WIb=0x>ZAAt!2{AB{)YKXH(R+DsWIRpxrkRJEU)? z(+Ph@T6i{}b>a@~cA)8XvWI3L1F;2#B1olL_Y;DDvx?CN0Tog>YsYRFsL5kr;#Hj< zfwVDLZ1sg!btAUG>%cQ&Um$gDVAdHets#Z2N?=Nr<1!%G_aHPvmiu#2Pd_CHuS2|6 z^`urQ*9kbZ=9D%!HaDb9u@A7A+c% zA=bb-Li*VrblB~s6WOe!OxQQRPi(E%W7<10k)uAVo5Zg^ezh5bfCY9y${za|Rg~lg z+IrqKR(5Rbva()Ptlc}bHj{m*83j9MOel`kea6H#uwJ=mdxz}a{d)^RiWeddw|{X_ zmygSTcW|~U<4}PU)3|m`ajL!6h{t9K{C?24bHRh51Hk_MXKn!Y_Qwu$pB@Xw+aA!I z-FBv%4+l;CpFi;n?|S?F9~=PSnZACW4D%lV;K^_nPVzCJZ|*~%dg#2^%2RSmmq<}O zC+GAc3E}xU=XF}I*v))Z5U+0kta-9JA1pdp)Q}qTh1VAWKD9HQqP7~I9&@#zGkJQ` zR(~>Gs8IY5AfPEGvPD!xs_g|;nVqq%EMjhV&(bDFlXJ=C^sr2t038o`t) zNZnJe-x+}%lr2nTOIQo0f(1{{btxmO9YmZ)SSVqM(zY~O9_{YQ7$&`4`dR@I_rri` zdKqzG8qtL$=#*ipJ-7H^jhNZ1u!vsqBmbY*1X6qfkF$Eo)F$G_E*=!5s4|vf3U+`{ zb_LcW`1@oswYaKy0xzm+%^F1O3^lEc6fljN-CxmCpO)0@(!nl*Q2-AgKkb!EU`QaO zq7-LUJyi`$6tHIW-s3}qwh(jEW^b$K-g)k+rw<$MO{cBe+?1H-*B%U*&Nqe-b*X)p z(g6X+;@6p8$D}U18bhWY&7%*4W1SXSJUsMBmk}PMB=!TG?|KQ?qdxf zTB~(zw%sor%s9KJ4;osB>5RAk+gI1J4V|UM9k}ycnu4AW0M->nO_G&y1&H-Du3NwO z_j@v`WPLoAHPr5*o!V?72d2vI>F51gREC#k%WafhFno0_55kURdshx4jce!N*xMrO z2~9ao6}^j>T!C%(0E%h653m8tzPew*mc|0BL4-EvE_456H^~*p1tpfl&$rrsdWOxGrJVQ?OlbzDS~K2+KuTJZ9DG*XzKnO4JHrklv{=GeUU~eH0E|#=n0pnL2cvssY zEl+TP30eG}U_|-@pBt+vp|e`%@OSFRW2^*YAbRa{2%M)i1v5TOYXj=EFk@ z_{pwH!}iBJ0s{a%-Vr^;_V=z^ZW*P~Q}(x^I%`yg3)?I&$vM3ugyMxFdF+Z>T6~Zd zGv6~yE%xhh6y&Yy^R%{2*#oa-!ouM-J6fxzchh4T3*V-z*Xeqa>P@|`*tLai8B=Q7 z*o=}Ck2VSHUOZ4Y^`V?n0k)u9Ks}{osk(m3N7If9oYYiW)2{$f=sQd1!%|&+fXi*c z?4jl=Mj7wy$z*R&%H3TV*@EinD({YgeQAGMoxl5~Vb0AGy=GPPfS)P!m{_fteNNd% zt(WT-Ja%1J_5JnwLUz#rTWT$`w9ZUfM)!6jcrjZQXSO;vPM0u_6E$?Y$Z2ZT&m9+P zq*<8~UUhZ==QEyw)l+edrh~mWKmi3=Ap<<@v)k)3p>YOSvid-bG3qfCoai;T>SwIX zB;HqLu=>t1J#8sznqE`E>I=GESN3-(slB6#vewEr<2rKt7hcx}rd5ohVi&CigI$Z& ztwK12e!Kwbvza73w5)GP+P_c2)>$GjUG@hEW772@$x^V^KbIiX!I0OGT1whMpx5Im zxK?9pyc{55oSK@{^XdQJ9})--E0~fOT~BAE&MVm51d+3*Q#ogCM&QTVJx8OO{q4T% z0Co6pw`u6V2P>9`aoreL^=k&#i3kH`@y z@_TkM{#pMHFuiZrW3$-%;9vdH&;9)Y0G?tC)-y_qx*}gJYQ0N zVa|ed?uAX;URZ?U9Qf~{Mu~P1=Evm>9hP4Qbeg8r8ZE!6<7YA{9mwm}n4^Rf`o1@X zS9nMTAD_@yX;{UE>WSB}MPzzPuq;3X_cb{luABN`)3oCxc@c^*T{bn-(rz2Vg~e*h z90VdhZfdNSA@1L$HE7(<6@+--TCj2cR_g~~H)$G~EEY1YTPcvrg)$ZZ(=9OA%|JyD zOxdz$Efl88=m6}vQj(S`=Ch~3PL-fE?nOG%V&SZwvkjV_R1nBv`{KtKtn4#b$7l>A zz?3ffntsI33ihH`RXGXRdVeA;<~pu$q$1i}VJoefjFA$|DjEADYDfMQkJDr>6g zbA{wcePjL`lZk9iM(mrrKCWa|RWdCC&6YhC-9gAKvS?~~v~CFUV9T=8v`p`UyxqUt44Bg zK9jR%6ImZmWUU&>q*B3+KWu1h)Yj*ry#;##!&h*7Su|7{FQHc;O6%Y4B#2K_MU809suCUc1Dilcu>2y__O<__cv*_wlTgewdJ){ z8D7)I_*}`k@B(~YSTrTbzMx<-U~bA9n_l(Is_PYRsD8ud;@43DI)Q#lY30YKY*oKz z&>22o#C(BQMo7KMs;X++wt>@f5z6AWx{VJnQhia*`P`IZAYgIk0x3{azIyRL)1}r| zRO_%52zYTj)^gm;)rLbmZV;4l6=5ZpWC%e}pO(-+cPVQCeW;y-T$rqvT23evr=Saf z#g(;8L7IA2Sqp8arY6SDQdAULcuWXYnB_77ge}+vVgMt?)c69^jn?|1VohhN9LGb- zk`^-s**G;yZg_kLiBt!(4=@a(D>GJJu{xf{_4-EuDgYC&sY9e{i-X&;VC>kh+PuIs zP_1v4OG^`5O`>UuDVsT(Cff{k_d&_#C*z4rA>uZ*t(XQbo7w(Yi!+`F?Uckk@TJ%_jd zmRM^AN>@yyr);SjcmG732V>V2fSEs`okzyTYFqu@(xs)X-omd3j?+Lt1y4a_eN@Sz z`COi|z9t9eb7g1wTGg`hA=WYji`bI2{M=)Q<({2g)+_q{y*|*#sO13mz}UNYJA>{I zo?Xd8+ur=yU;epo{@m~W?qfqQ;N!U14ZHfHA}|2JFDh&&=Z9d$^7FUtoD-Y&84~j| z+O~xi%atL>RYg&pn+^1Jpw7}NzM$g_1WOZGx77G=DHYPYO)C>y_;tb1t{q&6 zt){LTLFH^UOtx@pEfVIt@2eTGei*@2eQB>0MXjTp3Mzw+ti}O!K4FXw**m^Re>hiKCp7Vee*gq zRuZ3e|2;BWR+8W~T~q^`vKJ2k5W;YLNDJd!&)1~dw<&o(lRTSCn9T@+UHroRo6U`i ziM006*>cZ?yP(8N6$qSrDtZK!4`&8CyYytQe8K^-mty!aoT2CUCJ0lv8>31#$0J!E zjbwxWRx)NSuGP);zSF2he5`KdaNW?35;vKJhE8Gk+$W$RyH$wujBpCm|njp>Uq!%h2IYy9Cqit_nsd#w#|qC=2w2{t$*{r z_W=On%ZdNovHIj(ScXxZwhGf4rUX3!f7~8UqF)$Tj z3yG)h{ATK^R{ZYFpBGlUGV&;J*I7k);g8;<0S>$3aH~CXR>+Q^ngCMXhX;0$pjn*rgX|tIa zGvx-rh0g=vkZs7e;jRDxAOJ~3K~&W`Aq81|@RDS)w~zoT!vqKlQWdOuD=-Chs=NiT z1KTFq_G7h~U?!pd)%I)!*)II-if7iG(L%*7S2XPgMo9s#nqzzI96N@L)DRg;VaCW? z+p!(oiWSvs%$OGdM1BtY()eO-VCtNa)ct5rVb(vo<%pFF&>IhZjt%sCEhS3^EQVC5 z8lZ);*=zZfRaQ?uWkt2Em^0J7Hrxx(dP>vO7;VYUKP2JogOb+QxoYcm=+}lm6sVt{ z_R=Ld?REdaoK_u8+-613rKa9B_Wtto>VOv8xaynVZK9CX_Yj9vfT=bp^m7!EjjE9I z<}?l4xFAt8CXYCb@fOSMJ*0l?N8f&R3JkW;`%iFJd0szE7)%7SAYH zy4c3#;trkBU0@;HS z_M=R?snSt80G2jIx&6_@a>w?z+`G3Yu~P}J7J{Q5D0>})u!RFakC%f(XGr@X@Ytn= z4_8h7k=y^nuU>!Kd*9nn0S^H16kmr=)!`2S@Dw?7H|AVC^>e%D?(Qs~T7+;}s76oE zIX^c@ezr(H=yhEFROE^n2Q}_LP4UVgSDL}x@7Iis1 zgmo^kB7aXy>i)c0J-z3e9Ks`QiXo@G-sbo~9ov+0K0oC&;paLdWve;#mTks7;{E=U zxpyOAJ(JZ1VfX+o4kR?qr&b~0>VCV)l{6ecVmh)Kta4zQ*Te#qvMFz zh1xZO6fG_iwRCZRL_;pTb`*>gB=+k1@Hw?F(QSQ9NNW>ZA=Pa*KZqj*7OL#fQ_8aB%@|=-##feHr0C%jGr^H2GYpfMN8fG?j_Fh zIq+4MOPM5PuJpl4>tPkR>qCPAD*wuM{(II6&cTq2A3VM6;CfU9*_e!#)f;%h~gp%m8NH2;A+c z5W^5yuLtvJSj&L9go!kmK7W`*4E#E9Am{hZV*#Cy&zV3!)xI6}XcbdT;e*{#SnUb>M-Un5q|bfg%X&wd>ONH65&J zL1k^U+ktxR^>2vy8H)fHdtIP+qvX%*E*HgOxx6$X%GB8)GE2^$8pGl$Q{9h(FtCRJD4d0*@Ko5NA_$+e+wZ8^verAQ z$+Y&y#hA67oz}aJQ5%PcgIXCZAET!Iv?ZUOcTF3*+S3Si?&(zp;Hw%nw<|fS6vFCP zk79$ooX&*`#+;FbW3xeJsh#EWI!1y-nhR@>XL~N=zYa1tN0sa!m2&QUM$k6~t7{J} z1bt?$;-GJ5xs>~M7jpk%$<%I*I!TmG7zWWw5bfRE)#O_G+JR|bh2MV|!+14~t95bu zkg0u=jgamHKknD*+p_1dBcUv^Z$6dtV8^nyCR^xq5`6dAzxRXR_rJ@1_hGVN{+#_A0N|5Z9EWX>O9Tc0cwEBxrS0U#n{svK#d2WT?wntY z!}+O^7lfQ&k|ck%WZB0Xm)D$F=L5f^X}ZEYCa6--Rf2xgA`o%0L0YK-9T4DO*7g~j z=QT^dxG^o+6`~ucw1o_dx7Rzt2qovdlX9+_ra|KK?l!0KUR__DQ(G!Vv*P{U)3+Ny z^TuhdulQuGD;DeYwEruP?M#u?-x;&#)*)CL0QN#%OHsEnM=#gKQpWh5iduE*CpdL8 zV*^HhQ}?(r4QTcv+6Pu`De&@6C5RENK|14N-M`n_DHuXsoB{_dIKChdfWdsX#zISK zNx`c5*=dejO`)+k;!siGppXQf=$ z>)e<|09)%E0_M>db)GLMUV}c!U=(EYkfNqfq>7aIzyt;9|Igl=23wY1Rbu~Y9=9p1~ef-BcVb_0!%cR!2QF}G(*!iro#|+w7a8CgrPmr;jqC31c6&f zXkygdfUs#}pqUIbtqG~d%*x@tcjtSLW39EmvNl-!T(9s_V*fVunJl$lZU9&*S;;z{#zW(==D$t4OBB%D;&tO(%%GQ+j81twz1r~fZ1fNIdW13K9LwXA zNl*VgXC(02ZmS)`UMB{vc5HXrantrz+_JMBTa+;r#j?O5HY(LR7HK4XxLCx+$s``Y zbxqYd#9wAzo8+4NNSnzkbG)&H6O_AyPL7e+1cS|zj!w|mWRwm3HP=_GRs;-!nl z9G-i(cDvo1qZMaCxG|6}7Gi~xjZxbecp@0o(~d&-Wt;q7Pb zkXb@DQBQ+kudUwM>s(q_R@M5Rd9~b{&Sp2S*41paUUrx3^>(M-u8o#+p=6-TUbp~B z*A*OOdR7dJba$@Kty5vDQpUbnqIx#RjoxGyqZ#a27STnpMulz)&dmlHSP_(ECjl<@ zSu9{CLI79*3FpAzp6O2-2@~Yt-gE@a&}J;HLVVwFOjSQ;VGYy1x|aqG1dVB@Q~DgI zma%Bk8Vr$`Sg;pq+k$Fd23e)uTx@~+VrJ3>A)Z49k3AR-XTb*UgYPyUFvBIA=$8qj>y{l2z z;LEaW2P;XlbBlG6(uIl@?V*DPyJ_sPt44b`f)9$)yhVemd1jWm8SJks#z|l+<~H@A zS)3vJl5F*t8x6Ot^L_W`$7b4Oo-;+S)G53Qb0e0UothAIIb&PD9ESa>srmY6_?c+(dA1c&SojBXn!LV@nqj6AN9!;GqN09Y`W^b{P& z0@gFD6|c7-r`(j5w7OI5jo#n{oViZo{A`iqwb1tnKR4}j$YS^V*FC$edQy@=}O#j5qHi0U=fdiBC~yFD^sa2Exq!RkdVcfgr@$z5eJwJoih z63Do)LuYDx7OkRUFcdT_bjHFaaG*+9yry_qWzfhS@nX560Is`k#Y3~%;@mI#8EdtQIW9ie>26mo$_^w`LFwVw1j^R%xo|?i-=E_AEUQpAO+B@DY+Qi80*uHHTD>7X0EOWIsfH1xL#Kc;U zsB5(*Qb3vdK3dDjr%VMcO8djync%M9P(*Rg;lPgSuW@TU$AsB<0*_SsfSP`ti z%DJh%&2GzhW$Q9mB{JYK#jN1r;DBqvanyA}es%yc7-yUt*c7F8Apm!qJ5@f)rY6(O zWLKEKlF=>&^a5V&Gy+hV-5T(|5~S0X#H=BG-B6L6=L1&K0jzGXmYqSsuBM?g*&C#G zvo)3~IP2mMX`=*seLQybNUIc#0Xs^#6OwF#N)$7L!)+@Wa(cL={6*_95aAUNU8ngtrEL2JTY6fo~ zM;gYQpN)sv&jSCJe<#?#ep6If&L$HFov6}}`YqD${8#$SDaE>uK|A8i_7)2@wtAh| z>f%3u%KAi_s9*thZ?+(_2m2Cqqd1r^VvH^$3D*2PyO*|m{qhQvP18n1n<8yI<&6kt z&@?d3mXiq=J1G5}ugU3bgCT7&_58v#8Ya>w2Ys@8DBOUrAPP}5Kk7mwW+T>X7M`H9 z227U^piP{qRh${aq5-!4lJ`aTw`@Ke8z@0g{lAM-ya_;>9iQ7Q0KqGp%sf8VthVQ1 z&fjshTK&axKL3MQ%>QJ0bojB!r3XItk$?HKpSW`6WArq=XvPc zGdo(Om5A9-Rm!TUhqCpy3UzP{fI|gI%y(5bo5593MK=wBOEFFc#PY<$`I>E$QF3-i z$(%F+tij6mcJyyPAFZ=DMQ3+co2F!%wQ-Qth+F5D?VuK|)c z_tT=3=|7pn(YKj>p)FYuzKfqw&JEypDE8K&~&RjjHyhCVYa-C z`zO=5_h`yW*797JjgmkdneNp2dIM-pp}ZP18{qd@yN2{{0&Bc}HlOj?0e}Q6tYSY@|H%*0Sbc*i;&G&zp>T{YxWj3r4g1j-?+q-uCM;SNP0zI@NNqSoONyWxLb4 zw3tpmIJ@%DyFdD_w}0sV_q+#9qjy#(y{C$_4;_7IAp<*3WzdHURK( zj@?`SeRX!$nSN0>I$sp6cy?9AUF&N7oT{oW6sE3NHV8O5*zlu71=Q8H83f$!OM$B9 z>I7Ws=J5o8S-EDwC+iVaUvjrjE0zR`B@w4;QkvodpmaMhTAs}pi@n8iF<-1!M^(Ez zRYmOD^x3Qef+hkCb!trY$rgnyUs{wPI1p&0;9d*9m`)1zQ@`l3U^)hiJiy*;9s>mN z{CAh#Is|4*h2UZl!@;nOjhRBGSzVdofRL$V1R4M{FjzP@02S-xm=aB!3j~3tRf9UA zC_Sv816EH+6Tqe!h^$vKpfY>vV21mrmUC)JCZ9L~AE%6IJ(4VoEpw_+cMyOl8RNp= zPDMWWBB&x`mnp&`t_MI}6vJhu+3Jc>10iYW#D1wjAvI+UzdonW4epeJR$5zW;~A@$ z1qK2BbR6m>@mhA%0G@YsE4r-!464%Ca|qYt)@2y08H!>?!|3krMQeK}Iy*bD8tUiv zV3h6Z)H;x0$(xI`qOp%+2J*rZan3Z@CsnK_h_kg&!vaT)yx3V4rT~a%kxv3HoV$y9 zc#o4E9dMa*>ZL#DvT{=3V<&0CnMn7J6xM@gZasN%vVr{-m z>mst}bvG6&l5_pzD%&Us$yJv)9czMtH`g_LZ$|5AxmtXrTCM-0S}p%-c{KjZ>4Ojc z`5*k`kN+kWw*^XFC3etoyo z`TFH*`Rvtd*>AVogLd}(^3EH9-AsyiqFRHp>xA<#$=`0=H7 zF((eD1_0}HG9zdvFoD}{di`}en(G)VvxoQv?)`dqH~MF9j_#S8qZ$rn1(O|PnyFZi zgP$9xG;zIVC3TN#(nYN%JPiz}O<~ zd3H32b33CL*vy!zaNR4XOF5^aiZKcs=Bv1GJRvXw3kJ4ajJwjZPIES^v$eJeyizWZ zI$qyfwztbQ!|Ray0@s_ROpWF>x;+|YAz2iK_u~0RM~&O|_u~BaD7KURV++8%rXqF7 zwG@@dpSpHPb`J$9)5VNhMad=9DMuh!YfbJGOXkA{?PTY2-LNO2AAcMN>xw}hY?(Z+ z&1a69*t9wF=Wr98^P^f<4@9+k|NLn3YlnaQ`~TOqPkwTI<*)9W9sI?=#iDhiMT#z2qf#Jooz}s;_QE+{9p$0M02+ z2PFowOwS;AJ2iv=<6;N16lQSjZ-rD75+N`X9IfZ` z`IUuSgSVEkzPMbk=d;!FJbpH7XW_OP6zk5Y9V$C#dBXvyvQQ(zB(ExkV+AH>s z_1MsOc)5r^&J8Wp00^h^=uRhr3RI&^F=e$l8y5jUgCJHkgz0xj-BF&8gPjHYO8E)! zIfbUq7-@bBAe;SY2@bN*gMl_*$4c5p)wS72r-j6R>AVP-vvEBxnqGzQw?hYr96uk+ zz(d0Lrp8k3;BYUXBLt{G;ROK0V5op*y`1lpJB5%v$@vJjjjsipk#;@M&sn>MU@4%W zxyCsLHrO38(q~aE;lPln$1h)pdy#rVoC}yb&o^xVbg$YinL*=z@_LzOR!0mnLAfbG zMRf}viv0oGrnR*W7S@{{k3-pDw&! z9IaOI5G+e3vzTIhT;Wgct>%`m5rC-_kR(tl#SUaXg(WcNOwlI;>G8+kydm{6SE`q7 zbCcRWd~UzfW;HH!hyZ=3Mx!`2>}MfLj*@|FR%XLqX0lqx(Q+A=r?a>?osq>X=Iq&i zkf)!8FFt4M4NF!c0lGWNSeHx|J;&bKSpjna`Rl#>WTnF_2_+iogSc8BEmzBXI_>ty zW4-vu{BZn72lw9l`+xLfKk}E2RPDoQ^&Shm*93wa(DxaDkxBZTBXea(_|TZ z91sj_%(j@BFni$uMX~&HbyT(DW3%O=y;v`wI$thV%k>HxmSLyUkrvUOcPRF7hXz)` zB8@8zm)IK=4e z9CYj9w}@OiIR~>s6Eu3nBDgr!|4gqU+TibCOx#8c^Tql*r#Qi^`CceUO5;a%bvo1BfT3|Rc}!U+ z3+yy4)9!hHJU_^OCCC9dWhyTL70wIH624R%vnYB_0DD*4mO$!Nfj~;1r2+s|Y2(@v zq{+~b^~^3D$aEL*rHW@VZSWx6*^BO(GtobFCR+Hp(}O#(tXQZ`mF7zYH*VjRtl8oZ<3gaJhpPZF91TXqr-v$R z07&Yzs-Sv~5)Y*#&GzFyppyoySRO(;cfO42auKuC;F9gkN@#pk(YB^^!^IkfVb8)9 z&l^`6Yoj41jVxCd6^XH~{SWLr-8>vEaX*em8p1%r@qctAD*ggzXA6 zdlzSmxHz8Bh6QR>RP7Q0*#RK6lNeikCcbkskn(|M(TG8*nAn`#`8v!6&h@mc@ik-o zyv|CNqBf27@i`YiwVcmCJUcx4(Dc#+|8DZo<;#bE`j?kK_G`a{3SI9yk7MfuVE47#_rDm-f{;gmm(Yi>@Yy*~n&ef?+3kQR9 zvv$_pF)(JjOh(F1x$ASx%z}xtfh}1oh}E+#oRd{xI1SqEGsnOKaGD^(8cB?ktB}o7 z*aD``eHjKTm^sMeT2yT;%NWiH%pFu4FPAZ!DwWMN9Pu|=q6wheW(CJm(FIy}iODki z$Ir>MtJzF3Utlj)umOKTj3HD00qZYmoI=~NVV}mFde&2CmY<8~aE>upuBdB!Xoi+!i?}wOmJO9Q zOUWeWb#bGR`a(Zz&FkamB z0_y+(AOJ~3K~%iG70@br?J{uAM>i%&-!1`Q=W%g7Wp|Bhb7>;AAk=`bxo+urb(K3d zBOZ5mOu^qRZ79Gt4{IH)8A54A)rPTrWucE82Uch$d2hSbdazYh|6x9!eE9GaAN!sE z`^SFduNrAwF4s4(edSckNBfby{<~jSe}4V14d^>=R5rhRQjEX`06xrZdc`ljuI8!~f))IwTO^o< zezvE7>x5wCBi5K>l|Gkxp9pqWhWZzNjr|Wf*T{^jAGO&j9M7NwW4}Kf#>ruyfNuz+ z!nF;IrFE;|^H30r0oQ3g~)MWgw38nFGL1r(`a1 zZMaUPt|tpsxGS}-J0kt00ig7jzAw$qjO8lzYjw|Exog96ZUx=3CAGBb`chj;nXSe9 z0o)ghS!$r;lhaRr^o^JP?9V>+S3mc2*B&9ItH-YXulaNRSe7UBx_@kd-tptI`R$W< z1U3NhVQ$_le(4=Qv05yCkO8&bS-kQYUw--Nr_ZBHN6U+s7VVm;D1nLrEbUVo9%I(` zIL*q1w5#gcsv_sItg5PAMRj$$oPT_>nD5S(vpbioRnG>#cn@~e4t5gu*SC=YGT9JX zSR{kU6tdg7rLbD;k=a58Avp2V#shW;>ve3;<}sX1V+-lrY!zm)J;0>felh4~^LJ~p z9Ap84?4wt7S=KA5S8%eHNGoP~xab~pEUB?u(Nm2@7w&QL!45SH+SvX;D!(@h~SxnY1L8?JDO~I)v(%izc?QWBtiQgPqy3Fq@Au*xc3z6iaElU39+)|I^w$;&l+$)4UCFztD= z-(l}ufhuYEYF--Nczh_C(!Kw1LSy2|($+JwWAc~hpBQIpF0GqXQHRF7FkU$>C3T;h zK!bI!7hYqEMF};QS_24*+N~I(k{v1CZYNInyK#OO?4H0Ti^VAYkhFrJjP_4epq1La zhevVG!BJeE%GZ)bAV}S3!4J+EY22c_OorNeJV`FZDw_!}MMl}t#2XrFM$`EKz!&$8 z{emgQs5{Q^9(Pf&wP2ALHxqbWRtUo-fa}3u~MgQDY#qVGXn(4!))l5?> zrGSyuj>&%59zzV4S~j7R1k;Yi(m_@xO2<~JK6L~8WWIRq*=CBVOLmR09ZKEXmucIy zeR0~=sVOsQ)<;=*E+$Q&)2VO+s=6At?n}&TA!yX2gP)aV);JN6Cn#{0X3-^O5lyEB zjh`4oj{~mJz}0D68d#$%LiPd1YY_DC8BMT3z>+L3$F8B_LO^H1QTFP!r3gU>fHZAU z(g3?uWwxS&-}MI3-9JGamd?&z#Bj*eZW}<=-BOZ$0$b;lpcya%g1m1Y3o}OsCZ)SY zJ|6^;Iic0Ry0)qzTLz|$R!E*lDwJs2+89UxZlR!Ir`L|HPK)f`cE1|IEtpYy;@uTL#W{Cc+~!!TjYhV3?OX7;*WGJUXOfsu6G+r*YMV%3qR#&y9+`e3mn@WX$o*wyl3 zzdX$aTp!L+jAbjm6s2FKWQ9zyz@m)8YtwG7d&!Jr%xZ5vtw$bj&mnKlY?l#9OUD{P2JLZC~jrlnh^9lrQeO?>Dac8+Pw= ziz_xqdyTeyN==N1Dkq!i9p{W#T#&($g&Nt-f#5C$_%bKf zxsh4q`N%H|0(kt6yL9woJ)Fc4EtalajzOnO_Kl{#Yzc;L6=Hy#s?>rlKx=)Y`oemx zRZuk|wZ751KE5~m|5~rb^r>62kwp}+Q~Iw?k>XmJ`bh@B6~5N-;XPoGEXK#g7MK(Z zRf=HNViGm+>mVtixvGd+ShHBL$RS^r*C<16wMy$3jUz4}!5Zn#(Qv3SNaI{wFF-F- zn*?GiG(egd_mCCV37(X?RBE)OWT_)XT3Me*nLq*|SDX4iF(6|u0KGL>9|qlIo0(Re z&*-@g;O!zB0%hn#Po9avxm#jz?n1N%G7zTRA$$MIk5D~i4Rq<**3d`dv+S|hOjBDQ zS!=$;wYjaH3O6*zJtv%sws|yDe+0z+0wkm&)w6^9cY4^5o3?uVj^4RWjVm3Q1p~=2 z<9A1kRopk3#eGLJwpH^Swsnlx0N+=GRs;BA2b6^)PRC+M*+MTZgA6uZEQV|J^X%(1 zkP;gzrW@mr&)DyF$n0I%-ikpttF9AJsR*R@zQbn&xZXFO#yv;lxHOp+Fl}w^b?Nn@ zBa|IcF?mn>958^=f!3*TG1r*aL5SnN;dv&lND!)2`ZrnBiOEQSOt7Ooc`uevJH=`VsVvK2_}rngxZq7?m3 zGG$~-N;CBg24Dh_dYmny8joX$w8>%-1Ei?39h_664j{EC-2p`{y8uG!RGC|7d4yal z(dY@B6|rKWq+ue1nVKhR>9Q}bz-4;G*)NP5sO&a^0s|XR8<-jpC3|O(qo9z6y;&Wp z`{Qb6d6K#Mve}A_5hGK+uB>z=H`ow@wq$g~q~e@)TmV3_y`{~YSXZQ6*#eJd&%(rfe6`DavCIT|;OvOiikOFHoqIY~3$f8a8;cpj(CY0Dda>Q@ z@_NuicOQi)&V^?oislG52vv;Ns~AI*xLC%O`8=+oMce|ZQ+4am#waaOaueBP@Oh1S zjsn@WB@%vbR?izMzP|Pt)m%(8X#FFu-|VUD-bG3t z{(tf~#aJ)e5g$LjAM5Qcvp~gf5sx)w0Ify2lKn1^OAe^`lF{5Av!G6mWz+ftM%paVs^)J zy*#^pLAlpc;N!uGoz}=?pK(T(mRwhro-#2Yr)+uhMtf;Un3j_Bvv; zn8)C79PMjYS?Skpb)uE+;H2?UVG2e6SY&DH3*+8?niuQ1_!8(dGg-4;{2Ti2_GGS% zK!juBcy705;k?Ju#SwfRQ+IOsXH_sN{n(uYMFy(4W%?|c1qR==tKqolInfrsIwB&St@*~E$n8HPcVw2nCvf1 zaE)=;KN(x+Z;k%xvn&LuTJ7j$b+6OjWJR-QFbkSem)5KxZWc2+ZC8L=qp+bcY3ZMc z>zt;MIF4tDK(V*Ul&9w$^>gVbXg2r6pi4WJy&j4hP=F&F7Q*nNcdfxESukk##?v^0 z$09&{v1}1j$qk&VVO=m|gYKMP05t%oveuEc3GI7QJE+Y}jWN6(5(8hUc)GE61-&NTs>{^IZ9zDlux}QuRS|F*wr7yYlhFPqar#P11A32xJGEIrFI116AZ%bk`y@>H=aC}0ho*;X;Y04+)v zTjPcKU;xUwk(H5nzX4gZon5^VfSn4=pWD$Ij-oRhMsIgF2B*$McmHJc_xE}K+-XFG z3I?YMPLe?+IPY|nzRZ-oZF`)`!}#Mo&5~-TP^4s;%9Rez);w<8MeSC@z}LXZpT%*m z)=YE4a}O=l_IjPz8)Rpd9CWjGct2W>p=x!ySjEw59araQJGP{zgbOM5dy9bYoj zdR7zEC;0H35y%rmrc9=oX;o&c!n-`%jfxc^5dl*^KUJ{c1mcE4yG3uoQ=>tg?DwOa zsr@F1hij=#GzKO}R>k8yl=$oD<@RkC2%oym_AuBMFumL2B}4lr$}*~NL=Esp!b>t z(^)vuNVB+7G}f!=PZ!Z2AH`rcqYVo@`OukwfT7Wef*QO=&s%rO5Wo{SBT%IlNqs<( z!gK|z(_A`c-Md!$L@m&+Ql*ZIePvU-#FX)%PAg>*i?3X*(-i>yDK(>oOFE=1KE4VP1z;C6%joMeVs*>0B6?Fv&e z0yf=@9X5CXuLOYUJ8Fj8X6>>AN`J&0Z+B3^br;ZxP1nIebgy2G*5xbF#(c)+Gj)r$ zuJIlET6&8G@f)y~^vlrj_y!Kvi)N_?4HBhS+ z7dKZ#(zFc1AmHX}r`^lb$ST10s(=^v!J}$jlbepH5>mnMV8Y5F)ywqcU>= zASN-kQc(h~+5Rd`W8E%|x~tM{K~sR@?lf9Odd0my706+2A_2G<1q8bs4_c{+4MYH9 zuU(i#FP1SJ3ILKRWJPE8)Xf5!>r;R7PSkO9PHHk6c2aa?@13nd89Qb><$#?PbC zsJ4}9>J8aSDz%i^rGS;ZNqgWM?Q4=nWItkdZi;tPtpn?l| z+;PmwW-725__Lq}3`z>=0WAD^s)9|wH5S73*?D1f>QoHQ-WWE!OKeoG;_jbRJjGT>~C14Ytk{m9Ik}2lriI z&7iJae?BLcU$_9tn=Pl5ea$Sy$@yIFNp1>RIMrzru!7;+AN1n%Xb`6c>aHPxSl<_J zz))CItyy6Vv*pX^3w&@ChuExSO4`pR=Erq5Iazo_78z?!t%oZs8g+l{D_k%0WfPkf z`K8?&?Tb|SWx0Whpk)5OfUz}LaF3x1TX>{0QfNT;MH$?*YB^_>o0Hajtl!IFfo479nbAPrntCnc+HB;|or~d&omA++?x)f!oi=8&B09BB5Ca)PvW;$W=JslQ|7yuLV|#;M?4oF+*NtJP&CV25>-l+T zsJEu8bv!hg#?fLO(@Lxueh0JS=G<3-f;KZa_J!vyCK~+1wyl)2pA=UC96T5{GLr%dhM3KEzLkex?n~ zY!(9;oug3Wa7@$p)zJ~9CR#Bx*7lh+3s35ry5!vO<+{K%(fy^duHo6rG_DzDW&~1x zAiyl=gk`TAA3b+ED(E*c4|`(QdCdakKmWcrz5Y8kA$>Cfn-O??Bd`I04>Mk`e9PPa zBqHu=7H*JHNb!2KS_dz>_1V2ayEhbLqLeQdI`-BD%fSj%88fGhMkzt0FS3XMg6RHu z5~J}r2B?NhZJil91|3E>ohXAniZ-$$QLG=BKIpqI%e8G!&i$qJ&6X|^pR zFl5!J^l~al$ikEi5CoK^x3Tm_Zl|VTA#EDK9aFW~^=B|PIH1s-y2rZhrT~MCs2O|{ z=vgmW>}u#$2fGxA;1QU?64q_jz_yw=B3qVPCa0SW3=JBb`o()tOygkdpw33}*{hhq zjg~QK^^*lV(8ke*C+C7a0m1eu)rEH2Qg0RZ+Avs$~CREt51Q{VVJvq1#I z81MNaStcDVF?8{nbPmpRLog?v&@4TGG<{7zIlxqRQeHyrz}_I6cjp;KH_9iH5UhK~K9Cr?*CN zy5EU2qki;LV&LK#ftd8;%z!B}lrn>W*)YYaZ&`(40 zx=@EH+|-5Ause0N(515YiRoiK>-1_&0LV3{0|r&b+P)T?A2u)RVLv{0%NbOy#2g-_ z!(owdq(bqh-~Xn&|Ni3(eVbQrMqo1n8vuCR9H^?+%YN}~|8KP7S!8rv4M~lggzph? z^{Z}wZhzG3j$~t@pgEsS%g!4CUxfk7=wk6(E}}b~#`^Fm2CH=pq0t#nm?CPn9y2gv zS|n{myjbG1%?=0`Hd1{6N_5wEpWS4YGI%kSojzI)6eWdL$#YDsA($|vY2-^stBR7c zPWB@i4YMS?b_9`RPY`+7ts^y*PNUJ37%8jN=M`|`bYE5yE6po5!>Kc;gGKJ4N>X~m za&Fm~#RVPyOaYdfULqR?Ml%aL$YS7kVAaU@2@K;cb*GQ4#7tWm8RceRPL>G3-&!$O zZ(syfd&!?C*;)_h**p(3n=V3V-b;ffw_W5tZ`cB1KB^C|Qt9f*QL>DmChbtVR8{XT zK-uks-Gl86TB&I>UJHD?FvzCsc#WhIwPn(z z-HMN$KNG9mP=NvLc2Q)djZwSZ`Kb?n%Nzc|CY(R1M&Qw~M9;5LQ z^?R*sd4!$3I(R4m7jZOyuU$31+_$&ZS@lZS1H8wYAb=6DPED%@f<2@u)4z~_3MpC~ zKmFqbjBvhU7y)`zM1kh@3!O_NRm8MXre#|x&}Pv~vm**X6M`5_fAHOY^>6; z)K2Boi1#B%!cN8&n+lNG(yP&hL%>2hJ6A$W%&+wm^P&I-Tsv5q+#v8gla(~<UUO zgE&2a9f`oAE9N;4jnpbY%n@{ZN8`AEI*)_7+UYe5Lgb$(5a;_~sevUL{+oar7jMNtRWqIc==?yfm-c_<4(2 zk$uBYgMrpS{)g0fS`b-!f@1;L!m>pLAexKXOm>sO)x7m};J8i;;}6`JWShltE8^p~ z-b5=S7(lc7cQ8mGT|pE3lOK4~>;KW`YW?3F=W{v&kAyM&w?_hd8zA^Oy&cydYy$v~ z8QiaW%Uec+b^DJaT2E&XZ2%J%1Sq&a^pZROPJgT0-=QB{seXk0$|CyH+y(9c03ZNK zL_t)CN3r|yPq06y(^Fck5y&&~RYdP@;ie)7gH06Q_E<>VZBa4-}lbv;``U^-XaE2 zmMzp$=DFd#&5-F{=$JZoeGgR)ZT7E6vs$owo#9pt_D@7F{~PR{;Qh6QjRLH6k1XP` z;Rb!_vM8cqKVmH-t5j{6oIu7^(7tAS`Dw1mVn~2r=k4^oK?sg*K-L7J-bfT}B<_6y zHCb50icEXr`S=V`*p`-;(J)Gub8i$uuwivati9u_= zelHg3H7S-_8!l+|!0>_9gW2-_utzg#_zH@NQ*|`Q2hS1AmdR8u$?%~%7g|2(5=%Fg zEVj_|uDgkfb4nocxP{$qm|qjz=CycitYP$Z8iZS)S%W*t3W`S{m}!_T&u7s^OSQuz z>iAmIDbK~g{l-+i=6-gf$+SP1LflR0Zh77bzIaY~t=2nRGT>(qtanioAKc=PN3izhHnZVvtU zM&LMH(fr+Ue=jPJ8$N0S03YAjKdx7A0N^ph_4;?dbNAY0`G?(Z_i0VAOtJ};KfoY>9$E^$5Jy_1nXIS>eR37SK4ZahTU-X z9aVZuM#~P|N|)qCU}YqZNzc9rrI=DPL<)(S*enLLtlGtOI}odQLB~KqPykWmdIS{(B^dB3OBfZD8eR`c?bi^pgN6vv=OrOS%2G7|p4fj(XahVpT>2ej*=|pY4Y*I}>rmcwHR4_|0LumAV`lx7kcnDjh?D_ z8?M)#P7EFhoSJN30x2`jE(mEdP~MzySW?4Q(yI0%Og$HwG*>qpkmY-D&N?3h&$=(L zQ}ap%DjhF|Q~g~DI@1K1g+SE&2~b(D*wmp4rewE^ta|llc=LtxK%vHd7p>w3^cX}D z%5`ST-pFNdt8g6H1aKBjvcdQKNknISLpwV3IvwOhSl<^AU7Hv10eIC*|!4LIy} z;&0BMiB6{%i!3T@w$bZ!y8rZp-|~hZdt8xk^Wx9N2s|3l%N30u)x7aHzR#1s7Kzs? zjST?&T->RLImQM69y2g6`GsFOIqI+epQ;sinlUL%NwNdIUhm>dZ@-HG&{`WTfY`x8 zP(8YK5T`F*%3ZTW>rBaJdf1v5Gb{io()lQ@MR1j@fEh3X7n&eTCxqA8{>7eISru0p zI-C=N5*aV{iWR$8cJ!GRHk&4Js~)%lN(pcbPH0}7HZ}Qo>w<_GQj;{BO?kbl3Rc?2 z#R+B$u4BNm2n6R#wh&`b#OkSi%hq)c>JGBjtTnY=W{#|xw5K7fehD`8Wq?nXCoO)M zPHa^Ay22U-6djoMjz-ZPj-tJ_6a7dIPa#f}4jOaT)>L!+8ipxJgzSWXq7wr?@ZRmRw6$N5_OI^v{C|J)oe zgXzMIH`ql%u}tqJgK8kCzh#@c1aq95nKmyBApvG;z&Ivi_H^y;r(CqS2@LD1SNaE{ zn5NT;y?!_L`@Ps7z+*0pjcmt~CkxfaY$elZ==QG67IASri8*gb&Wi@SXBJudLv84q zEP9gx*TyKHKMzjhIkDWJe%8f!`q|)SgngGIP!1NbY65VEZtvQ)=p7zK8{JiyB3AsA zG$a8rHdDzE+NuX@hFDcFdt$!j2P%6N>37BI(!VsHJ8xp;b1B1k8@9W5Fn+eDpXDQB z8wKoZw*;N9*<_rrs^YJ&#>X+Pwp($}g`1*{mWpOhxv5RR)M)+a2i|=5fAa*!$<3kb z5qLDv=fB?w_>TM8N5zw&il+KI`H+TOcXJP(fDzaLz+(pWrEhu5*ikPiK0$`93S}8>w!@r|( zZknAE5aGSBKtd|3L1Q4l3-~v-V4g!GEzp@}<`iTFDS*k_n$quCM zNnJ#g3L@LqNL^W=FLqPY$|-OEOkk78a$qzYB@aS@1AIP%M~;UoJ{9=QFq(1HeUWJ2 zVsv_prANK4;6iOpg*O$JGqT*!jgLA<(8EpHQW-zJSMDWknV@`pq zVqBHbcn!cQ!E&-yN=pm$id7OYY>pdW6Rj9_g55$+Zw=`$i0WMQ)NO7GnhfJ?y^gC3 z7)dYUaK4DiVnM*iDCD-doPR3ZaQfMdnLPz@F4pt?QCND61yZm`@p`UVe!-0e*zMG`dfhT}&hetJWZhp_*#XT% zZn%?ybrI9SpdX*S>6Em-MK7y0MycrPhu{0gyMO!%h>!n&KIEeTJuSRmfIt1a0pG)Y zZ;mYuDUf|7?m@(?LyAQtL{IdpwPIr&Y z3z$1DoJ+EDqlYfX-h&s5)qw#HK2CvLnlgh7F2=0jt1I^0QGy^5#Rdtyyf|agwEczw z9s?Dt@D`<_m7pqZMx0UvxNw1p3MDeo(+^DnPZiH@Hzj~&c8j_>fQszkQ8T0}^uX(; z(<#%g1e*yg1(v0wq@F3YW1r5F3GkKowPaz!mQtymYiic;I=mjQiFTW5E~dQGyAYoT zn-wt{0u}^bOlPO(UUsQ)rxCCf0CBiCC-3^Q*m=s+Q$wdzq(DKfd9?n{EG$70Sd~&Z zpmt*hGqU(G;FDinG1bj9eqo5b9nOv|_VvU3bOkVF16hr25XJ(QhKaM6Z2mpdZ5RiD zGaW}TMe|)utXXi|sqizB>BK#tVR!bFCdg|9aUOP_oJ8=R()AU?G*C>|7KVaoC*CJxFs#u8fz|ka*=1#{Z z!_D??nUZc+<>&f9V3V?f!rm9{p%)Q(_?bz*zEZp9M)j=Ketk*Hvt`;E)#nF?(Ybmx z+E=cytr|CO{)ike`QX)?Hn&McdKUA5-j-RhO<4zkTt}6~y)JB|mVCB~xpnG#i>5gH zBg=eUG7Q{96p^_&i0e}N7ZNl!dIRHhdA~}5iY|bg&eXeV&PeOW!jZ)+2K}KnG|RcV zg>*V`bu@@iojE~mEv|tyQFfA1k$me1-utF+`0tI{sZaf);mH$!w>untWffI>Jzf0f#XtBz|Jk4Z#7{hk zsdEey__uxhzaZDQ0f5H=z_@V#==S!kA7dvE zFcr&1j2^rcyO%DNDoly=Ws8D^dw>eLEUsWmHd8mUoKf0H?W`1xm9mrG&jHo|LkyN) z<6y1cykhJG=2UUY*QDmg%%fAXX5S2mbWW%SMNeT=&f2cV9Y=7z>c&w3V5WfC!UB3Ybj^TTwpeFkYgAEnX)B#rvgDhm6 zma>sGS;1@RE&@a< zhB2^af;8DUF-5wcxGvm37vDHNt+A0!j=!umEKF)@=^UV&-8(dHwa=X9kB(GQ(pd8>{bpf0*lwW>WeWr^g9Sd585 zkJ)lFU99?dMLy?1?UUIY^ZE{nb*HQYuRS=3I5>#bWE!iZLl$c=ft&1{Q_H$1N{e%g z$G+QQ?{b3YoJ6nPWW*a4$<3-~tQVGJK<h>`1KYNPc4B$V;FE8pp9E*T0f5Kcq_2DX z+n+L>u79W1Ze3uCB-0vBJz?VZTHOa;8X#avv1&dkiT)G@PmmbQ_8mh3Q zIcj!oFuP$32k)K{?4_#_Ylol&pn$**Mh$ETjf%6%kUMO9vE{XxWpZ_LsVGhG!HVK! z!myCL{SpQDFl9}@G!|lj1*5hNDI%p-VG67^Z*}Xm`Fy6zTnvnxNQVI5F#W1q&D> z20XA~gHfFQ%9llVdq?a;GPf+yLA7HtS)NL@5wlWfPUTKfm6>3{0lC&if=R18cKBE> z?x1}}0&%XkjWnZKH&-n?DEqro>0)nb8qAG~D$biJNi(v|N5X8C&(mY+7Hc-;Zf-uv z&}NTkZ33Ju67y^J(wiECeHRs>c;VEjA7_R=GJN6gFbQ~lega_vU`NYkJTRHZy$6$k zo1KB3nO=?^s`GpOOm%CMg)uMvx-oB(g?HhVi%nb4fb%hZI>i~}Q z_`7xx-OHC^jm;t0YCMMkvB{F-`9})ZE!D&#CMfswO)pKDQp1O_#U8!aQM`fj(g>y5RgAZ0U?n}R}GOs4<* zcmI=b|L53iCJ1b50>4mW_qY0UHvsUM+xzmjyz}XusQyi>-8!!nRa##pV}b=}cewrF zSKj(X!$H5l%Pt%AmTSj!HjUL{5ht%)jlC<^GSyO>Go$MRwKJ)2v&IRhVYUkYCKFZK zTZt*64h*T+?D5MAUv?Z3!@{7D9&q%%OA7~EHn_NfJOV+Iz?$@Y0txIskY>{EB}|(V zFlku;Llz7gr3_xu5UCxQSgQmm;3`-&B12kK@zF;xQ$KDvPgVs?A+n{e;EQkS7A-tOBJz4xLdHlr7MAstj`kjEHo0vdbu- zC4)KVPtFmg?v>i4uCG|D2pC(hNt=wqD1;jB>gQK+>R@Sc7Ri-`?nOz2Mx@ z99Do8$TOvj-@`+XAlrhg>?DGhVH08VZFj=a`Du$_jj}+cx`SwelJ}(PY?gF7A=ydK2J164)cQ&X4^xcJHw~NH>YOVetz~jojP3sD;tMZ4YtZlZb~)Lp(UW$mS}tS%;zO}>^=hf0la5Ax zOh;Rz?E5O?R|e~7k>O*NW(H=&NmuR}R4BMAfKr$Z#sC6u=z1~*V_lWmhi3Xmx;pHd z>$XhFiV8T{(@e~Xz?{vN@dML5>1F6$du_=e2EfO|?!Qha3*>)lbpm?;fwlgy)>Zl10pe;lN7KF5U#U8qEK(W-160e~OzaBBV=#!D zU-WWz>X05Q-;-_lyo2?_RMOW3L`o|QIAw3*1Sc+Tz};*zRn}iBm}Ys~H7hsaE(IXUe-5`+{lM5n7$8|wGdYNwG-7r;zl+3?fz zyoGLbr_+j4{cfDz8bpW425h(HUpm19}g<>3RpTv8bY$qA=G&eUe)A}L#gaE(B4nT>=%^u*?ClV;v z-A161#IZf6Y8Fn_z|DDv&!b&a9v|}s8(-;R-j1f9Gw@w ztoc$wfP$tOANBx+E|A`TVpFW=Q)*8sTo-vzUzNwj@c^=vl2f`+tV9)SXuqZ$EG|Y-K~2#BW`Eui^lWUK)v-3DHbbTA&bo@1J%?eBK`Rw$AJN(``u(`$ayYrto=uuc;j^l>f;S*6fl$0S>rpr!!rh&VIq#cr<~ zyZug#xPK8)FV(TRyf4rfd9|jw^5J~NzPShURp9qxJT+&V(Li%e(t=V+ov#xxY5>60 zq`9!BW-TG3P^GywcLs`*F4V<51oQJ*RFi2`({Z%MlUQH99IGo=VnFR@<1y*f5Q51lkyR`WEbE;jwiW&oNvRv&?CNNXTI6w84md@B<-05IRIOGjl z<`7!6VRJ^)c8#UiCo`nAGz0DgU^=x@_ziFU0>{$N*T+BBbnYWDeK!_tT*vgC zf6d*yXI}Ib7q(CA-`3vVd0M+a{E}9;^MY2pOj?lLpW~zPfA^v9{I-9Ju$F1y4FG(CXVnG(9y7qNe*3R}Nqb$rCt7jVfeqieh^D{R zPJeXy`RAY6@3z|8_!|ZNsFX|4u=A<=Vh1Upd|=pF1C|-NL+0*1O@*X^eDJ26%2S``b zTC0O`5K}4UK|x02Q&nQ>uy`YQpz_u%9L@v46l3MZ-Me@*GERSbp%54q$a5g24ymE# zf=-dTwq(Iv-MTA` zL4SiK@i^P&#H^|r+j^{|FXZNcnx-|YGhGFoXexn@I2gA-(|ZIwEfY}s+5o+_N^yX1 zf&iXFlTpfh;>8%iN8=!mHL+aUAXr!Dox4So-Y{UIxmyH*CG~Vwyx{CkbQ55C9{RBx zFIQ|2_s~RLHI`|(JOj&{%(M-{nRc%PP6`Ok=Thum`sZ1Y*YGwh_aL=x9!~;lR!TeB zscU7g=LFI#q+3y-apiKXuUw`NAFNnbXmvQw+oeY9Cfg$++uw)%Cb zcC95DZs}IHoRf*Wo-Y75ZAh`PP#T_q9j4DrvFbU29v6S->k>@)-j&Tyqd1D2znoWI z=Wy~|?;4g)0+h+zWi>Z-!hKcOd#x-RN46oX?OnVHwB*DF^0-Fokn_HkE<3sQ-Fspu zuI}wdWsPR3_~sJ_rs$jB`^Im0`x6{1Ki`LctU%A_W#$e)KUQXs@7dkG(7EHgzw^%h zr#Z4OD#+R6bVpE@Jd7DlB%*!DZSRLi}Pm{Fqf7WxPAtj-1S=sE=wA9 z6)0>Fibc?ZiuNngRzdFsJrF>JD_>aZCU^}sej6} za)Ti@BPF&^tPRgG&2SC248{v+$hm01#$cQ_HMWwWmeE>EZ4uG{Sl|fr2wwtlYMn;_ zo&BXf=WvcpJ10o8{!~D^?gMKXfKrUwh?KdK-DCs5YP5o~6;Ffkx)#2C(dh;eJL0!lpSg5o- zXIFY4+Af9XlWA(6Z-OF^JNt zk-Ov=4Lik7K%BNeF7z_WaMih4%<%*#5x8)3hVW$&+ zv$q{rcekU${b50gG8OFIUBSMw_2&1!@pbR|JjKi>@?#zk=zAoP$44(u)cQUC?x}Bn z^WN@lPdhz4d+KcO^x0>3x3*tWwcB4Et++|4e7&u#VRj|R=hRXaGw;o33P8?=;C7bq zad1q}Ll2-c90rTa@%UeU_#c1&f3*RCPvjK4{@5D;c+6P8;;rv^VS63F8dY^#eLVG0 zl!ZB}I62zA_WbkD?6q615xaOKnW=R>jg9Lkya$5$gv~DHJ&67v?E<@zQA3dK-fwi`nscPV;JKC#x7TFbMJ~0(U^S zZpXnHueB&0fmOekhES z8$rDsnAT)7y#qB!Z7x;>$Tk%&);Ri17uPtg-RgD)0QXOp!iw4`x1ahewZ}tXt^rWp zQ&yl;=}1=FX2%4kNU}Ya&QEqf@()y6wVrpf8L5j7@;)U)=XvB!3dY`DB+Qcfo{BwG z>8cnnX}Jtc*86P zjQKIv=y|?qE~+34&nw2YYNg##ZrH9H+lIbVXP)QoUeauX2)0p>N-~Q^6@BXMcSw8>#aNpZ!zvAVCTi@`S zXKmkn;me1k?H8`waiP`e+|p{b&qoAJ7wZjNeO*P%Nx6=6>IQ$_Jox^5T?GKNTL50~ z%u(5F=JQeHPpRScTECo*|A*iD{_p*<4FLSC=htICzy<&wGgPmB+poQNy_~NEHpJ)0R8Uu19)F2hQHKYoK5ZOqKd{nwI6)uI)53m$PPKEB zHpuJ;z3>uXvd|+dE8&5tF;lUIb%W|yAs~pL>IDWBy6_@vRvy}4j{SnU>FrSb~9+2U;5a=0aJ3WgcHZUT?Ji&1@`=iy-N7 zF0BCbi8mVeWE_1p+jO@P+w6O=g-+ z8`iOEJPo$Z`e7cZXi0O()vbJ<@*G?(oO^_Pro`f^rCBQ$^I5d<^J)>xOBbWMbSc^g zSGln&GK*qNtl}zGxh5E2(VtU=54NAd=Axve*)~r);R5P$Eji`@r$AW0>UyH<_gwTd zS*|+)zsH@xIy<@4%%cje@PA~@QwM3ipcr?oMM{^O=_6=mCA_N2(Xw(l8V0Tlqe|%p z-3(;ya$`pp>%HhFnwvg%cOmncIzFe*F@D_Oq;A?^1M80qr3SQ<(nf?b2(Y#UyGp9y znm>8^WQ=#W$o^q0neFHg+|6jbUM=7F{%`)K-+0VX?+f$7#{>F~1ALFD+uPsYZ|~jp zg3;jC^P}xMZauyA)H}awu(SW_?y&!|R;#@O@Gt4d^@Tm&G>QPIPtl;R`8y9A36IpI zJALb{LDT9*aU)#~8f%f|M$H(-jl^W~KYi%?zWcx20Km`R1l<6@;{f0#^UmJht=8+F(mtuf0%NkA$NtCuCblzOX5Y1DHLiTYw9qxv zC)QEmLBi*j0Fm|^W^C9hE~`sXwBU{nUT~=^OO28Pls~`T!Da8^)UyG2FyJMtX1fQ2 zDKFYsz~KXk-{V-^-6vq6z&C@snKV7{GG68aks@;f$n+H}TB;0MV#`#yYCwux#lV}X zS&f^5oY*?CaNJ>*P6R4YV9G4PLUWPw0_a_-7cIBaW6G-6i<`dcWidE$QUD}DwKoOD z%sPu#DA-S?j(%yGK4H2n85uH14JHd?B|pE^RVuzGSP+9kFwp2@To%x*)>gW<{_oRL z%Nf+oocUZhR=L5!-xy%gmMvkQi+ON5G(B&$W3xpNrjR>2__(|;2DZtX*?y?0B{MK^ zI+1DBd^T_n02D6FDLslCfZ3jOn1f<{70l+-Nwg;8s16S!#zzs8ajeJVSVGU2wm>)! z`*Y&nH{}6lZB>~nW|nQ%GF?qAEP6xJ7DioR>~V*G)2<{9!y%3E@jZvwehnKoZ2UZr zbHp4tS+$?ueB3zEnnu0CxmieiAnRPMCvJ3id`lm4J7@3vqYF)s^|?C&>?$4rrFGQx(M8R;pUj{ zY!d(~&5cyBHp>y!VYIt%c>fz;_rA|x*nGrKdOSdn+uJ-^lg0DzABo{>pMTA3b}qc? zwa?r-b@I8r?XA1kt+=Dr?mVrExMRIucdfPL{ZID-uQ^Td)zl;7_h$SYmzqT%P1eug z(D4L6dmU|#kY8tgpqW9x)@=H6I{m4C^L^j_PvY`r(AxNKQv~t^PwEW-JZ6Bu?(M(+ zs&=dT<@LJSb01Xg+G|1c>CxW&%Pu?vt5BB$Z?>*d!NwXkFdzMRY-dkbc1TF!vPJeN zj!;@ewhj)qSjg@FRCiAq0&!Jua{>Z7!a{@PE!IPB5*@f zWEL~iDkXi(6cF`?rSvm9l_)iiHQ24wl-?Cv$Mah*m}0Vq3%^4k#5ICBv4x0J%nmdN zT4ZG!X+;*2fWb(UT>FN35ut7<85)CQ^!Wu-iO+I{EI!kL&!Ea6(107Cqpk+B+yMi4 z(+gh~!&9dlb}j-+1mR#$lJ%ta3il=XUIc6}x=qky5wsWQ(hVfLPEdN#@c6SH(IEJ` zbasMout=~WQr(Q%Cj0hfB{(TDwbdg_2T4H}ZQ#UK6FAY_8k(%y2FMJ7Q?=eyFqr3a z0pNi57NC%9T@x@BrlHIyJy*U5I6fI|&h1)uA@D9c9dBef*KV+bL51%6;sddI;Qp9A zaBozritWXEeKFSVuU*pJ*{#G?(A+4bmX4X-tY|0GmikMM5$%FhRD?MW#*NQl&Rwhr zgW*scv(-B0X+qshUz2%t1uT0?Yg1r=Wi}N<<(6$M_t=H{+<8Qw4bsv0! zW91_q{gZ#(ncyIwQe-MhQh>pefJb*~Z)-ty)b_lukF zymz=?E*^7n(v1MHssC#Nz#G9Kj@@JhJ^vJfuJ6;`%$hl7;X6Ky8{URrDL!X0nf$BY z{h{yskqrR+{LSPI06b=_|L(hg?KQECw^miP>*4~ZQVgnY-Z{DYJLjI-YE@O6pn}X6 zI%zCv1byNoAB`<)h|~wy+Ac4gE)a10EEPq_;-uN$tm*G25GW5i0)W&&HCZe(PZpm0 zA>`tkDaihSwoNxwmfDg=LU%I{2s}<(;rtAq%rqL1l+-Uh0)th}7#CD4^PE%PBSE;> zO&3rgnuzgKkoNV+Iz^jcj6Xn&jf&aYjutyAf>8GnfnzR&r3GHyhN^k)UXV(aBU13$ zH`lBRK|dC}UN_FaXBv&O8=6N3e+EDK|Cu#5NVHuJ&JqluQ)Pv9O2!k% z6%fCk&2xH}7g@X_>rII*Jer${(z+~t4z0~PvU`jB&ZdcWlRd-SH-L6kB+k!i zVQpwsNW*q*MdBe{tUBL_y|c#7>1L&Tb?@srn(6PXEaseSXp&uM#QBnQ2Ubc&$C>`o zv^gSMuY2KVm-in>Xwkig9#&g&VyITHZ5r?cm;*EVlx%H}1z>bQ_C zr*%o+3oLZwqvy`VYzS~H??1BOb-(E=?N;~h_q_47zxDYGn}xNz@gtic&w%d6?>Dk~ z`1|!n%X@pByWa4vCr>`-xliey+J9QRH+))WIJm3R>)qArbZ%QMmo08OS#_&k<(y~v z6Ntt1+$ZmeQ9kc+Bva5IRT#y5yVTB=FidvOMX#tOgmJ#%^o$8sgtb^U~siNx;~ z)KH0$MDRtxmaUE2N;y@G{-4OE)$E;gd1i9Fh;jFdNUb50rYe~!j8P3Zq>-ck()zm8 zv?-{heFg)%*hvF;r!5p@l**Q`n82t-^t9CJ_TtvB{+bw_K3f<+1y?PAwSGoBZ>HI@ zTZDnAs)_~HY`X)t%;IXLuf<~W-e+eAS4MkbZu$u}SwLwHYm;tVm##?wgrL}M1MO{> zOc$Biv}_QAi!l|8+0;^+RV-{>R_Kz2**FdoC7TRWf<*&{9&O(5q(aHi1#JR#eMHu&&%786>hRjJoXL zJLjHT&!wyY45e*+n3B)pFg-^YbET*y<xyOM&|E|gA84z9v`gV7BJJ0=*AAQ#7 z-1%2^hg+}g_4`k6cUs%aRkhvjw0lkFO`Efn4kdf)LO8FXZlCEQMy(Z^$6o8arg$AG z8K*|&{KEl1T*P*-8@Ft2#f9xHg1#>1H~&-N-dq3rqp@fdG&NJe29Mq-GR{oL|LX_8 z_q+e|xN-$n2AdS{6ELA~Jmdxd9y7>a_s(B`eYIG^S$<3DE2UM;)Zn4GW#{DVS*LFs zI8aKP2Md@PR@k`Zo_nLqc1;q}yUmn!dk9L_%kkkZm7uj~*01$vb4QmIo9go`16MO> z_!}Rn)C3yzQD6=^MYeo0>{Ml~77_tL>1wPm!nNTXv3MJZVL@R^Cq4cc+|n`zDdqkE z;%rx0Dy8VEVf@qSRRC83VT~KU+#-vB)5g*X{*+Q)^7sIqxK4pI1Y<2YIB(x0v4$FB zG8ZnwX?Vjm|5m0!20yckOf9$Cap9!^fM@tJFUIzNbHF9**J#H@Q{)7mO=}d7hXJQS z5Sd4&IJ1f~D=VGCH&e$d;XZvylb zEXDWmC|OWpeVWI$t{Amnq3lcOz1Ro@Y}=F9aHMoZv-U-8+ew~?E(`XDNSwK)GY;{XAPjT zZV4*WdW9N9j~&67*l;tK7)KN_;65XLiTN@bj#T}=mNgAN4{1)EM>GBAO$k%i+z?7P z=t^}1ZhUWAvkRhLXtCP3NE#k&_qyNko^O2Z?|qKq zA<;X?QJue`& z8pX|9qu9YlmFtf&t?mHMZnj#+2mj`txHy^QW3K0=2`H@vb&=k3GWqEb{lowCA8!EQ z=V&HBhQn+C;4y>r+F$rkWFGN)hF=@e$up-eZvQ9g0**kskoYS}Os&{VMWK^mK zUd?84%f0tSOeQ7xVqu4_sszE*6xE{h?2gcG#cT?loW0m;ZG}_K2$H33Qp0)zi~_#c zG7Yv04Ie#ga_WGPUQg*OMh#P@3v96f77y2~#kRpBWZdKbtNm1UFm7$LK~W#-AY|)J=P+sM2K6^ znYr@4z(T679_kfawOdR94^N%BZV_`z7IVM>*lA3FYX?dPZ7tCCVy$7Ubu&s8>vv=* zZ?N>SVYGYB;$Bj()9^hcvj&jIv8)Sp43^9Yl}h7==-!XQ^(myfdY6SBjcPtzm(x08 z4k0U$4G{i~xzGe7-t-`_Bi(PUD;Z)GXI#F-|JFx`Q6&Ierzy4jRudp}K@Gdb9RMT7 z0QximHZrN)Al242g_T7rEXUYmkMF8j7sKZsz}^hWjNLF=OdG(P(`rb!Vysymn>Igs zMpJ%}8#8VMvslS80T*YOrNyzaPB;x;<|H&y*%`xjQ3hY$h=AQ!P+fB@ut{rfT-6Dt z*6I2=z_}2pbIzswAU7FIZRaM?)ePR-ku1 zx~YpcZmi0^5%3k(?~X5j>G00)_|`ApK6TTJdfVGCj8^-6)s8dmcIWiETKDL!n)l|$ zR4zAasEkf~96VaifRGGGlEEypwXz1!W^k2Vkk+znOc1Ype^ZZVfHrKmo z=lj3shc*E4an9t=;^i9vc+B8^!`px3o2z#GTvb&Ar7YyO&mA!eI=Y>>W#`mGcb&WQ zlr14xE|A)}`S>Vqx#zy;}b!0ptj9RCH1@L(fYDRm?k zfNU54t#(mbki~G20TBtOp14`4VUt%Z0QMDgfW~W~6J(Wcf)@9S#or7feS8XdS)CZs z?}?!^yGB#zyhf+}Y=W&_tJoF+2!U(_75r@L80wbj$C!O3i$7j!p>iQ3lgTu6M>@Ss zdr?c4453rNIOnD&kZF+&EC!5Zevnq}_v5A)es%OtoGRL`ni-bvkDx5gy|v{b*b|N#!-w9if|hJpL2R(ILsOvkeT(wcZ#;td0*$Pl%D~a7uF`Ir2Z^BIk2)d z)5OifizWcT-(BVF&){Y!yVOv>X0Tq^6KBqe#g{kwiH~Z^#nCiSw&0m!J;JvLEhKw3WM_kP_bo@ zK&y(IyaA!9bOy6Bj{#h>0Lb$lz)QY*0>lMWL-U6m4((E432LTVjPrny`cJ6d^AtmW{=^@GI zGoSH@*1hX$_1gEn>Fz&#lsNcEvF^t7twG<7EZ-yQ_jaH8%-*@@zhrO!_6z%ilc&$@ zpTF?p{?7Kxs&?l^%f+&f>yoxNJuLHty?)5{$n(Y;P!*YZ?(zBH-X}LeV1Zc_q{?}1 z9L2cuKBT_YYY6T)GA(}oDX&?rV%YDI-8;9v&6Mu$pr7lqHo{{2)5!sLTk9&O%Vpd@ z9>={$&TiJcYk=EIUAr~duytY)*H{qPTd?+DWMyRJj^ok_o;1D3OZAlnT97oZ`%Ci!cL}?Cgbh{EwHA# z-ZTmZD4338dG$)Ht|Ev{ukyIxT5Uurj$Y%lbkp9>CCm&<8B=>*Zd?REaTZ74de81z*O#DzaQH$Yw!1BnCp(? zfPEwvt93jynZ|?Taa^9yW4v6(!F(Rqrs~XOX3uk#^RB@ptH4j|wt%GOqu4`fMhW<5 z)1Uiy|M0ti;Of<@NM&s_fR7W*eI_s80Kj7b;BS0;RPi(Gs_GJWB^x2lokZj3_fCKE znJ3TR>Xebwz^t?zkK^p8?ukCTN@!=T6jXA zP)bV|7*?ZtQUY@J0Pe%)MtzIrcLx0wQd9!K_Lg%6AQlCjkAkY07kr_yeK&pG#B%BH zU3Z57>os4n=mejEG#Hp0bs$j@34ua>IZX}FL@R=1(%6bG4WnHYg5xlC9TB&G^{Zoe z<|cwhgRuf&3D8xAOnnl;l(c3BQw9O9mNkHG6D0ujsyjH}z4VZ3pl-Chx6)qIJk5Jx|9DtdnV9Te9+u~8 zwK%r45H~C>#liXcVr{%~%rce;?N!F(II*!2k8Wc8!j#uV#SulHZ?`+I-q@9hD=U1stV^rbxjxXZx4>~(j2|Fl;7)reUG4-?H0*$Kn3 z57#aoc=*d!uDy|60@CCmN8XrvrXwd$MGdE%G$~L+ltH{0bd)ymc>3gv#q)E@RGFVu zf(U7+icKWlej?P=&a2wB1D~DjAQoVoPO?ns4N4_vZ4~%fmqv@fXC@y0j;;Y@6LFn1 zWdKk>v@WMF`_85~UZ*^bhk={pV7OW2iIv8UT&!499K#K(QnkxzUgW%axD@XaA+Em) zqKfe7EPvhyOt-dTg0HdMnTCX^;(%y&aLGGM zST?B$P^l-j8DBgz$jcoRnF1 zOBb=(QnM3cTp7BB=5zQx>WzXssh^lz1A2c``~H~v=1kaWAb56 z#wJxubPYQExGboHr+~f7kz~d)q}?VsEytQ~crCOKeDM0C3f0D#)guzTbuK9x7HesTNJ=f$kh*a9rIyFY)wb*P@3zL)rS{F?!xt3B1Kg_%Ns-{+KohlAJL_fLM}N7o*CWRC%S zf&kynm)!$^yA1S8-*DFt#GMe6`G9}*|wlc<4+Tx3$@F2GB{)>k_t;ChpKw7`oXk8M9~`p6xPG3 z^wKE8L0vjV$q)}YHZ(kp*eJC5gUwNZG}t~YXhjovksU?089pnzg0OT{=}y8@bvlF% z0?A+`0J13At?Rf+rfG$YW3!QcO2uOsM5#=uoHw2_Gn=e>8w*A(HB=sFd`4U!%Dr9a z%_?0r2r|u-vZWka&S`O<%p$IR@n4AfLq`gLEDc^dAJergW><`rbzlNz<_5*0d6RP~ zugU^&Id?Qi`JIL18TX_xUZ8Yc1gdI3UkOi~hA`J6Ci{Zr!(LZ$}hG$PljpaN62<9O2XCqn&I?pnXm|4s%hnB(SEEyGn?>uk0Ly%)889^mCF79mW9jpNu=fqIzm0q}eyatY=}W$Y)Z3S%)ZR z5wg7Ojv#q|@N+J6+3+C7H68VNjc~B@u$au8O8y!*Yb$j)5Ll}+cLspg+KHu>tb-eM zvT#+iT3NoJw_ zn75+}?6^GUfB5sR;mZD=L(h6a=UG4SH=ezE)6>4CHMj7WqdvQKG#s~@je4urKq9H0 zF9SBSS_Er$S||HS;(!MZPF#VlG+g+Zs;*_0x)9)1m|s1o`h@(l4PseN$H8v7)rxBu z=i}P>`PkQKD-9tJeZ_K}CO%elrc;_V#O`fVSBdAuhiI4Py;6COIFiYKH~a5$FV-R- zoD6!ouT<7qAF#|MQm3008YFMr_ftRqBMAU8c-Y9wfY<6GzxU^>G6H)5aF=0x=^Nhi z!!e!xqBl|taP@HNVZL$Y$fusZ|L85w#UkiRmask;#Nm^tqn_pnM<96dR_uxUyo$-e z0$?4Wlk*LjtVJ@wvR=*`hd&pA9vqFiPzzX;(I{AWtJ)$g=+;HCd{}AiM*SLrAM_b^ zC`%t?md{{=-4l2M6ca+dRQ3xk7QJ-k>cN-DyXs~ms7WmvHyW}9VlfD!a)T-mRDx=s zrhNiN>C6k6orNwj`2<>)RrUJLeJf*81j1F)q4hNmzwpJeaQJAk5mryOnkQvsgUYh% z(Q54r$Fn$vr*12Oq8*bZG~}{hXsP6eL=RU-nv`wt#M-LVUV>7CNN2#!3b}wcFUtY+ zPOd7J@5xdUOe@1d^w-v6w0=1z>uc2VHR#t-uUKU5F@7aKo5t38bR|224RQ#hMQVm9 zb4XWb3D9H;D#NPf!p415d0q!5fJC>_^G0F-Nbm&4t_fyO0QritRkDznvz8k8pu!E= ztXm}x$m~^Nl44mES~dYBJ(v2kjUHyY2!hBsD&H>&8_FWIS?b!zs87^?*hVmXvjDDG zN;67iO^ecVGRGCu39~4(R7?O%gMj7?O$2$M;`5(thSvf00Tvhp)RB23`)p@BJF`$O z)tBYllr#9VsNqW&+07Z zI-OW(HUbXarDh`zEiA+;9J<-=Py3V@MzYGYS!|ESu`wFOTEEXomh;=aSSO3GgCh0d z$)J1vsWQ(zWTiyF>!%I}WjUDZb0wHwhYc~!s(L@mR znRC%7^6caagdqfA#O^&i6p?+x6EHuEK!e^>fAATDF5nluIOY!@6%(0p9Mmo5XORX>jI9?(8x+WLk(o*^ z5M>x{CIXJ$-qQ@R9ijSWJx>uQT1EMJZ9fs3NmW zET>xWVJPrNlC&9+O*eA}6|2-JaXH4nD18^1j~IiTgZaE$>*g|~f0pITf`L_5o&KK2 zhU|Qj5S_24`=(?3b+aHQF|+y9j|a zO4s!UwYvbScuj`7Crif7KFh#`)F90tW`wnFsO8;uvl$Oxv#M*T*O`&%LrenLPj8+4 z>`OlQs#l$?0Km`D@ZJ2E|MJo^U-t6nFCAR{hSps7>n79bfr!}GXf~Io(`iHCx^y)g z(D**{5S&hQlK?Wjq+BHXoC{oQeKvDmBogF(pbI_aJs21!IHbee^Mp+IcoK{4W?Z|p z6xS{;u%z3>dRE9+D&RjazCRk1-8%!*Mz0@($%Oy)GFaOOR~eApQ3mT#cANPEu)%YK zW0JnUwha8 z(WuvcR^=wes#uf3(#~WOw;aCV6E`fa-llS?%2L>=`n_H>`u#X``b@wsf=TY~5IOC| zmK0GY3SD)Os=N0EdM$goT9=XTx^!Q;v?gXv8=OV+ z_#DpT!osCE0Y0u*bO0zmZ;=n^vZ*#gKlEY}G!DLIZz|q6%^ta22_{j2yIBg$a+frR z3c z(~%WTc8UyWM!o2s3pAH(rm_tS5K);61kmZq<~I>Ei$$>B%|OCTqg$q_jE^ifJ68oV z@yl~iW{nAGGDfjX`~4VPIv@SBXQOxiEL-pSz`!yqnXp+jT5@~NX1Y$Y8MtO@Tm{rh z(Z5(=mZS^CfHu%#lSmc;e>WSXLx&7BH07jDc1($dHXY|*0?>LRcIdM{4@#Bl84W$D zSr?Yzl5sJk>~X>G7;^)Xsyo#n)A@b4AkY0OI5$h;0|3gGYKbPW)ku~GKR@XAD={WH z58wi3u(@Oe)*NGOa6iZpW}1LY&ee_8EDW9v_R-DkOG_~@e(p3=NJkQ+@IYfHc*-EE ziRk*bdG@i4iE=&q-kvx16g*GDcGcZ-CnyLj~qFm zsGl}6Mz0LMpN_|$I{)E&zxDo~|Cuwmgri^im91y|FWMt zN^$__b-fmyW;5nntypX};_%#D99~fVUKLpRbK@Ei*FG3eV{<%;bG=@i+3LjwwBSrF zCfCY}X-L3Xth(0)Gj-kubx_TnsuG%CE#(>(|uYk8E>&tSO`srGXXyrQ|V{)J-9huC;@D^5oDPe z?`u)L-JIGy)E&V=xz)=PgXkQsy2?%YkUO@;o3X=?U9#f_#NcIZ#+}stVKv3q%IFM7 znB+#53oV0)aT-OJ2ZRLYrY84gx6t&Jq2Q=!>vT2Dqask|a+*DbhG zN9FR7%Pu06^5+r;S~umBbpfE086e9`=0q$QOKHibdLvcor`#}@`*zd)7V=V?3 zF2vx%IfB3XWJGokPz?;-7@@xGlPhD6Ky~WNC?&|Azc_>>gP^=gm9l8&$pC7xpvmf0 zvL}6T@mN%&kaURBVSy#$bltM`nEUHCTbvK-ftt%#veO1C7%P~i7^}jdT)EzHi}7bi zm5}YuzQ6d~0A?6dyTQ%Url_*`jpg11lm^Kx*CvaktVJ1aT$)!Nrfz$+6z=E~+(UpS zw{|p>ZuZVUYdJ%e2{z;GgO%oo;+^<>=ORE8RF)I@xiW9hS&GzbW~q}5J}V5;crtP& zqj3Bj>DtoFk|!FrXv-|qUcWCrS_VL~UwBQdCCj^+v*{!Qu5DRC@L^)J-HhX_D=cTW zyEvTbM8V$TlvzwaIXiRuZyi4N^cxpf4%}XEH=h;t`q8M@j!dVsgIEX+Dhmca4-*1P zYG0{wDjnU0YB%4{2R4>`Q!*iQP-=nmxg?XG{lfi?W>d8m8C*roHJWj7t{to04&zwn zTI#q_BuwYQ%4-)wl@Y}PX7AEq7(Fn1;|U$RJb+jiZ3lNgA1-AVuHxKZ%vSF#?Uv(p z<>qJ!!A<~J1-ST$xn?64TCF&}vB`DHG8m7Izs5DJGFIc^@b^FTatC8mX*$oGtx=xvSSrA2 zR@xANFK<);e|#_*IIQv#{tfR@L^@<3wMwlz8M32@8`jtK0OR`Q?9#>yvA;K6ESSzk z!|U|2H4t2(_=W2ra{xq^f_AuonTgmyKA!*}nYQeINoFbY*~siU_3&c47BdQF%3L-T1Ep(J z$;F$xr3MB}1`;YOJ9wGjE%$UXnFOO58RIfJ1=RqCvsv^u)?;w~Yz)tzi}B@)fwu&B z6>vo4kjiGQV?c?nAOMa6dU{{!Yqb#>)DY-pkTOg8>5x@~ z5Hzh~CaWwP!C11=GA%$qs`(FxKbduasw@d>V|BUT?e0>)2>^?GU~O0>bls(I%tOW` zr32Yg0bG|iZ*IyAAQ!U0VGL^o-rE{W9*`2O5Hd4#IRSL85iZNp0EA6BO*@|F2HOTR zcpq)vFl6WuWv1)X&RK4WM7g_tT%3+GNO$n$1}5 zcH-KF`M7RzF%HgkV|zS_-+kaySEMuene^+KZS*rX9t>Z1?@zw+Z|woVCl4#_F@U>_ z^~+xW)_+~E#XmO7;uBQ0JaOxRW1l$KUAm1A3zm5_c+V4UTwaSqXU?)&JzY&DlBI_oX);3$qmmVR#nRsE8Kn{jypL@F^kUyR*CC}fxD z{t69BnlGqT8jqqoH&-wx($c960w9b(U?CI$RH>P+=;HIs+`-Z|-Ul3>Bvtv#T|mkb zF+runh_kB#7CiMR){nAGh%#FX+9!c2X%bVkoEw`Q(*gm712#icv4CMC0}!x24r8iF z7%(X6v@(uqTyy(3#Qc$Kx&FFq0)VMCk=}frwP$9;8z49Abhc7lpWs9HTI25pmYY+e z!-BoZ{5=94m(+8^N4vD~#(E4dUy8xn#hCVc5n%j!+svJmM$~MOVo~raCBRWDG?rr# zaLkroD*vj?1NKoOcg!DY-O5ZrVG4j%MEGPB5e*{JH<@)#31?9*GFZle!Os>MmDEvI z^?A~(scbJ6Tv7v-y)%O{4=9!~U|e19#P_=-WuQRwQnI%?khzOR8JFYx$M>(a6vTDe zy~qO+nQmRLK=@2iPu6P{Y)l$ipx1>F3c4;BmojC5Ye9AaQC6S?{TMq+Me;rtI!i~w z(EOsF#qNrNpA)l)@x^>rEK9-s_z;qMP#y%*yoB#lHe`a-Y?o&(9L64V%Rp1nP??C3 z_pn?qBWgZ~W#B!7;}h^$BWoiHb+^#kjwjLEw=cG?zb59o^9+K<+yrQrj78BrF2n8w zfO>>VoulT1^rBqvGNOx`;bfk*mdf4iXU!#B9v0KsfJ30od5Uk5rqWUn^v&Ie7?yTB zR_415TV6uIcO|(&hZ`DMSb?}a7{uCO#IWVf(I_?sqv)Z9TgC8W36f%9%DhBfyPgp| zr#yV*I--L>cC<cFZ$T!mPh4 zSg-x$gN&BJJSgP>8S#^n23Kl$pdSqGxc4Xj(GTnaz&!x?8QJPmCFlc2(;Lfb;yh-QR3>2 z3ZXoO@s&Vcd>!wrGNAINWH?Z%$(xu&`uVe!5~DYlg4!<@VS!7AK4)Z$9!Rt?8w%9b z>M=L3jtK%s{i3v|g+e7j<&6mtId6_xV$dyhIx5#B5EP)5wrw;*1Wkk5BDp`y)<@_F zVS%*Wh{SqmTbe+~nlXbW09NXaiVhMg-COrk)qm0Kf*@V8N@eL9EG5PaQ6@OyPV2Qe z^t`W)xx+^bog1zJKd<2FY!#U7Xvw}vABubD&4c$g?~#EKnN9?Tr(val#<_rdtjt0a zAPxGlb>h+3IPpk~E?i3cIc`m{H+CdC@YbbjkB@bCcwK}Uo2AmdlmWvGtr;jBd;ri1 ztiW<5+h+*^4>c)uFu=3ngxWcVVpHF-M5V)wjb zw|;7+yKsy9ZBj%{ZOS;B8=J9u_H5KM#P>>er=;Z-Ga`|#}ZVQMXRB>T;N$I6a(mu*d+>VxO|u$0h0^|HUa3N$l7Hoi40fKkX}ohH#-M= zaIC!Y`mCOManGS&^7rCuj=bP&qk9N}w90C9G{%)+&6Wp!wa{y(`?ZMX zNM?fNcY;Ti!Civ6LW6^@8t9q3wGsWbi)^Ka9=fw3#NLyF;Zx~ehYGjRQrkQ+d5yZ- zniZ#c0~2pkMR{EyP+N;yd+Cp91X5Vi@gg*IHm! zsyI;O#?1{qD+Od0Qwwa3<%}*|RV4Vl6i#{_ND16?ZW}o9y%M1Du$nRyRq-`H03tAs zEOloXJl{WiBC`!09H_~96| zm-Ka@EfWVAz74RKxu*i|VzK?TB5tQ*g7fq0XKfDG2IjKUiIq;9y@B_4IvF#g=bs=i zBd72_o1-Cvq}K)mwu`&a>+#QY-KT`Y2d83;GnkyuNzPe(mSMmD#`}KqAAR2*0Ne$X zJV9UD1Aw~>?91+W%P%zQ^&g?0CLN{JyyQcN2kwP8KJ&q)R`=;RSy2PXGGhv+*Vp3E z+4E%c7}h#b`HwkZ86?YvFiQ$L3A?B5q;TF+z@D3&*%UQQ$HIV81{}s>(7+(-0R^ij z(LDP>IyMEHQ!aL<>alTiA{7|qZT2)fRCLy{@ zY}6qVDGK~dYPC2w?8nw@65BC}rD()TG-A2g=IPuT5rZ`98q>tVa&s~e3NB6%l(~Bb ztr#@BTU{cdOEb%_?!!#rR@rdqnww5z^?5If`6JgA;kOoyi`~I~R%Z0EB~u233p=UH zi(@*dwm+8q!R21{YpL32gvV#NXjj8OGg84|6y;djN=W46Dzwve!L>6g!~#_gv#B3t_og zDGiD?fgVq#Zro$W?W9~mQ76zSYrP^s$>4m06Gt#nFPIV@tN}|+#IY>IHH-7H0Dz7| zk3-(mIc-pk+Y4jH>Fr*e+}w)O8(X|a0NcXsmF%cZK2^yFKR3IiWWQvGOc(MOfjeF! z4k6k5Tt^!jP1G)~%&qmIOj>IzaAqt`Uo$@!#}*gVA}$@tmI&?K9*2{0oZ8%qM>jU( z)aE8brMVATQ|jk4r3+PAlAk5789sRV`I`(!Z~owq|L?EZ1AtEu+S}!2_Wy@!;Kl)3ZLi+@8Bh9SP9FObh8`G>o}kKlYzKji<2aC;^7X zIbmYAR5HVBtCXNy;YHht_;TS{CzpgyMKi|DDoZj~YzCDwQ|>o~{s({e3DO!Gu?sqT zJA=zkJp3R}$uqYs%gzE=T>04mW{_K^pjma|$S~3bIeiGahyB=|PGV4xxG)~Xh2bDB zOop)z{ZJ_iEbho^qaC-+?~A8*7vo^7s}eXx<2h6^HULn5n(hrY2$hBf z)TrYtVq%oxC)NSEZPpFxYj}@C&;OcOK6YbSN-jEUWQJGjfE@74(`{}HWXQ62v6&jY z&uB0p*qaRpG2B>-(b~lrT)GhbwaW$bBi0vyS74u=Q*7Kwmv6HvH@6u@m)lW>Bm0(& z0S^gT{zpmIAWJ<&71~Uln|rZZPLMlBp*v#K2#WdNwjTBTWy?&`j`&*JHc01P3e`qUZKhu|D|tE(LOnEFzVx zu+(A2{gAPV%7Bq^N_p4-D~{_#yFkxB-ksu-6x_U;zyp(uvAqVFF_4 zS^=tD=Emz97;ED%#4~PJ001BWNklEyvA=Z?!uRZdJ zV_=Axi<|u9;iCU(-f0g2?sBWY{f@W1x>l?G4K0Z3A8Nrm^?0*syzu(l9$o6pU9T2! zVtk-y16$MH*o?*FC+Ngvi6L9Xsicb66lYyM18iqO-NtDA*naGAm+2Szno3$K6jy z%fVz6m&U_5Gakg5VUHlMH=D))B}=?!zJ`Y${VQ)dd^oP(zY_cAx^d$2THJg5M69J_ zc)8Jv=Pw?JuUb4Uj`=3poI8E9W5&4Q~0zYtXfu9dd+?0DPJV(z!^Wkh&z5$5M#S5~NCmaA+#` zPheRG0s%b%#00&Zv)UA^LVSZ1qakhx?hTu9830?#^b^=Z?xUlA>?p!c*>CTl8uvgSMFsemowHa6l6I)?NIF_@qi^O)D>UzXcA+QsE)ANYCyD!|YH zy!y4>&=o6J!{J-*`^P`_S1*6|v*-nkjdu?KKEY6Q4*>240AK%>->B7UFIVqSl|ER0 zOtC%|#24TE>{H!l>lz*H_3$zq4W^3q^*C_$9OF2A`q3Vsezz|9aZx6#C?JNFiVVmI z{dK#A*qER#oq%RJ$lPHuO82IO+Lb&giiopgNWM2Va+X19wtxu$i-k_AK6x6);j&oD z0b7|)TZWxtk;C=YYSEu+ap=z`abYxwQ{!Ho9rok=cu0`vU-+E!?RG46IzbqS-0QB3=N`K*Zas3CQ3BOpD7)Ty-$&z@{^*b6-jgSp1NOqD)%fbA)o8LjqmW(r zHj9{;42f2`GovyxrUCcNJ!4sRqb4b1aNLhMH&AQQtTjWKYW1sL6bsj0U!2Z;UkhDj zG7|;Z$3i^lGiMLZ+}^n}v3dGr%m)1;8iU!0EMeEhdey~LwVDF1SlGRoVb-{ zkpWKmgu$^hGmCsan}`zR3dCnW<7|=WLK(GgWSTJs$(W?JR-aenPt9XSco59^fRUO& zwT?^Ulyzqb$OzVx&@uz0GNb@eq4~=0Ju*~CRw2{E4o7HqdGO&;THuUa${>2mI?@d; zEi5ACh2MR6 z(zPIHT2VbJ^=6i0viLr*_@%^p3gBTp3N2sJCbDz^b1KIyx&T6rM(k^Y1?$A>Tqjz7 z?(<-yX^+GL1T9ZuG?`MvcfQw;GuyqmJV3r=W+rCnJId`Y>c8hf3L)(>gTb z`P8~C%_yD&j!UKjl-H!F8ME{T`&@5kvzYI61I}Y;5)XH~aozGF!K?;e%zpLP06OQ< zh;c3F2ZK1hwatt{lyZIjRmR@yolE5gbOw0%8UI_A)x+2ETzCz#F3=jyYTCnaFnIIF z{@G8y{L(`Y831zn?lFK*917e6fV+(Cci#E---%l7JE_yF06=FcVKRTs&Cfa4Z8Q#1 z2gH(mvhEYph@c$aTwbP$6AKn_;Ru2uDVm0s1Gr#gb@S{%<|t*P~YT(mQqhJZ86 zzuqgj34Xue4Gc)b4ws;P{$|_*u9HqIa$Tb z%v2BJ(m`t3LghjST0LK4f2|?*0U@i}SqQOosMM%Z zj>0l;*$IVfQfivHc2|P=)$vJdyITkPl(5+C#DR7@R_D4jp@7*#Bum=|w;bH!^8&zb z_t+13Z9I<6;V3qT!{~GU*Rbi3EDg0~MZQOV&NT+*c=~?I?XwEO0H8@hB7_{ ztYM*J%ex_0UBx`WY&JP;CHhrpufdyLuMS)$08A4EL2Rb$TbCtvNiiD~I_JVPnoR;N ztnmA#$taEww&TQbJ5CO_wNO-kHQ^3!Hlp2t`>hqvJbE-<__Q11_M2`Zs|T&g)%vx$ zwH-h4>fegrdHB;@Aiw*-^>Mg~?ja~=HP|7*_XI z%iqZ~*fD1pD>k2{r{5L_Zu|1WV8eE3vuSLfKNDN0PDJnQX@Whn5_W|$BT=z0a$#z5 zWri9`pbZ2uXWOZasxXtJGMMBA?C8O~GnHQ1`V8}j6U|1wZK4|N8;Y_XW7W6wLc%F}@@JK)eDAqTfz<<{$w z9jq`f06omRbf9+zM5}y>tUIh3h+vt-tcC!4F_tzok?qC&>U5&HvOi`A4o3U%k*Lu* zs}ODiY8r4PE5R_}J+)w6`NSJYT+xp><9!%Toy@d#o(36`wa9Q%1t4bKFc%$7qmb{2 zE_InyQpSN!D-O0>addGm=8~~BD`lrOOR?Esd>e+1tzMkm+K#gun*~U*gd(4w0w^iI zN;*3}V|f7a_1i`4a;Rg7EEf@5ndCwxfL_l`qWP2vL4?7B#B3G|jYeF*ycjp`+ZT%+ zv3peoqwb9!6zn-LqMY2?isOu#>9LC9UnQG*<=1$vh0fAFNv^!F1f)5is|OUzYO09_ zJjf)g={=3lq1J*~qgESCX4CE2VD!rm|Hs$-%p>=_aeGJUm*nu(+DrCc=gJY-1Ax2C zi0^#kAHFGO)0gPfm2KG^xSCV(MK?TayEcpYqV!AMol3#owe?s*37Bo-RMskz_p|3F z77wvgY1gMaPz(X}fY!p~!|1pQoyxVLiJer&m>xQn$DB%!n=4nQnJl?3xj`eDHCHx# zhEHr>iubLbkG1h2HsB1bmT)8D!2EnXZFMznT0Iaq9XJrj_OFoTJGQbC*RAaPoD%NU ze9*9n+Yur29jKj@N{MFSPqXATvn>eoBE?<{cbno;%(6w1}X>dhjLFTn_ zAun2a3Ggf27~LLJ0`2TS7|r66Dh@o73RD>m z9>x-6xim(wlO`xJeP)tnlCq)22Mv`57cRA_7GEQ62&_z+2C~S{w$Pp9>2t=e8D?A{G{-F~7h$YZgtQRb}=nKrr*@Ln%xC zd7$+7aji<`)Q1h52n_hlmJ-NULXWK#bol%g29cOWr&ePW%f4IdKx}qhVa! z?#IP`Kei??+zlBsQ`9pGy{{d_<$=b4Puk240PlSJ+iJDi zUoVQlhG*VH#Xz&<;yXh=XLA1t4?H;zE4&)1DT8;me;HFM8TdacFT-Q6APBJwX%l^S$iJQ)lDnf8{sh_j(s% zZ90x`J8&$Xxv-*drxtR|^0s@HR$oU8oJu!{Qo)#`|FHfJxrxjbRfB;x06Dw0s0*Bv zu`{Ea;GJw-E}n?PV4vF5Z93zRfT?m`7sHg9g2~b{Dkk&r@EUB1M}UWxc48fvMdnf@ z?lpV&%CI4wm|E3QLQt4gpfM6?(B_lzLK!asAVK$Nc55NX%Ku>wTT5sL!-g7evJN>0 zt3mmIzMo7S+qa>$nB2S${`K=jW|5s^#AKQY1gfK?QQ2AQs)W-T?LEFB!n?*Vl0{pfOkg=GiZ!%aVL>{P7t}&T0In< zYp;*`f&E-N$mr!fa*H!}P}y0Y^&tuKlO<|v5i^7uiy;mZ(hZm6Vtpt+2DQam1}=_wf7E$3_MJaH|D7v~wa42BP`Rs%8uB6d~M{4=Y$IT*#Mt?f9zxgD4LaGQ%I zF2JkJcZK0kL(RiSf@XI&(mGIXnVwfZP#Qq8pExy@y1)301@O;Rz_JX6c_aI})r@0{ zi*fCIho#&i7c&UEI+%p9;enfz%=k)(tzSlGL?=(-d9}aC40}7l48sy zAJGBOfY8jfzwR~F&q!6*Co`QL+NFdee|B>`8r?luU%&JGd*1ifjSszhqj%xLc3RpTFadxBSs;Hv4*=+R9C#0E7{<+pl>>k_{R{ zYXGs>cQ0Lv0~an9r%;dmOX0tm4mn~q z*8%J@z#JOLO7x6@C=W)AU{OQ~#;m%T;QP#cRZH`Z!g2f(LZMmOrS8o-T9w5aslt|K zkYB)f1;M^#87|XRb+_CED-KnE9y!3v-psf@>3;<{T)xB4I-3sf1F*@SxfwB3w0O%B zr{!okoX`zjZzPCU2^627VaM5?jq@pULs@cnhG6m}oP$`mx^q#Rn~(OseNkIjj96TZ z*5Y#Z!_|SveXT8V5l+llpNyZXmKnXtlliH1D>8t#c}dKB_V><}q&N`d+`{*IeG|}A zIhP%3YBMGRK(7b(3vJb4+@OD{c)jw^C|z$Oa2a9CBZVy^n0TYFwvL>S32@vRO=aPX z->H0$%9DDYOYpD1d*1V~UD+GFuDEpVHQhhY`G%~;MxECLrV>DJb$%{mX7tQ>9Wby( z*_LhLGHm$*bbQ-AhDz(8mUBI`WOJ4|^l=Ucn3 zkn&Q~r{}2NpG_wxrsK(HVmkTEc+mgI;KGFuKky6x{-X)@T+ZF?_o~^WsyEtW|DM2| zcn<*XGPwWi>)-mP5%Ja4laObjN_Vr~i*I~35t2$n=&`HTP~+h+<}Y84g;Qr^l6g#O zXQoU+EG%qMmCibD+!+f4hJyfru3hEVu{^?@v9bijjigvawXtb2(*x;;)ekj($EIg3 zAQlKb!1(XJt&8#YjkAS5=tv9&2p0*im43uBd(a?4 z<3P?Iw~V40qtp*NFHRe{B7!JINKII|VY$6oYWW}`Oh(zld`S$THwD|Q@;2^)vl?+9 z2u?C0#pNP=PL}DjY)wXuAWC8A);n_kC$p*YSY{&TK}Hq#I$2$gH=|Gl(!kVpvW-~5 zLbhAdjtxiI{YEX@1O`=Z=4(`9Zt#M9ws#2M&9)Js(GjZB8bAU-oV1_HnU5Fmh`PN1H2;mU9smet`2<8LImvP}^lXi}g{bd880{lRqQ0;cGn8X% z^=NfEoZn&?<<1tu2S2F83R>@M^ z_~OGW-UTe!p@nW7?6jH12l$KU+J_3^Nv(6Z?j9Vh{Xv}B?h_!5V5R~~4EH>$9LY+$ zA2p+)D$ai#d~6`|VbA4hybpDnS>nO<;oydA!+$V?X|71)>$RY4*Cx#^{twr6WMM9j z&d9&fx4*2TiSNaGf-|MFxsde>;X_qN`tQ|}(1yKrgk(NC{GeD~d3 zaq(i+#DN=UU{}@kRly*)z8yQn9sqp&Tjm%2$vptL%MksQ*T3xpjYj>e#KM$WS}FmJ zpsTp_=Wl-Q{;IQ{tR6~qgF!5BY{trk3tYIX4mOo$vo~vs_6Z=lftIbVc#1WkTwP7!)lLzWW*-f>y*L+(XKL=GCA5JfO((fg;(N_XViUsW zVKfSWLu$Qzvd8;^b#!SE8#yCovUQ>I?NlPA1~E(b1c|v>&;jfAdl@V&)+TkL97Dza znDx-&5B*z~ima!Dt}nqM-M?Vk0Nj|X=UlfeaaQIfcLX@Cb1wV9h0h^2LfTbar#ooa zS!$LOpUq%{CG^6@SO$@c)hx{lVte&Wxn)-2wodj>ET`)+_DVF@z0JL{yBsr>u`o>AN6!*E3#x#OZG(ovyOIUh(YRfqq($9cWz^4zW`vC zG7VS>w6X4_v(us79OKlf`XFn$gXfuC!`a3$yXN@0C&(iEDd)O?H<)Bco8(;2!>Y@q z_`VjNtwxP(7?{2Nop$W+02tZ8qcOKe6M_|hI|LJh`MTI2GLmIG^9g0L&|$#FBdnD+ z1-spw7;hbx1-vrTGWE_y`IEpl8RB%L<2?j`8d-i%0GM$^7?(N#W~~;B?RG3Q>vZTI zo}Y_(+%IOu3d?8?F+)E#2ZI>Qrm;1i#D(4eAe0QDm?`~C4Q7q;=zK)&^lUnLbTk;gXL#=HpML76 zfBxRfmp?1J`R@N2)a?X)o=OElyUU)k2mYSmjdl+J?gjwg@V5JEQF}IlfSr1|C}?4r zoc@NJzv8GjEHN;X81(ww(3aOXV&&qcqTEWYNcMHKeur&(c%s+CMlD9>1bU&eogLvJ=<8gA-yJ7?mFD=DKf9h3F@U(k; zFaL|b`kQh0XFe0}9B;+7%}%`R;4!+8C*xU>1LrcP^)1@y%F>26e3ehdi~$Uz8-fMd z*f0ska?{4Atp;+te9O)+3E-?RQ*?|>0tQqp2WGCBoUba~lda9D4(sCZUbvrj84{%A zyx@DW;|Rc;bWH5=TT@1$-Gyd(%z&so=T=#ASJKg0En~4OSL&#eQJjpiX}R>JvZh_L zu(I>BXX(fc6Pc3?b>_wa7HW*%x4P$?n?>m@1+<*Fai9{&*5=<7r&z4`O3DX4vvJ+}RlpZ9j$07#@28meii+I_T^3 z0nO{9=UTy_C3-X?W?088#{MLgr|YE-g~7V*C6X!Ix3&9!^`moA^#e)z%D_y5{!FGYL~yZ2aFy)OjzeA$n0 zbJ+W-$29_b0C1OK`|daW;U{7?yOmKXMT;wURH&gW@$d_;yY)sgG43Tf8M7+|fWpFs zi?Mv^k~WrPqP&2bEmCKZ1Z=s9;`OZEBM`u;n_vI|z;XntwU^3j5+!H0Sf#a)%fos- zF)Y-1WVsnM|GPIY#Je`n@9MAr=uiD*99~*{TodYv{Gng@Pya36`sq){J>%`TuGNii zTe+64n{XLF*S`FEA+En-}H&$=9Yy_VRIaoA;L$)<57eklCtS4kNMwZsSi8x@{ znlqP1406a?+0C1pJF^pI=~(QQL4bij7I1d5$c`{BkIGr92o5ub28f97p?E&cMJhnT zy^GBV#=>Wv>i_^C07*naRFFXiN#koBmcGnJal^}%z%l`{SIJhu+~LoOGBEXQ$!3Gb zU|(D|bI%x=)Vuk*oV`~tuPJ(Sh_xKOYTw2ClwL_*n?rz;rDP~O;(M}uY^J*?UFXk| z0b{nGN5O13wh%DA_qVPP)NW2GEMgC}Q>qGUUT^raqT_KqyhlL^D6 zim8?^(}!o=1GsYm>^8@fIJ3DOXSRA|_Y{;arrc%R>a(Ib;}W%thsl%`hhVpY)PZcL z&h2ybjg2_$6J2F2P-86adxzBREb69a*W0a~V6Lt-O83h@G z16Ct+0O7qzhR((pm!oaED#n}b6?F{-n-6C&+4nNv(Hcg&$SWC)u3%wJ;5g2&zt_}!C6di_O7Vz7a3o{({cS%FF1P3EiSL9EQO99lbAwRa_V%y_TX4PK2Simwn zP$0Ax4{lzLH>{mv>0!5Dcl_`V#*1!#+Lv%z?*7)l_Md+z?t0);@yFxMxV|+PFIhYs z^WC`w1kOs6Bied1>)ZgMWqruNQ+9Q5&~~=ra{1h4k4lKLU3m~?0}MFZ%H{!WsJe%G zZ?)E6 z1_5A!9J~hr3O-oXION zQ&(3xxTsvM;NogIQWahtg*Gb9gPc$D`>W9pMU~P9R*g z3)88LOlDCcmvb6SF|LPNQOuPD2R>+k>676njUP6+oOwQnDD_u9)V z(O6hy$a1|q2V__PZ-Ys9h^T7744kX_FqiHOwmcWA+Cm&QrGXQ8!Mt(ipxL7-NN}8v zT?06JEdOiGy5NX7*thC#)*lxx`Q`bjb zaCY!f%7fNXX!T$|!F65g^=aPdW$D`QVK!e3H1xN_N^*gD+XTqg_nBo+O)N=?jLa!m z=gdy@=h1!B>lLN(Jj8NLXS1{8@%W>&(eOj#Uhn?l=K8}IKKYr4KJ|+~cYa3z^KKw- zw{q?tyZ4maF~9f++5>>QjL~=9`Hn}&qtP*GAmnN!fJj?^v)TCA?bqJ+=lr8$QltUI z>38nbndqE9A9D;tcJptS1jK3p#Fat3!JoAw4!{tb3&CL;NbJtE5*uLC8?c1PD*ZT$ z0Gl8dIsit59?M-fjg9dze*MD3vBiwT-GBYtzw#aNy|=&Mi_e}X`8!_yUw=Q|@bUZO zUE{5|p*a`dvUn&ubndnSz-cs6Bu7=-ZF{ zmk7!9npFS*WP2-Z8tS@nB>=<*0iB=#k=l$^OJy{XWGM&QA}{3DnibJKDGjiJz^`ML zjBV7w@};OB*XGxp!d{7=e-z zFJhCbZc1sPYBdB=%XFdGjxrNZWy7LFKmib~|C5_nU>NhgDx_y=pKTkN(4=2kYB!U_ z(tI8S@V&mTY=@Q%i zJLl)3xq2izN3MxjUb&)Vt`Ds5qgiVxgGs>(Cor}?%RtRz;CrZ7(Jz4xmCuVqPbx^Q zGxO^d@U{SLNR;JDzwV=(Y?du(HB^qo;+M-7UY!+rS6M>W8tP{G+1_; z*#Z1~pz&vMHKQzHi=izvgIxO&6ipKmPI8k*qdu<9;=$o||Bag`9=`KEKk>?sd;#5F z74+={c6;pJlf3Uek#DyL0CySP@4oXLr^n;*k)pwRYD%!iW6@|f>i0eG=q=AFM7Qpt ziZbwU6bon1NB8{sq~E2X!7pzn+z7G`_`8{k@N0xz4m{8&1>VeANg3kd%7Jr zG`sOFi$|i+74RYtE!ww{788g2S`LJZvULxy}QYN zwHmR|sFMLhEQ>)q=T3GK!k@u{!O+kfqog~geh&`aVdf1M%ynusnQh8@oUYqE3>eIK zEQ&ek*p_tb6L=QRW&ym?JdrL~<}garNv023t*ut9Aak$P;&m+|W~L)B>*v|yieW}M zcYQGAwcxteh9l+*qMaJ%4|RsQcogib^x|3a*1AF_*SgwD7Ztyk`-5XlxZdaeD;Q7e zNgYKbql$EssxV{+pYxOP_>?lSh@b?4hJOefO=X5`3fussuWDfQ^KyB~b+p_{(S z8#)0OO9+FQjVG~m_FOEkuan^eGl+-Yi@DvZ6z=8%fX&-^aR6=AO$OR7w3#C_#7wXO z84I*C^J3x>p%x&g%!}p1!a;x$vv_c8E$-MjQ>Mdzo_Y7O=R7<9@9+7pXz$2^`qE8P zz4NcX=5_Jg_ud=ti$UDf=*C~#cQm@)xdeC$r4?H%px`iPfCY>LHc*;1vcIU^*IYDH zGidN^@w+x(bb@euGnEG&iQrNkUf-o$vqu17*l@`{R?Hn>)7(eYr7gA-M9VM)>;eep zXCzR|+&7dl!I&V#8lTf8D>BpRg0_g>h8DW|auX_A#-$WNu4A#C26gy(3e1ZQ8(map zQER4oVW?a~>KKuemR(86w4&^kpPLp(8ymp76fr4wce+8n7`x<`T0m zqlbghHSW`BEG$Lm@X_dAb6qqRmnpw!kl87j;G$zqj)`@BSDea_k=Ih|H9CSbC4f6@ zf&#H_Nj_#C9AyRQ;E-k;RvR*h($BBrd9+todq$HvM&Ij&ZXB8K#{PDL9ez;Cm18-d z0jDD*nm}LK(;M52V}W)LdOjK&Dhq}WOw=JKV38hgs3@hBG%yVzfs~nS-ph(%!A3S6 zBowMomw!Vh8vxf53`--4uP?P4vD$9MbxZRxhweEpQSa!eR_r`r@ z$vIhEXuAAogC&`PX3^{Sd0*Yf)#7&in?(MS31IWq_bFRapjR7%+XG^g;RZ34Zmp`- zv!uYY2xxohUR<1op&6%7jwKp#nk6olbOC4nzZ`+~s{y@1ny@88@PXowcSJ#-5+W z8eY0)bKEs9{QuJARq4=RDFAcs^6Sb0m8MjzBE~_<9EDjYAMk3ZH4F_MI9Fpv2P<5< zXsd>|Cj(43yMB;B+F{GXQS@gKYlCsDLFbmO_FVsj;mGB05ppH#D@S)3FT<91IS1{i zms?uQU{y=2SRIXzK$60k-Lb;YU9%R^sYT2+8oZv>h51-PE44y1BS1^06OQW%LZnBr zJ)V%gyfhfZMX-C>p0Ua(;(e86s1i0_z=t>Me{mlqbI|uNmo%RTfjk}P%|?nKP)?+O z`2dT`1isE^OERAeqv7y)vsr(5*dN|M*jW3}rF%c}zK=+|_l1DopGCK~8@Ss8d{+T* zJ=I=f4*>2C0Q=2mgFSk@iE#tTY#$gOaCTW@~9t_bH#bTMYG;?#g8=Zd%EBa1+mxBbk`#B)}jJ zCgZqk?R0#4gwOQFf8B6kf4t%E{7_u8Z~2RV^ON`;zx{h}j90(+1Mz`bKW=F+#5XS= z;YRP+6=?dfaiBLQOZ8bswE3VY&1GDO0hIMU2Gc&hyHB&qr|D9~Vq8}@3H)-z2pK@P zjZ3h=_Fq{_u9k3Awo)_fX0I@2>v#gP~QHH>-5 z>@gcwu<@!?st{pF98~Voq^#-$T_(oY6wF-e=AeHRqm!l=yB}%vki3CqTd;#!!sUS` zSyJ}^CYzV7&@|6+&&t4Sl~on7B$its42+Nar{aB-SC_ecU`E+vyPTM~egc0{^$J-} z4XsP@_yM#N6o@Ft!tx8SI*sLh(Ox|i-9twR^lGhk)agW(lbofP%c!_lMawkN zcd7eIW;f@MOYS!MXfL;XM24U0A(FkI)4A^FUsVd1l~a?NPHN8Os1fAt?>1wl-C_SC6SW&EsMpp<)IfZV-dZ1jiG2f*fBZU50|bM0;0=P#b@pFMx+%zf{>bmHxAhbCZW*s@;m%K!Ye z>hC-M?91K*dQak>_N9KSJpj1N9r&I%{^4{so7Eiiz=geN)?SPG&is3xedvbU4FJhn z3o(ZF8Ylxk4-e+=CDflhVhg?{xkQ*)MxI=3(SaAN(cf9@VdLM7vHY@P-pX?Iux0&8T_vsa# zZR$$!2_OmffIu?coCI&#o7ZLm0aWy06*$8;`}47pJ-Z%g-m#-iYLL7Ex)h0zNdU$? zwz3Ni$AiEM<;vV}X$X-pUR^o>tibA62PN$y=CI~CO7#`zXLbh>FwHI~Y#S#xZq?Dt z&y(d)MewKxuh|-Q->I;Y3jRjv99l``tEpvNo$OwqmEZh4-MP*EtI&oV`nzxZ198lzXhUcz;J5Ded3hau9Y2R+X; zXM@)S_7aX`06uirz%`mdbzrv+X%$>l>5FS76!L*97{JtfD#K6rz)~DNJ83p4nCEhS zXuT-z#%wy7tk-IBVK$wd8I4Bw4L3ILIrrZ8-t*yK`u7(fV;Q&da@Ci;b?X?dQ<1zY!0HilCj7#oEPrp&cb`1dFcAv@t}+GKnu7*CgG1__3Xu% z+uY(}SF$eHI0ZDU*YeMzeO9qqaM4%P2$zp+a$ar{*{1jrQ?sO^jjT@SAX9t;xB#qv%a*mbH}^?{vB_LU%uy0;zPAzJhQbBe{uP6aSHFE zD?-tD-P^LljWOnGgH>lX9CmzZ!331r2xaC5r1Cr1iy_KbX&zBXuoiMNw(h)PfF#f< zP-(}kOG09@B-GYMDuK7|tr$IjFImf}G=?eYF6N9G2>iUw4)~fGCcl9-Y{l-H8@@|s zW*7`4oD;_&VgLy?iO-EIHGOtb)QHqWx;hQC!cgl6%a zyXf+ng1V)-bk_`xpO{RR{xP=M0Y#;2l?Cx^GBlT+Mi8=I$vVsq7Y3sZ7>V|+M0@|i zXrY`tHy8DGhX9Z*+9=xBGivRYTa9U)q@!dR8M?y+pk{q|P^{#2y3>aNzu95-<<0)H zC39v_F5tz_ktI?_1>yMzXpCTg+2wYF<=nYelkL>nDKBx!yLx!(PbLC-{Q<$zq}B+0 zjfYg zSp4tKVWe!KXc2g2mkl2TF!xGU&{?tt=o?MOlTS>>gZGZNd+#1>Z64n|ee&eP@44sH z={LXG3H^`7tYOqz1$TQu?+gJ9 z{K7l$i4Vsxp50lBZ(I^Xi7|rX7G-vC_S!tuI~C)}=$Fi)!-k3R!G8b|%5F0_Q`$fE zHe|E(Z`Ncgc0|CEWn6DS*+?B5g4jsq5{hYpb6l^Z(rKC}Sgx1G4WFAP4MfW1rh@Nv z&S0_WlT{Y`Cf9BD)pg&}+_bD)@>~+=lQG66I2%MTZUP}$t4%^Xmf$;aO3MT4gs3I_5e{W9*b6kWN{} z44pO9HqPuOpQS9T*<_ORA`bw~g~ezeJREb^TpQi}2gw*)%jIYir2rJ0bE(FHTbZXR&vqPxa0F7!vyPlJuMlS(N7m>~**)%{Y9IB8wHVQ=?fe zYW=81Z#tb_noWoA?Ok4f%gMLh`L_FB^P2TNcJE2sLiXNh#|Z2Jz#Rkfio4!<&15<~ zSu{bj179{Dm5VOJ!bv%ycM~}x`ucu9v3wzm7go|LhiUk%V zuE(O!g?KV!KAjd6ooGvKmO46s@e%8QwFgP}Vj9)8MCB6zm3!9D#JjgHeNor%ZcoM6 zKK}$^^1q(bZ)@S*(N~HW-stwfHRJ*%Hl5f zYBASBUuvtwRn* zN4nHx))4m*j&Hx8KpeoI3?mYpD<@7mK1JCW7}8ak{bza2D92_=PT65{g2L$F?iU_A zjF~q_yB_T2Q8osD`w%`T}Mn`hD&ER42`wGn?bRikSb%3 zqSZ#Zy3FQO(6+Q-{#ia6_(aWCbWpxs-WQGeh3M|vAI-(3XfUHw?`}Qu2aC@;NGkn*QYeB zxy)^ls=1Wl$N|`PfLF@79$P+($q1L!)GX$k&6sc20{MH(Xs6a{(7eH?xYCKlpLIBy z#`+L3EW_9sjmTWWg$#zz?qEJsnV$(DYiWV!zwVo!6K4^+8;vx2X}U=LB=0T9N{oHs zNG>E3HmBIQgU4?=7!OAePN$QPPKSg0M%&vDZJay(;Dc{|{X-}3zI*URKwq_#>yN$L z@748rH^%QNwSMn?n5W(d>;b?X_v8oO_Qy95$Fm1{woBnK#kpDb!nYruKk$KLiwB;k z%_c!0Sq%Ze{l`zl93neXY_8G~1mXr50v!&EwbsWDK03Zqh>lH1WlU*gs5wh^iw?8l zfJP6WxY>7fI*v!TH{v%hAAj64Zobow&;F}_{z7yAo`Ot8qd^u>a2mw)?^gP&!+s$`aC)W_;q!7m=wB1xNGU?&9GbpMb3w83&D(ntk^rX^nrlwGJscgy4QMDEk{wh^U7mktQVd+#v7`bDc)&^4swhdCLCixDfS(yr zGb?0L;V4E+vvmF9v%^J?_XL2#yoQL2A|&jBw3mWR@%Njuy(YH4o5WXs22E<&j5Yt|~H4?T*S2iladE0~TI@LNYO_I}wAW6+>=BxK3p* z==b_6IAjS?uOxS%OPcshYtv!;&V@(f!Z?FtALoRA&yT+{o_6rS z+@{!EY!fzYv3DvtDbJ| zjgCG8m2i7gm^RQ-Z5(}=IC9N0>&PgT1XgCL3kH*nI1D`kfCM?oYGK@Y_#|LfwjK{W z3`G}XtZUcUnDLZuPPnFn!0OtJ8a~9a?CW-79`cA}9$j9wu5vU5Qwc_I9P4NmHyp90 z+V;r(%uDG*6@2>eMUJkJWmLnib?{cPHZ_&$EY7EhpH~Mr60fv@PRMH?)ha53jKF4mQ_Ia`M}*C=)3w` z%TwVM9}5<{>i7P!yy;V6aGtc!@I7z5=lQMX?0s0AERJ`n#tY}QONTysxV!x2X7v#N zg8!g>nT$tq@ZsapVHO$mNjl~G^vOju89iwVD^UR0#8X&o(LKQcO&(fo)n-ejOtvp$ zFIWK|x*kWPc>DV4_~6#1%6a$k4d3g2_y^-_oP~sZhk&XKZ;?g>V$@aAvZC6zd?fkUX)i8^3 zrtx_c)8W3Ldh9tbb6z=1(K7|F!*Xi|XA=a&1)AkC{G3@XN*vP3&VIQWC`@?+HG0~4 z$(|(>RpcdR@GZ;WjT&Q=@L9*Bbor*C1Yg6?EM0S5EM9wkbPldYYi==W0Jga-G7B;R zus3{V{FT6$%;OH7Cd;S^4((Ph%bO*m<(7TU_2WI7$vy0RNit1oEFi!`@9xxfnoY9S zt~Q&-a}O*;tD)zf!Nl&&0kcx}lg9hNwR&MNii`a*d+82w|0}(UHDAhXyec5Aq70Y3 z1+N{YBJYm6pU4?cP?xRR7>~4*IVYW2a%!BP^;#U5Q-CyD#KC}q;|L`#DW9QBK6~fl z8A8m=*3dNg4yTxXC$(X@K`~ryR<2((q-CYJtGg zWQXx40M2M7N&qT4ZRJDK6m?-b9^W%u-+1e}2R?bvVDrqz`3E1|`poO^=|x<`2YD=J zjXien@oh!_BmC5ESnCUY?eiT5t||!J1AsfG)+^q2&)3zb@lGuY2)9k0O>SNQnLuX0 zSP;H!_1FUkI*Yer0m8;eCU7#2?d@$cfk#iCj&6pC;v@~gU=gwxs%BH^_bPvQ(@_0` z3=}r?Z0%EBkkHnRi)lu@U_&!l7>)+FP_)k7p+z&d-|$uQ;pdmV1_F?qZ!aa1I7loPBR0GjmYK> z-Ag!yYtd##pG$^5v@4o}-&1T#dW_f$I@z-7r8}q29U5pLaZE;G_|T?XAgO#ZT}~F; zD0Y~DC0n&6BM}|+HRfSMIcrs&nne6*0zr8-Lyn6>MwUhO;-Wg-znB5F(4l60N1|Dv_*cQ5u9{C%duu-dJv-zq`k5nQusqE}7dYOZ;Sp z9l%@xX9nY9l*GsypuXVHQnUe%(=-8%9&~QQ$&C6vv>Zd=@^2Ec#la{p4~EgJy5rNZ#rX$dopKjDqDw{`OtGSr{4D4>)ub%PK$3@2 z;!##t%n+Md=RukotM$QjIz2O+&Q8sylZOUd+aFjvd-~n?|I)ABfBa*Aij&07+&yo| zJ6oz`ea?8}(tv|+!mR!R>)8m(;gCPpux`bwEk zK(Evoc|&*mGHhBMEU1|_&(p32+?5Uu%2^Z8IkB}Kzq@uadb0!*f9C0My&PZJU5*Z0!KvhjoJFy<(p-|=qG>|$Aikeu zwdf>8c`N~ygIn=&(@cXumicuV!ko@v0)Gp95(pS~3=X!ubg4K!!70_>WdnWTFf1ir*_2bZSbIc~K`BmALTBf_QK6Rrbh- z9JQU2zHNX*2ugWiOx>j-*)AGfz!GNH5RG}738tOj}Cc3_cZUu5pBk0uOTMvTcU>O>mW zxVfaPjzq>9C7O_SQPL8YxEbD^9VRkr2ge?Za*K9>zBYEg7%_5XWv)y8 z-o93yA<|&@+G%3bJhI_UU<{^{3%x$U9=d9#Ri_SP=kyS;Yl{KjV=J@>xf{`Jdo z{=7He-F`2YfE}Q2H>R(;5MEUl=jyGnd$063M&PjmJ-_r$z-JIxeVyu|V&}Zu1Avd? zCOzgK`D=H*>t)T_^mWdD!%BvQ#-YwwRG)eHrsIpv_A#FxRoYVT(aCrihaWi+4fF+0 zJ&-pfY0Dg|k@`NygD8v28aBI78QNPkC)eUWox<&lfaeieN4Fa5kB9Mw3y;PFgU!c$ ztzYOH5v=-=fBKVgaDM)(yx!G#k@tV-qw)8D>v!W*vtfK~cO{=I>3fp zlyu#q*Jldxt+T^t0Dv)LWM?5+oNP~KBLwaTHEJ}Ih_L}+gh(7^XY`O|2{*IY@V*QJ zPmo~-t^|A;ES&})6H;zJ=5ngD>1@KFZqJc3m3SBe({v`9;USZTa^qBn1v6K;Zk7I| zgEKJ2hqW#YuT{n6$nu3uECvo9PyB92vkeQlUjSBOT}y{^b*`1>g6#HC>3kvJ zl17_~9?$nlsFP4scy(#);?dkZV&WbjfMZI_Zoi|(6^K2^Upds(!W=~&vQ(=ojfz` zaE@PkNsk6?Bi@u>CzYv7MPc0U&LaO&B!)j)IHL|%hppW5$gcLjn=KeVBp9y9JB7|WS_E^H5esn234lTTvpy8*f3=o)*H2emeNjI zjpZ!r-TCOEgo`+qh2?0>EkvU`7oCNL!l;7pRQ6y3#-bN5{;oM~8NYiq+f>1^ueeEl zKMLT$aP*9)sg%Ptc4FcUQe9H~979N!f%Q2wA6z~r(93Fo!3*zA9zZM=FnDv1;sSVb zjtZ2ztn7Aj_`1Mn8i&lLW;xd}GiFrDHqvNjhF71{C4D>1eb7<-ON}h#d_7`crxo)E zk#5$bn`r}_`PCq8mU4sT=}Y|qjVLJZB8v~D-h%#0_SX`KE3}gd(AfSG<@NDcn%au_ z#cU?NUNW`10|3c-=G1k@&g2pRk|~`{N0YPD>G;Fb;qd)iYikcodYg}&dFY`>-utuv z`iu3>^{w6s?)KQdtG1#)w|B1p-tT_a+`-l7H0S2N zEMj)Kf9~9!@BRmW_dY!8yMVx}GI)CcaK|wI^*{LIABf51*Hq3>MjAJY*_0X~Y!F{@ z?ADELy|Kg`Hht3FOnCiB`64W0XV+pc(m)i*v8vBTMCt%WR@cJnpGk?SO#% zGgK_F$qtA8!bNzhzZJi^aq^0i^?%Ro0ATv{zxloKO-~{HAFk&kAA2DF_N!kL{~vpA z0&iJaU5W2I4{xsF)l4yijEVvR;sB_~AcLTy;t&OF2NLbrosJnu+P0HUcZQCMCMIgk z-?n20JI-QIoKR4Snixezq2_sb)1B}A|JGi6opb6{6;)6LZPM?WN>T6Kd+r&&Z-47s zd+oJ%Q7Rt zp+FC+gjslzZU(eCx#@9+DRu_3Sa62L1^!;3!PG5&4lszH`J$I$bXWyD@S*~MMT|j# zK>VE5&GZtK1q~$tta=3aOq*eFF@^>T$5DS^*P%IJ%KLbAHpnZa6~h3!_&M)-0EX48 zMag2ym(LepEZ*&Q(nbyK(lEv=@=-2)Kj;-Ss+VvB@HOeB^`g)jkQ)-0Mp7uSU`;Lkd=#$H{WNvAuD3HB{mHXKN1 z*2+4h#Vmnaq7OOxG3+$jRHn#kk@#puLf7XC$#mhF$=DvV_GeiJZ$7Js-|=T- zV};2zrH~aOpQrgfQLB82+`1@u$E&Kc38*P0@ zor8{eOxQC{INm<+s#n-(RHGjG5s%IhzW4nf*{k077q%|fw@d4b?6ms0Gi@q*@P4?V z?PGhl=wIrUu6&+YP)ik5KMCvnAuh=NKhAfJAu*ehiGld7X4u4l1NXd{o{OO`MtN?}VM(|x;=n~wETB5lr zbF>n4mND2u063aYvz?m*h|nf_RyW$4VF6b4v4D}jOH3EWBF66U^3^u7VvSY7@(qum zQiA5p0fd~D%iK>a<^tkOOQ+T-X)2H7hRj(Mr$p+|dmIO_qJJN&L;aa%y!G&T6*|a{ zMQL3Ce=+n~e@&%xvuQ|~cZ>a--v!3gv7ysVi-XwnSRhfd00*hgq|(40=d9LaN^|o1 zn6k&Sl`*u^z5;^USm=4sz&;pkR}$u|lCIv zgwplu@@8`k zgpE*YSL2Qd{cflIl|jGzy+OPG!}iRc2iE`dcYb)!@4RDsCUurg*=E_hY+6@evB2&f zolyO+=_rTG^34Z(+ASZ7;mfbSuebJ&P4NB!x%hk$>xkBkQ%h{@Kw_D&w zN9#?ReX_w|cVp|8>%Q^U+wThinBB-6l~msX0Gu~eU-7wnez9nS-*F9)ECxc`az%Un!$Jb}J+ZU&{AGECOvCPE({n}UCC8wPHSU&o=e&+i>e9&J0 z-VfM@T+c48PS~lnQ7aTm^xDhksr!q*$kYlIlFlgXz02Z*WbyW@P5Sk52IBVs-n5X( z1q%V*ML-4%n}c?@-9be$x_r?0P2ewEf$Ms^DCVG{E>mu*G6#TVYL*NK-m7%Kvu#~g zdCNM48d7WuSXqwo;=n3fkP@0afi7tCaBtLeRScpAO|t4?{6^nh0zQx=kuFa9Q>W=b zU&wnsTYUPHZQ{h!_DNxSiY{j?j)-EMY|35FhlNc9=45#YD5RbA!U|6hM(^ZI?^S_y zJw7stWZ40N0fxk=YJ4RB&Uk6=lV0>2$vXmINo_8eTu3iyN5T|$+Nan-W~9df==F^F zIRIqz!`;|$~pbP~7-nO}xZJwF)DqSyz$@IFFCekw&p|i`TdR0-*ws|cDG#h7linx2W7Y0O|#xAULg`$wlXzVn^V?%liRFOFH@ zcQAlAKfQaP_;pkk+Q&68E*$)D?!e&yJ%PF`xXb=*KC_qoHw{?vXJjOQ@~dxIz2uBD zo?jdpxu#qypWW+si@jdII2a5HGELV;UMG)nt_@Q#_2K z{fO^b0D$vu&nxe|=U4MK_)Vo`h0JBJS}c~jXHFhlC_?ZQm6u(&ndo~F2-0=OtlwyZ zu&GebPcn(2H;O7gHhvG5$JwKvRVz$Sq6e$eT3Q&9`c>O21pl8lr|oZdtvhPEzp+}) ze(lQ3?dJ2&J>r4&cpTtI4?b)!e$RVtW3F$PRVM7@8jCeLwR4sa?FVdT7l`vTeGOrH0WAStl6|4joC01m*g+y4d>{CS=ET0!H1P~%q7rQ-A zyLG*doioI-$R&j%-7Z^$sRB6IENSeR8YIB-pP_Fq45)pfr#6&~B`tCYei@^bn)86; z9*SfHmBOP0f+=SiUpuoEHX8{rt=Db!MVGm*54VOJ8m6Rue?BT^t;n;GdudGDC| zc0iv2#RC1F!jCF$wF%UY%g-+Wtn`%r{4t+A1~zRLG6Z<6cH0iJQD%kXg;sjQ7jAyZ zDF;aBW*^pk0Cy;sPhj!!2w@Ayd}8mwp+MjKv~D(ydnjhle}B@;es0m|>8GqMkB%K* zs8x^4RjX&`^M$7rN~M*sqY(SAc&b>QP4!Cmo6WdHtk^rXVciYic+2eofM5c$MIlFJ zW3m7M=MBi4Kl_z;=FR?-vo@KmW<|+J0x9TjVH&O+x7EeqRFW$gv6Clo?zgG~Gne|k#jC{pLMWrl$ zCzixhm3}1lZgyRt_XsA_Ay9|^RyD6!5O(cAuUK|)(2h~Z06QX}L7{&*G=~@GSsm26=_CSF2IF1_veE=6}v{ap|jw1k&4t(oFw(`PD48DB=ax&1yJ%nB>yVG?U zMF3z*8^})Kyz%l)Po$%no@ZwbpNr8>QMxt<=nlGgFQkJ^QmygK2x@~JjOx-Py_?Y$ zdP-b#lV*1N6a=MUMZlHmX@NhcvgxNMKm$OY78>!nF~v+t0>2_<@sjFl$rqw;uewtJ zsG}kmx;<3r<_CQ%7mIEtoodgc+eHAZxo*#PHaoU`u4ye#k;7+@_B0w-GA)l$y zlv~e*n<_A)tOobF5rt6R!ANX(wBGZgt0+oIQ^(ZvDV3dWW_s42p0@7x?Kar6%dFY5 zsiCTEtyisFExV+^ZHOS5h&h3m?f0Q8Pt=>1tg(xHG}I+1xL2LgK8 zpU($>3A;CW#u??+FMip{l@%+VU8>bD8eEv(U zzkcr8a5j;cntpiw4fp=yo4$td9e;fI@4Fj)?2l&w0M5I2um0TEe=leKU%-zgidNu9 zYA0VP%shGd3H2fzY*l@UAm8u04F=kZ0RVCb&Z=ME=|)u^cK|fkb=_YW_hRAog*b9~ z>g$RC-G;YUxZ%&v&HAGM#hGpPt+_o%ocdinG-T%L!Bo)Ri};t^o+v>fbU^?SK6oqBxFSQWQWO83M{GO++_!-v<=|o zJ4yA&_0AkjFZ#Gbnmf+XEnR{+^y_j%@^(^aA(6dUG_izgMJSNs=M+7x{rbbp(pe#Z zh-%H2U+^3&4-KcqDFJ5v+yyRUe6R|h6$FT6(yR&WX2FI7K-@bpuhBum)1lF^g5VHr z5E(bbb);9EW%Uge0glgQ06>^2N8y#O!_(v-Nu$GxQt7%@>D!c^XVDgk)da}IMnY47 za)Z<|Md|P?lPgBRw*eV#q!YHjS#+VGVaox}JurLY)uN4pQH{^=`?!&CAd2{718YUW z2D}B`M7o2HL9BwN{xI0x=uho{dO%=DJuQpg0H~$ybFlA@2prGU`LSCF|BW~Y+az=- z;>Ic)>+l6Qu4^fg=598v*Jzl{%~*bF$~rr@+W@kc@T|l!ca09&-ldD#2?-lxwN?xn zOg@+Ymrvbr)mfR)b12YvR9KTIAk-~<#i8%O;ex*TV9%$|q5h1lT2)+j*_GoX$E=>L zFIv1JKQeMgp;~=rFQ{ zZn)vzx88ow0suVpfH*4eclZIj2zw#_Y%G*G7TGZtL?rB87)9fA&Jt$qOuX-IREX+# zzEDSMQz&`&6j8y0!47AwsfTwQ9?s{v4}}jBxRG zu!W^MI!oxYalZw8{CKMLbp%G{Ti=Ci@P7v@=pZhm43$|1KfjnU`VYKsM z5lZUqC;a3on2f!O&H*4iwJ?d|1?lqyDx(dbQl8FUs$y86Cv2Otsa|J}k?NJlqZ=8U z)pBMdrGkxD%T~%erNEYI!M^!8)R-}|xn9rqG`rqa1HOAm<+fZ(AmB@jo~(JajH$Ef zZwGPFGB0WSC#gyRM|V63+ZFX_PSU`>0V41t%c+IZR`A*Anm>1Y2 z#r@;6re2n;`@pu14%^X$Of~3t;bOJDeZx*&Qy>)A6!t zUH$igs&etWtQTJn#TqLvzx>R~#Ip0PTs}XS&n+*N%ai$HaoM2XFDm|MBbNnk`0{LQ zQ|cFS40c)qb&>#OB{s>4hl_-yU+qqNW@i2R8}I)QZ~bZ}1+2D%M`e63Fo5%h;cM^u z`Um^H{>@_j6xg*O=JJJ|r%tRItCq{Y759LQR9w5oYRYcMR;=5Ym^QQR7WGDMek#V# zwNf&7W-m&xAzJucZ3WFB3|0{+Q4Ek9*tW);eQ5VOYev7$1I=-144D7`AOJ~3K~$n@ zv1nB^moJsPlJ~R~E9|Mqtnojmtyu0q|JV51x_zfz`a8dG+pK5T)R)+bV%4hfldDvt z3b(_85MQXsia8VO1q`Vy2#d79h6*sKWg-w)+RE=etbZbXpA?dWKOjfNoizyDvMt~69JBX13A$nbtz^$THnjbj+;n3Ks#UeKZ#6dzV_A43&yDUM|{r zrD(&^@FYzmr->d1jNS!i;MzTO*T5gNj8j`Y_eac3Y=JrfKr(>nIn4Qyu#nMVh|iSZ zi@#GvxVmZ3V#(hZZ4g5ilf*$tU<`kt*W0_tx;wTx!|Mh>^j$GfaADXnuLd7*^(6uQoTdUXnznzBn#hMy3f^GWYp?(MV zof@@r;?V~%0!Gn+Qh3n$0v9*005Fv4gdkwx-4wh98W-&3If5BExLy<*rIuZ&~MhzLWvQ zF=-c*25tdL0s3U&i07w@b20t`h@Nt`ft|N>#QWz;`#~Vd@zU(|ZMxI7saDq-y}mWO zeQTkoE_yBFr7@zmgh?liv|L4?9IPx0bh1fqy)R88d)0L!li)@o`||r8HaouPq3EdD zu>SO38_djDe|FZov(wg}n@chp8ee3)VU5FQiZS49VMZT~_u$^+=UWzy+0@vu<=h}T zq!liK=sOdiv)tXExc2hr{9A}^|Bqh7qXBv`;x+OQsN*}RcJIVjy=u{tvz~H#Wzo{J z^X1|xxkB;STp_%-Wn|}D=8}I%1KmX+g0QdyWkk{RH-^T}o{#9ASUpx%==VM>Wt*0$nvnbck zm9Qu|Q0sOKeSk6gip`cSdT5<5+Ldx81odrS%#r#Plb8&G0u5N1uIyW**>q4+^2$T( zDySt>W$?SV{?PVz+xDU-pJg|kbB;aj*kf$$XUwnf@p@Fd_fFXb@Az-FE7!LhN0!^- z9J+aw+^Er$p~HXVaV+V}+(VX^15e_z|*_IB3o?KuVc&Q^Hibs!??>y`Tx!N3E6zF&L8<>qEBc z!b`0@Jj!zpPy)*tMR$QDPY+|446B_exNy_%=%cI6P~d3CLtsRq3#7H{A{5JjV{3M zzU*YOh{ndu@*_h-g?@Rwc2- z3jpw_55CC+4SujI5KFz^-d7v|sceI&yR`xvs73OYU} z3h0tS>41yzWgQb0;;JeYD=oImK}u){v)~CSOWD`Z?gjvl)w%j!j5F_K6Ce{Q>;$+V zJ?@!SxHEXLXK#EU|D=Fd-(H-;;V4;`tEFrr;(4 zVWELjC9|iH!w4DI>|?HkP8>zo_`!5}s@eAHf3gHj!TY%(Hu%PaY%Uiarkhd&@3dQr z^vfPo5*s5{@G`~Dw0c$-sWC*bPWA)o-0s|rb@oo#U~a|+vvZbf%$m(L2$Y?z4zu%2 z0TVaHT?cOPsg#ad3mngn-iNri_~Tt~;z{D?7?0~0joR$UuordVUU}+YKAv8TH2C|^ z-f-2mKNG=e;Uo@r2Mz`L4hHlN1p4-8_(n(bXTI{4lVis}>7>fU#7Vhw`NVvwa9X}l zI&+Y-MHq98>vUAmCOKiBBMXu}dBy6imRp4!`klP|1OWHZ_hvGCO6ThMNroVPkOhGH z4!kF{g3Y=Q-mrQATWgJze51v3p5|Pcl?OCZ=hg#AA;*KFC7f9*fp9_!mn>ytK7 zs`x^VA`q~x61uw~bZDFis+s@+^A{>pfd78X@)6F{fB$gG#3KX1N~wN zTiuSuruH~n3{4;85pIkh&)>&>05?h&w3(oXA-yAcOb7qy&mC3jUexA2rmM;LAPdZM z7f@WcWZW7fb+1Bq?IfRwk#aui0{CmfS$tS!TvrFyO-7U zCBGk8xw3HPFZ|*;wUw)$SFY7Bw_JWjuh*;O^0{h0pD)l0l}ya zvy7f!1Ol{u;Q)vbm6QMQdjgSqgP$ZcpZ!p)Z*nSFI3C=GX;>NJqQ5;yFg%}P9|yS_mUKv>ofuC zsdMran0rMseXPl!o%8}O@>pXEnlVzrOX6Z)Tc&~;+S6v!&qwJBr7S(IjdX3CkAfDo zQ)JBuXi~jh);O3Im)U{_oP&TR7kK=;WBGE`);{xjRt5tYRr3Tnw0LnKClh3KbO^~q zHU*i0sZ6I81#kv*cHiJVNi}W`W}Jm3K%f6gv^^Qy7J(zNUVgWokykZ-%IFD1`?&;A z%d%Ajs_bIofF~pBPP{{-dx%$xM`dl2wvBs6T^%iEsQaWWfcJn!B)C?@24^*5Y4k2B zY8#iNzIhjLPFV|@q#7QZ&sNiN*w{9k)|%RD-95W4H#=j!nQ0$>ECAXUXnUbkXlixe zC3g_Zl724>+guhC@)=KyhqOVN4qc_ zq;X~8^N;xs918Rav?UlT_R3k-Z$7J+0=<(@E**d6b;~NtR;;d$jI6GXjh;~`m(Q_$ z?p({|eL<12y=!*iqnqiXr7xAXIGKB%VPo;8?4|Ixs&A7Rn(+)(Eb{M6HdgyzKEA7x z&snWdu#s}f7FTOFQ7PMZx9_k`vvY|&NXLQP!sl;n5RO6|_1oXL001BJ z5Pg&%yyf%X_)7H0}N0!@Y zkqjUUD2hqiRFzfUPuUk8F6eGY5d|LXP{EXN&?RZfW$YZ44)v;H*EA87(~OxZJ$#sK zABYkHPJLf8hVVOQZCL&zhC>A&4#M2%mKHT?fdw{F=LvAZzQ?jLA>-6)HmQ9pgY~2j zp!-V(Gno_}I3SiLl0a43xskB#%$dXL!f zkc*Tw0I@2eJvA6Z(l>+>!$0l0Dg*zmc|Gqi$Wzr63VcImi3aeRPanj)txpg@in9mxi&Pz(cQ zru_BNVk6JUWCIX%rBdIL0dSlUV2ia?Wk$Q&g%2Oj9XJ%wi)^#)6NgZ@M=pC7AKDg`g9JV1el#*B|2bPkGG zpjfL-H0G0R*!=r5oouq2zxk=!EGWdsB-_D%!*ye6y=Kenb(^f$t(?zUDWA7;#Joto?4e{8xm>P2vti?nU;l+Sd|`nBJe*;A6yEc?yY78xFc_?* z(4U6QVowl6%Z1X06UJ9e7V`PBFZ}NRh6T6dRxtIc8C$etXY@B^$_Rr@i@Q7h$Nb=8 zPwz9a8)*=vu`2X~2+sJ>TyxI;*RJ)prQ5RKz4~f<#l;sKg)2VzA=d5MZGZfwFWZip zS-bwpXW6Bvo?`G3JlN|8TejMzfAB8XG0lH19UiuKUVF7&ddkT*jQ+Kc;ROKrq_^K; zGlRapa(KComMT^N0~qOD0<~bTBE983VUcD;2ZZR$D!m>6Aqyth*q$#iz5KV>SqF8# zz=v5g7CrCpntmU^m^x8lp#tz#8#f#k&tKLi+0>rI!v3D{vLj*}LWgGD0jL_-}6*%+q6U99iHls<8+j^_JwITjUgK_{Sc;H#E)Xw%h1 zpvqaXN)2FXcvQmW#2}ef*E9fD`dW++&O2!}7Q636R|tJxRGNC~FH)M+y`_DE1&%b7 znCeb<=nCR~@1ny;#QdcACt;wX3lH_0Y04a*RRK+sj*VWmxTgRjULXcGHRJ}_;7;}{ zW%Ar>FW5@lA8M5Hi8TjK8tr&>Y1zAkB|^y>8`FYuBr;0ra9R%!Md2@%dLQ{^6&uyW;l85K0z4^2m4K zXaK&0GJC*J%PzdIyzK0AC&pK;SX^2%xu!Zcety1Exu{Sqo!jg8bD@EYO)B>@z8Q4y zQ|e?DzofUPuPCk7DDB~9S@Dh%5oj$7fyY`d4Q}*2*JN;aAPMS~If6prd?96W7h$4{BF95(N zXv*I9`TMr^%_jME(hIPkDgtn|Sl)Q-$dbu?zEHxz@k+vA0b7kZ8=0B4#k=-|mI;a%%(bGK=~edQJQnrA)Zal0!st(Lvw z{eNj+`{_@8z*b8oyZX#C?6+$U?K(PWjP;6T!904 zQngMN8~4y#PR6+NRDBN}SGZ{E+3G%v2^Co8rj`R~zGOk{FuoIG37al4lc?19`x^Ja zH%MVMq(zq=l>;B=53QQCPNnRo)@T7o9UzNW$l&Jw`=_tJ;%$#EiY&Z4a|aFv^n5BF zEu%{dTM!ewKEz6x@`IU{eUZA}NMDST^z}46M)950TT{2H*eTsO+AJ=vR%~glW{WCi ztCva!@6JjT?@9inxq)$y{@U9c4cp#m+DyA+d*iMb{nab}H?+d>)_2yDZEzB{*h znjVFvRpR_^0gcyWC?rp%3 zj%zh+Y|pff?%JJn5O4-0Qb|e!N7t&PB1vBaK!W%CF=71>t>i!pcRDR=cf0o2dp6pJ zPQ%`D`Sb18OP=+(+zRZt-}I5cw!izw@9cAYFkXN5iks}pGfqF~_x{?)KV|Rx+SmPD z5B3_WRO~%By~Hj#5ct0ifA1PA*0@rC>6 z1v*zr7UvV?oEL% zYe21nAnynhtdxwKU32G^p|r12`>iqr_5iP8wwo-}Q2__mFEs;>v|iYTAXV(?M+ZOv z2TZ@ZL38*J0+0Y;1DwGEhQ%;#|LP)!JYzv5R8H-0R<&+ovaVfXZYv3c|VeL$9P`BR=!uAg{fZG7pf zp@}Cw>6Ge{$xHL)%JXx%+)0?PvdzNy@+$Gzm}?{E<2}V&w)>5b)tIlH{=jxN zo3?&x+8&;ow*I`rN3nXic`DM=e`m84ifcO8Ua!}i+qB`v``-HV|F8f6pMcqW#~pX% z*I)Gf*?gf;)huCfr_dY^eQaoW(@Bd~FEtyKd{Gaeh90sAV)b3SY-Gny4|Js>SRi)v za1nF133}3V6AMh!uTJ_HC5gERQ%nse5XB&Wy?djr>on|+=U!%ScS%U$`~Z-2-B z{oj1l=EB-WUsA~D?AhaKz9pY*L08f1TuUl&{uvkaWuRr&j)+XG-kpaSL&J4*`onVxl%<4EgvLm=^QO<-uJhTM&BW4!a>wS>yo{$U4coL^dw+ z?NdR+UMyhmFZe7S-tpNVmdin0WUTxTiBqqb{5QvkyOhu zF>C@(0y1t1Kz5+(t?_8DqvEdYH6jH`X+Y>LGZkUlsf*>r^X1}$`CClb zOa*!zgDjak05BtvwZsvKa(2(t{Ir4bv=@Lq3c#lJT5o#Fx--)@Xv|t`dfNJ}W^|EZ zl`O}c)75zFsTPYG*+dEu8%6()(08&I@xXq#Vu@L;;vS!nCAbz;1w}5I$oo3u?H_HegpzjDbXcKhX*9re2ckahlV{}0==ckh13 zo~YOC8^826w|9A@7cO_l%#6L_{U5Y{T#vrU2Y;bs$@^}8nHP#2>Vb^j^H4o@5%T z*=$4`ADT#u%BKe&(}Jqrgc&t8P6V5tB6M?JE_CV^l2+t0-K>gB2dz=@>sCanhz*}Z z84fEQ;w(*AWw@>@0wwP+)7k7h%yYmSFkU^f=kpwo5I0wAsjWzWAZh{m{uai3xnjpY z`}s)<7@$>*IRFt^F0$aE@%Lk+c!lhpI+(Bxou_;ZOj{JUWP+&{0Z-Y-q{=d@DpX-n z5G;Mj+~I|1DqW$orQV?@+iRG>%v;Ar5rSesmgQ9{9LL1mWzi3Tm*4*=XmPL{_CXGi zyrV|C_$AfJG3b*;ATF}IcegdRY_jgQ%{FMvQAt7}DmMeJX-vPHg*-WDE5T)8+^U5n z#vfvl--l>T=geSuWl~ofn$L)Jc&}2~`rCo3>lIn>p-Oe{)DoaDT>!%tCNz!$clsWs zg+qT~d2BwSH@X;*2Uae%0nR(juKm*0;t@vR{odO?dF>Vd{ZMh^|DoSM8g_4fD%Xd{ zBmBws)6K7W%0<;D-SWEgh9@VlD%XczFo4oYd!zsWAOJ~3K~!vNVEKU!^6Hl3aZBBp zA|48iiR~Bbi@%d1jHLRV3n$*I?12~CxoP;mtqeJB0wN~ewFnk9KQZR2#e%IF9kt^| zN4#*u)VDk~(jQIQjDd2m5;mvn00Kg|;7Qf*O-y81qW_INBdC!HAW~S`~02>zYkxG5rn&Bm& zJBkDfW?=uoh9K23vTd6U?VU9IiS;`)- zQ`1xS$;J+QsN1w(diJyJtyetnsNR*SX478x|9#l*{^5`IJMKueV()v!%j{VvpLE#Y zxwp}m0%VGz50&3Et4=#nqGTLPkh+D6qJzDf|b|JE-wCMLoLr^a4 zo@R|5po%EmL^u{&oTI>f7MLhlc;8_hvjQC;7k69>7IlGBGMChE$&SSJB0hf9NrC5~ zpsHQA-;;Q`#x58@>HZKu0g9Wgrl)xU972o26mx(k2aHG^qXM>4wPT<4JS&ZkCu3fW zmtR*{E$BWg1*<@qT?km&8r?X;PcfUGr^YX}NK(pIi-bV9Z`R^{s>Ds~N}?l$x9$sr zZ&rJwBbn@PSkWzT=|DCtnGz#!6^l6A%QUEi_OJj_N=n~>pR4s9S!wEu!QypiXPM63 zyT@9)cbYY3Z2&(?#SI7FD)8XBNed@ksUP261z@a9Z7aqH(@JC#aSV(__mYI5J#zgTzs)xuisgGGp!Z0i&&AEl&N{1n z(hWDQ8C|~m*viNlOqNd_8pE5m*y!9`m_LhQVFPwAPzdrGV9^)o@Y?bP+i7fSm$)-R+L>TuZf?$I z8?*MQx$X8)uVw%K;*0G+UVZesAmMud=!;*rcYOM@`?TJ|ZAVZ>s`i&JfAoM8_wV~# zw*aU>SHIdXeB|%!yBjwi^eG}G{Qg(I+@5vPi3fcT0N~nR{&g$n%w9VJ07z|+^i%-p zU<8#u46-B<{o*>nil`l1$F+V1|95Ih63y;23U+)~9sVkk#) zgJ3|SJBR&2@m(7P}=(u$7oQ&b-AYNq`%m4x0p}ZgDL> z768ICI#dUW*r2vMR;^ZP>k}P!P$`UK^E+I#7ln1)>`K<4zQAJs+zO*mupb}0%JN{a zW&aY_?Hf0M#6scLPh4~Pd!K-%;b-A14h8fC=CYtp=lw{`-hRJ(>Z@*DwBnhUTvQz& zzcgPeo}bU>#`DGE&|qLggF!#1IjyXiR5QwWWH)#6o)q&d)}7;)QUZSsV3^+uwl@mF z&?`MQSl;VBvKH))6@A{r(Eww-Rw~-6kr7)tT(>2)suiKdMln*hHDe~Ri}AT_cGfmd z&)CM0;b^Wzxtg?Yj@Tmv#3DHAO#wk^KY~=w0rINRwEBIpLY+cWr zq9biJwt1@!&&>sso&p9;jyB9!-LsA9Utcc5euR~RX!Q0z4I~_ab?Z0kS%iF7lm(kM1i#V7ztW+!Xkb^x&h>hJB zD(p_u-5HrRvT)(KIAC=pK$+TX$-@xqQbOwT;}S@!ZdTYK^IthRV*rt+P;`z%|=fJP=wjHTKsdFnO; z(sVtzjw}O-IpP(52@9y!chr=*rV(k^xTEaAlUhi4x;ZMop{aG>yQITMu)$)jBAufO zab|W|A*+{f3IkN*dVLdtXCh|5(Xc_gWxd9nvwQ7b+s$TXtlMlP1w;;*LYwDonRnyh zH@Iv7wnV{#P(w-&V3CIcVXqzMkQz<%` zpJOcIR^U6uMEiJ?>3INN&NUtrU3z@%M^Q<3F@;n?pi*PcS(8%H9z14+4X|l001%Yi zdItaV|7NSXSAF{WD?a#`gVN9T2M;%$dms&8_Gj7DEq@2V8`XDsUCzddu7%UKOty>iJ$N=2I}m%UPVyn>>@)NI^wWyD(a)o%9sHrwsm zu4c=&%+A=B=^3|aVI~f`W@cb;Qi$W;@hRikd8px{c%`|LeZS_BvVO@Xc3$sy{ahQb z&bI9@{n8t6`P2dcJk;Gk3cr8-UH7aSs>1MgwCDO3$9^qO#s{h&ID=OSnXn>*y1aDSf zMrQ^n#e9ge(vzuJ>TT31M8V40&Co>4bB?LnzV-8YJMP(+TYd4;2+(W=M%_&Si%cJ6 zu>=lq!eCg;Sz4eNE$JeFD}Ahh&gaONFEW@{UUkZpCz-r_q5iiqHh`vot>LYHW%tX7 ztG~Hs^5oOcEe(xaSgDquG|1(b=JI(IHI8O`Udt$5vJC30H7C*=MxsKSr}Q+jR=GPy zSpEo@ff+}}C6PlU1YlZmF6o1MR^xf2U-pt(#g;~Aje5D{2F#`K{!@(4vSTwO_q|ZL!t+Va}|adb6cpjNr7SK03E@bZIqbgS@(W z&^Z{9N##+TiW2Rs0T z&&+JK2Rd{1hNnN>?zsMiM|@Xc+Wc!D|D^r-JzwANSTMYN$2C{ktDk=49Y>J9z5TEL z#y_83u0_?{)xOP{9%i zz$qx8aKWFIvnyl(WsQOKgHpo?5SYjSSd;)1TCR74Q@EA24*j1gWW34mK=#unMy?hJuX_%$9fW^3EFh0)dt@c45$52>qohybGZ%)dEU; z6pRyAXFD4v|H%MS4j!?Qh_ttl6}px?JEmub*x@!p34_ZqET#p=@WLctJb4fN`II;x zl$u5Sk>o+|^}?5K&#JX*lD)urrLDNsu8*v2dJUXQ80WZ;GQpPcU0{(=+N@hC+k>bA z_5zxc`TfF1Dr|9l&gJsge*A^c{re*hf=~Pb4wv22?a<%z^?cd%ZCa^2HkLo-yl2%G zopt)?#PU^R^`*;Bt4vHhD_^c$oXgws(w~yu(jl3ZaNrkuSZ%Pl0pyt82LxiH6qYR< zn>>cP7cs<8r-+a#-ZowE|@Bw_h=jj{1@U0VDo%Z*NMfY!E#iXZ|7$C7oEUu5X zR}4+K!IiTat{1?dAz&N%$-`FjzzOXfnGgoeu0L$BRM}mMO5>H5@!*FZu3-R8+M6xL zU>9@e%y#>JXVz{#?>u|Q4c8v=ExG%LKek&w^kGB6#{AdwPkWNR>m@hZSnZLkeh+mL z2n-+i+P(Hm|L0@-y%oUdwu>*a-?-|ELmkG}?cQxq`>(%a6S;!DcnDtIdB30add&)j zwDcYeDb0mhq~icVEu`A5WXG!1E>jlNe<7fGm7{y8QGorwBI_Qk_u|HFEv;eD^>9*m4DSXw$;>ofE|E4tw^&|u}bjJ4uKQvVi zf?Rk{YY(w3em)0`}#v0~9yUGQwHFP`-K zr(jP|AV+*w4SQFT#Pk~aSf=2;!Y^Z0L;pNh`g+PIW6m$H{Ck64;A6xl zBKqM57#E}J06GdC1k$8?1LI4uPS%eb32thZcPXIe>xEJ^u65t8<(_Knt{|AJ3lej=bEeGu$$4fSKo4sk&oN}ydyh$R$IYtxlbyvC&e=>ZPJvv7n!>z*;uNjPu($ z*RWl!mZx)()}85eY|ed9Q+qCsYsNMQSYfU%P$w;+bkf=Rq4}aXEI^jMXY+rjtd3H^ zxUMn3uBvUBn{x{pWgf(c>RhrhO<)kmZ|>Ons;|BAmX9s~z$aje-}VpppVl9A|FKZa zmlN~HXoKY~s7gg!QXA_}*2nT{Fb&}6#Ts3t^g1^7lZUL*rm-qmDGgxQzc664#TOnp z*&L?QRH^A{;a<=6ei+OyN$B_e-&kD#VP>2Cb9=^Kd+xdRUvIqbi0%s5iHm>t_wB*$ zJN7#cI)8laZEvwvhw0JxNGI~}u3dJ`d){lC_UvyhbLz5X_K{m&W3Yoc)a!@aw%arQ z`|sJ}T*0odE%C(;01%cguHC}|SSY3T8%WniVSqDS0j@puTFARj%9*~XqIJuZOnWzJ z>F~Gf)MQoQB3}eK7H~Kd7S;e_R|qNz921dy7&vRE?LL7~tt*Bw%i1C0D$O8fFadH2 zGsS&0#uGpUu2bVqeWW4Icg8Wyd8Iw|UgG0Z^DpTDPTsJl; z`EuD-UGN-F0cSy!fScc-=>7l(+qH~f0<@T9?3S3ijfF=1fI60F6BY~-cj;-XCubQm zEttecs&B4qAWNyszCY`XMiS?gEPenq0L<;SHMVWG=9W#?+PRIJJ=ycbhQc=nVRG!} zj}&Xa>pDKaeRR2rZUfj1Mr%D)js&wnTOk@Yd&)ZQnYVij3m2u-RJ7#4E_9D7(om{b zT17n*-!S+BOz=sa6XhtXUgstP=UVdjq#F%Y#&b+KXpQ4BC5(Q^(c{-QPD*o8VgZYn z#5w~VNC5bQY1A`N`Wx@Vxa|$s?V-uVUIYU64?4+&6%B?y-|Ii;6E|Lc_o3p(6a4!} z1Nsic=m`iO80?LY=a(-zt~7SslG2jXo-(rfX%}8tT{Lldu2{SrX4+WeEwvwd>!-b2zuI6^PbKTj+1QcLM+5M1iQCt zc*s@{4||2K&N!hMGW@;!e$Fhal}N|-a8=^ z-l*YYNht=4!CV*_g`QMf&?D5>;)sLUECjyOH*rzyfq#4a#zuTFu$9BZcKpP+w}}Hg zk9+d9&0D=4TsA|K)xwG?)iJd(Z0^|cbN9aa^?$Pf0H1(aeB0;mKidY~Z}j^8lJ7=i zSESSt2Gio|uq_{1ob0Cj0b|GQ9VEK8_^0cv0L@-f?ycZS9S#@jrVlQ#R`d$v#B%C9 zG&=2eGpSgVt_%#|=Vy1=cU#l;>Zd);{@aVMKcc&G*8@MaoBsR*2Ruf-T(;L={0w{D zGcK?tLqm`Gdtfc|nh$=+zWn0{_dCW&rD7j=)hq1c6Hhp-Q5`iD@7S_HEomkfrkg z9juT7moqg{fW-gii`FNUB9M7vI#$NOzDOtCL3&>GUZ|Aqm}gvSNC9Ia01SCLJdU9> zV6y9u1PsW=Vsh+xex!nxKF--3}{x2^HA%&ge6JRW|VX|%Nqb5HyF&G7iGjV(L(B* zzevOTh9N53#pn^Zal!TK-RM$7A4f1YGNGmxRsbz+A;?re+s;w{fMsH`DvqfrIx$&QxdyVD#$*bTGi@k2tH`j@JN2go zP!axd1`@rk+G#}`R?Jj9(c|{H6-Lqenae=}045vS%u~eAxVcJ= z;FazbfJR%>v1-+s%aLNyEoR26RliovZTzj{e{bh5yMNpEgy|Nem<7kw+NSdu^PstX z*Dd$`{B6*=E~J1Tzd6h!-}Z(3pOzc+?lH@i8Vg-w4nM ziukka;q}&s4NPdEz%ogIo-AY`c;N1vV1$90EQEyio|@~lt>x4)TEVsLOLM#I+pQ_P z`KjmF|9Hs_M|4Ymuw|eO|4Xdf5m%2<4T!Hdo!NNGxErBt05U>28=O_Si> zQ=mDvs$;2;U3 zBBcC)07HcxJRk1zu}R4nOLputpJzi$m-%@$QLGX{OuJ;<3#8MXX%wi=EKaH>m98+m z;nLvH+vPt;0LiWrNrj5DOTlnOy3127VXfrMZ~VJ4J#EeHTdcWlv-S4u@~!|#=_g)^ zK0J7x-r)lCJXk{%op^DNGX%Zp&rE$3?i0QTpdaVxrrizz$v%?#BIwdCpW~3<(7-^ef;u#9n?j-no~m85k8rb zI_6klfse+6z?kF&vb>Qgbke3T9quO0NVi z6#9ii?t=ew_2u_H>cI5aK5#fdZ$9YLzYhiaoP>(gVzI^>-@4?OXI*yb(D>Np`C{qf zcDqw46bq%i8_QZw>30=wk=134PzsXZL)C?3?6Tv8k_kRf#W7_-#Qb4wV9asTOfV?@ zvd2cxjL~$Tk77V;(SptZAL^=DzQv_96HtdG@1lRNG0m53ed_qw+Hq4j1R z_!;H7sDxz((_6>~r9Cw9-=vtM33adwp5}`-Rs5cgvn|b5!|tBjY5&-qvX`Ip6#KoG z-uS4l??7+l+pb42Y96gs?X8zQ$Bmjt4$%c9`yF5W(U0x6|MkCZ*DRQn zeP5TIdW!w=O)s|bTJ5l};VTdR#IFC7KeILYl3h78=_ym1VKRuCcmdGf;GZD z)j}z;t?W9y5;JfF7iK)`NaqEURvpmhrm6x@d*nOR5_Me_@kgH?Ux5TmkLB7 z3cbwySu1$S8U^olMg-#gSUmYYvUFmz*j9^rJDdwX!xnP9tqL-_$zt8uwvIv51CUap z0r=cp)pe)bm3oJd&;p7b^eWUs(bhcUGOI6vCR3I*wAsm~i`C`~@1cH>DHhHN8pKND zMl)0{C;~}-Ihl$&RVnVbxeAs*&l{i)TD{KPtTp%Uw(j&EYwp@<)=Vq)W&SN7mbJ-Y zK?DmQTx%IVUI2lvwTqt6Sb%ZfxR}45Qb^)RG&;+5V-&iOX+cwBu z^s#H6_szo&Admiyhf3!jOtUB8=fgd|b{|$Rb}hLxUi#9J6E3)9&CtY>V@g9qC+5nP zvkIl+Ik{ZnxI(Fz=cbW`Rnm=#Da8}Z8V9R-UoryRbNZgDND2iRbOcb*1vh1pCJl!G z7KYK^)&UEuzrB)NEhcIE16SKxv0$UsiVcI=tCal@^m|k|ui2A>-L<{VhVAWiZD*rl+vghA4o#)vxnhI^ zZ10l9wM2jPKE;Lh?%n_HtFM3UhZX?fqo2Hw`V(*b;{DI;w%d0Vilrh3jTU94SxTkS zU`c&!W@&wFBth%3D7&t&-?!zw=s|n{03ZNKL_t(PdDwE$0Qrud9)6xu312n*Bdb56 z{*S_HPAOE0^qZx4+R&o+M~E+}B+{ zc))IY-(T3Vg^Imkc!{UbabJ-FcJaI$Cl_3s2F62$HJ)}&dcQ*R##UA=4x#4E?LC5h z^9t1vx~C?^=D`%tNq&0*fhsDXwhxt#)WkT`=g&L!`opyHjPpBW_3f6@SPMGP^Sipw$nCC{0>wfL#_ZD4y42*P*Q;J z-D&crlC8e*5(j{uRtZ}pEY!NsZWs-APEFapS1g0F1A{2ukWC5oX9OEKCKfIHEGxto zlju9`thq7Hq208(Et_p-+h*&}Oj*0p@ISqF%WCzy4>v3Zcup!Hkq4NwxNZoGbXgP- zg^trJ#Zhe@X>$PcYzsXaYQsnxj4tmL7wuG+h5L!`tW?X1B@3<G8huZ|_bl*_*ozjsR{H=||@#C=l5v{L)d zCV9sl7XDDiQ1H1ZpsGdAJCelQ0GN>0Q1jl$ZWOX;;hP$++t#Iv=!@w3O?ZA%ju5hq zM#1{e_`4Tge*fXdk4Jdlp@5z~`dCuB`)K*lH}|49z3up=C!YGu;fb+l_XfF>bCw&; z7xH5RGba}Oxy~~SPBdzvd6VW2_a)tEanOm46GP|v-SD$>c}#2+#Yp2*UWJ|*ic=Kg z@k6X|F!$9$-X?1`TU;r5`m=&gOt3_X4Y4+40)Oz?LuD@PSnvn`Zg#p3jIvfR+UzlA zDfP;hnIc5wL+BlQf|>SfSHJDh)kY zDQDZeZhFa~F6pp;Kiz8CuYBwiZqy9J<%7MJjttvxUUj8iamHy@3%$dE-V65c#`nH& zzhB`q|MSH+*fnRLdD!QsH-7S;zvp_w6N(jkZVet`0CN?eWMBj7sRpnG7L0m4r5_p5 zn6g#nD|L6#+AXeG9TK=xJ7`(J?MV8zDH*l>HgxF+*Ht$ zO$)kGuJ~>hgJ?lus+Var>DrhorgqSMw_NYXLKb=BxqXK!Gse%U(Y4Os?^lp`3h0SPm{$$5;!nC; zPm_j7n+#ZVuaGe-7AEZWn@u-XZcOdA){gDg*s;y}b2I7A-gP)+QScpANHU^ImbyHq zebqaeIyk0v@N&j4k4;6J-7}ntfrco(ub89GvY=}SQpRZG7EGtuF0Kn~gO+HJLLg7O zp`Q0%_7rgl?=}B@%*H~<0vc&EIX1=W>U@P#w4uSj0m#WXa6^J~Vee!tQf1$)da+Lw zY+wvh&&QOpsDAQ0yTI~Z+v`u+Y)-})DS>bfhx{ip*8KX5pp?_dnyKAu}i))p^*QmH<4VWn1kdah7_sj45_{mQ#N zYjnG|v)Q)ojfR6iPvOS-=~*eA&+*I7Lo>lxm!Z~OzB+C6Lt}DS%kEXS~DXB zjCe-fH8=H$d(b7KCouZGE*~E9VvWVHHPV+v=7HxnaIlIVz|CIIb~c-~d1ltOA*&ET zTK8DbKpQgrTi2xX^EGMS{nq#DJ-SEE;O^b~rmx)c>c7AegncVcDgFq8JjUVw$dllR z4*IY4!*BS)w=OT_@*hWxW-?WK4Ssu2Cqoo6bLOW@z#lXox3})erQ(Nu6<{rD@$!FUizwGD%Kzwhb z-LWq}_@LeKiBH>)w{Jh_V}w88truTp|M7X39kh4vKX2ab1smz4V#Is-dFR@1UH3x6 zF&^#f@BZ;S_WBS1m7P?m*d^6PzBpi^s@3YTh+#1!gX3BeX@}hGxb4x;*#>VW&IQ{8 zYgAgNX1S>+V|FrnI@Wc1OcNsli2;(pT~%IUeVGQ+t{b{U01)a)wNsow@x`17^ob2r zfJxGWO54Us`i@_0ny&-=9(Je*JCW!$oP91#zcCFV@PbsN1BNg&_i^dEHrcM=+B@E< z0ad`YCFsmTU?FW8S*g?yF04D4j)@j+Opg-8dcci)o2IU*tJ6K{w&tv{bB6=H?#z@m zQLKT^GJU4i6P+GXwqaKzCfHe|#C$rSeWa?$2p3$#2qr{YJuaLC^x5n2XP@{Xl9^L* zS0N1kEuTB3+Qrm)%!ooU{4H&s#O7otvc0LJ0yiq3otX%)LGOwYdOoGJG^PZsc}|Qm z(kHpkU#35_K0~0G`jZMOX--K>p-qbPXS#=qb+{&Hg2F;Xsr6*R3&7#=5gkK9r-=9O z92v4r!?m!0p@*ZJ>c=?g_Ii8Gde8jK4cF{%EV^%Cc{D(e=qX(r4@bKvFqmI^@$;+a z-Sn!HCsr*#uRJ_-Zoi*DCSS}i&*zKF27`XpnKsvJa>J9IgIURjSK!A6P4`?t$r;e- zilI58wMy|KnR8K*jirn-4>Irb!Iz{DVE4RdZlz>Hg@U(M1NZ~G=dWM`y|@W7rNO{^ z=I(5@J>5Cm?${hQGj2Jh6ek&Hos%AoShQ^6SvJkA&9JUNYwscn4L4HUjA(PoY!3Qp zr{JqFFt?alK3sQ8mRg}`wNk-KQG6t6iQ3fRXh=`vnzqc$8X6F^z+6T#S@s(6-G_@t8#Q&YF!bL(rsq+|hL=rtbg3cCOM4>mcD{K)?b zkMQQZzjd`){-gcDpx{;pUX{yT8foDCVA=4ZZ4=d@Wj>)?V9zui^nblp%T_$Rp2n>Yw>nq6IGM?UTNSEh-ifn!g=>C)?D}; z8(zLL@%j_6RgiN*HWa2SJ3Ne&8AF)`_ zEo1ysPQlc##sqa}VMGp{X|YJ{YP`18tF~>V4#XM-H%0g0^l|CB=-#e=-kx>m^;iA# z0bpJp2n8k2eQ?>iWzzjH^=EPOP*7v5?=Gj3kstH zljenrbX3jX?RMMksXZ_G+HJ4goeedf(y{MPkm`Hz_83L3212?Kl; z3WfgU(D;_|%FxP$opF!=AHc448x32rZUc8m(Q(3c4xv{S8>DoIi&>o^RP%WP6?Rcz zGj@a$^-skB`P%dj`|{jQyY}p}>`xyj0Eqk4>~`%V-@4y^@2)S{#sm2G9kXb{{^pj~ z+Odll9rU)&w%c~+_kUoY|G^J!@$iuS+yzfJeD1Nn-v70G?LU6>@9nf)#hy{0uzbE~ zwOY+nMygVEfF`qC*U~r?b1?H+<(DExfeYI%v$Aq-JbBFn%g1B=AiM z(<4}P6~MGWB*P^1@AaX0}aK98aT55$o_f}bTbL}7=M&)LfJpKZg-R(e48-MM>l zv7>~7wx>}&;E~mm4NJD4EXVQ=AtOW)3bPUjI*@Rr|V!`71^#KlC~+XOBy=YLdBR%^nsSMCVGyW z`Mii*mliD%{kfb(72jkoQqjDsA@Ph{PwLg~X&OxcQQ(pmGhBFGvkA7{Z?Tvo#X~ao zzA=ilpKq*V6X0M2U2)1~+cG+2JBDk_j)VrVknvUR5Bl4!(|*p!Z+PLq%!?-n1A2b9 zt8#T$i64h-YFIi?0S)o$CKR?D`}&RL_^x4AA@u;><&07?!qm!O~kPH`n-N;U%` z_ELbB^D#9#$3{*Y<3uZ`F%$(yyf$o_aGgCX=5l^bNa2p77^PUU(Mri`k$uw!F1e2b zUf1qM({?nPHr;{642`5c{zt)z0IEKhW$UuP(-;@)m(}<&^Rus|Otuhl-;6>qmjUX# zyHNvguipLJ-~ZD;g*YD(FM=-jaF2Bz&3&}g?82GTel-gocpF8k8#4twEQXF34X?(b*}h65dA>-4m};{6}A?`+t(&#$k4 z^4a!>FS)@`9P&iH-t(oe+OK`$lXm)`WKXZr2e3W_n*nI;#4s?mtKB3QoN(g}@jrft zR52$t0U&iE)F**C5$md!aopWWi^I96bY7xma>scdj|Rb!mUQrgw0_5GwQ5qesp22H z1G@nmI)pr0QTr#I|+lMcnlwkQL`Y%SM*3id1(LZ^XFBY8bs3B+?&Z*P6R` z*xro~+w8{m)^E+x8%(J(h_fptb{q&srRaKDYWG|Zm+=xKFpUbujELTKm?195u?5np z8D)DlTnm{BcJRQx$ICl(06<48JGKO5de)2oe2!uqlmhp05-s$cU5gffstVSEF0T!bUR5X;&+qpJB^4`V^|}rSk|0Px!{4))w?IGMqD>GtltiTD zVp)kR76}^}?`9LaSylqG|Fq^c#sXqWHr=Vr0ggWgcCTKs6+>*LCR1p6S4zs_*#(UC zZr8TVG;Gt{oNaHm>7VDtbKI1WeWiIcfi5K*ygqJP(|*FtZb=L37Z?|e_hJ008;w{; z$!9nRQ!mMcMUDGa$>(hK$cU{PuG^AIIoS*+DfKuY?w+T0b2-~K*RY4DXKcgFEGu(W z{<6R@n-10-5wqumF~bzb&>2JqWNWL@{ENAN`Tn1O z`*+@fMOT`?Ec>_bkUN3}cmV)r0pORu{fdI+KG5lO3JScA?4yLeR0aSX+c;4hUL#H! z1I&HrQ0UQW+2lj(QlWBGtfl@-dhopM9yBH54$2<-KkZtaS?qz~XgPoY7`$(Gmwj<| zr(Jo*>Go%@xQR^5v$J;Y+GFgU*Ia#A-8+uvsr~-v@3wb- z=1w~+SFv-7L(Xsv)rZ}R1Ph@W#?zY#%nm*Bl6`+na;B(g>dc9l_J5^LEN9&g1@ZEE zQs)CqY^6HXo=dxDrM2Y0CU8cefYhnEH4R?uOPsOeKpHkuaM%Q3!FBysh_}_-)yHD! zYqH{R0fDTZkyamEM8uTgdOd(g`cJF`0YAEvsTXFs~ zodHDksRwmjAHX4WTcLGoOoPpvweIYc+p)Cv?)JYeiePYl-Z7%9)D9N>Fr;=DWB>sQ z&;e8&WT-MZ0xAHCR(ij_LNtAMZ~}&pdOj?|>gu9uT3nOb;d$B$3tlom=_7{k1o(9g zl&7?4Wh0OzCep73jADRDXGMcyVY-{l2i^nVh8Tid>J_vQoqNw|GRL0E3$TFm@$YcY zP~K-R&IvXI?^oYxrR5Z3G}fiF6VPC~jZB5u8l{?XjD)caHWXmdy%IC?Mhl|AzTc-v z=aL0M5ldDbQMIsY44Wx@2=3ns-@0%W*81rR+yZNjwaRyKuArRzH>fY(~ z3>`esD(;DX{nlqcXTN*b7wl<;x}8%U^{yXCnL-?n0LfFRkbp|Wo>1rP{I+m(TX*xW={gL!%vL+BCNSl^mEupQ+^x&0-(3xpS6JQO~ zXeNGm2&zlZda8{dcZ#PKV~{&=ZtUD9?8y8{{_hf&5aW~h%P(}TRt9;vZR(zsZD|@TqFP!&ffu7=mWK|X?{v`sa~g& z2>8zfDB>QfirLe*;h9LAk^q0P$~*YUbJ4~#1W0q6n_$f57tRQDDb1hN7G+b6Sw}w+)L%ZEkdg9Y8#-UQTqpc$B45>EX`Q-plWN z&CAeYXgr^);Fv5y4@1>!kk;4nhh%^ zSw{I#&2oM*FR6D-yQ2t5u^49m!ZNJnO!c!0mOvq71_7W1uEn@&Lj|+trPYc}4zV&9 zg&O$du_V?HGNn9I*sttpv~0uPDcd&Jv<@UJQEiTA>6_=!1BWz|R~Y9(){a%=h_6|X z(*%+Dd+8`Zxe7b?s0X_1>O&7o838svgdkq!-|Knh@tV;QTQO9(#ct)rb8vaVJbfL$ z1J|`}239O{wzb)`c7Nb57Pz)7^O{ZVdMuzuVV@;T5*z$Zy~|zWuWmz$l}_j=Gg2NL zNbyxVZLxp}gE<&%?6upUYwzCk*_j`G?;mG&?P|0hcwlzpefOb4F-$g-zm?|I&$B7t zqmusBBzdCO@t@i6d*c_sb!)+j?*_TygDcRyM6JDEzrT87a{YL9Xsz$$Vlng9ZUBta z(>A$&W2T%vt#-`P$yoSZ^W{}pNDF}VLj`LkDmMAdUCWa+mhT$+g?@8pr+u-p%Pu|T zWP9H$U;cjui2dJsfWPsn&)6T`{UtjuU$?WXBec&c6|6oq>^*>$`ji>17AJ3u=4=(5 z+X=+Acq`SfM)&(%TU3%U20<4WX`Nt_R4k$(&6F%zD}o2=RXof@aQ5D`5m=Q1bS97g z$MkWC`MH2|rzt&&SQZ@O|7Y)Apfx?u>agd(|K~pU8EGV0mNBM4AQXHl#6V&S?P_SV z5|TD62^3>PfJG^UG&OA#rI5=it-G4GVPT+T;S?Lo*cdwo8-$F(vSmxMb+xS9j5PQA zocn+Oy7u1B{=RRHN4DbH*p|-ml4s_e|NQ@VdB6AF?|$~)k0w(!I~SOgpq~*XDLb$$ zb|=W;?=)M{Nxi8>+9da&`AcI%nIT9sOSQ|F#!puZ3&YaUmqdGEiDkvn+Lahwz8F(z zSZjgV(%Gr(OydLNXJmrl#)#q502zwU;RKGEF>PV?Mw^W@fMDO? z)P8yZm}%z4aquomebONF`nj}fR);0+bSfLfI`mfMT6H*(kx03tGGkOidb1e?*udezyEE`Mr)rz7p{eYFveoJF-jAI4N?Z*^^&CLi*gRgiT;`rW8DN${em>J zNiujNW2VSegH|Kx#%&ixEcLpvzpt=m#F*?XZQvNNatx+3nl-j2Ai%j zVV3rg0Z1lrZ9NX3KCPhA+<8e0lKEQ@+?E+lDg`hzj_LL&sYw?CFk(Th9!xNiXbCrr z`!_Dfof{Y8yT9gZ;x~Ti@5FqX2EG*6<16hw-}IjM#;Zm5?ENZ} z$#p3QrhjJblqP?L+R9WwKm_(EbzNptYCA|VW4YiGG-c~9yHIgFWWjRhYN0V(f)z7@ z8!Wtxd&$j(fhPW>8!ycoW~=cT)cRoKVxe>bVx0FBHaa5MIxiw%*l9ywhSHIC`2=n0 zK=uyV*>ApYJSUwJ~fgY&pAHvv-1AbDkWZc*&ZyfGd`1xXl}q%Vpp~xt`pd; zHu`y66FD5jvj_LZXrUiXl)v$8CrE>likqFHc=F<7kNy|;-2U@eR7-~MW#9Deo$vYw z|L|Lv58wD5z4?XLv|4Q#_VyQ1?3oosw_e7qmtE_d3Fjx0^&(JkKliFRfT{}aav|s- zIZ$fX(z#lXByq1-R+nmR0S%x%-_EyMv9I4@bjf0;9o=R#x-F!0YAvut$P5?q=q?Y2 z)VW46RwksuiRv8)nH2^le;ns5F^N$`!C~Nw>#wCG=a4 z4~!MgqeT&i=I7$@!W>N-c#;sf3^y{L)0{s%XJMpY-X6xOwY9iB8Z(AvI8i2_jxOae zxxTXeo)^(Be9vLN#@?87{)Z+tH|!Ps(=+L39M1@!r5V;H!hZ&&Bk8(SV=F+HMKBhH`%LuKWJmVis@i zv|A19AL=)JGM>y{vj515ezW}&?)n`|8>HlRvQ05^>NkGRCS^$a~=%gMk%fZw_LMNGkLw#;h{>yw!IyMmnqR0?2 zty+tLe+d|~eH__Ib{h~#axYvne=M;x4^J9Hf(7QCrRzA$=Pb*ybgId}0g5DBSrMS5 z9*JNs^@mj%E!o%HxKU_dmb+En<-(Zl_Q>$Mbz^Q62z+vJG_z%GnvEkgO#np0Sxd8# zxxHn*$p=)SgZN4or*A3k(|12i1g>9cXH) zf_}Ntp^i(MvZ^Pqav#aOaxoUrE<1E23oe<3SS9KTWU)$~W zzI{5Ibp;|6=|qiQmK)8&8ib{&k88AZK(!$d>u&I4ou@Y)VtTW^X9+rV-z^22XJ>#I4U(k41JgVGIbXuxnX zoIiV;V~(^w(q(g>bFCk?u0xf>tLFfJK!Cr#vDNK#t~R2$G@DL8J>J~>)61WJ?2jM$ z-~NSLUe!ysb+A_lc{~5^e|s6f9?<)ugTHc0doh5A=W~ufd-p>>H=E4C% ztz6h=H!UALxzwM##S=9HJGoOFM{|86R*pZz#SPhX96+_^^wI-nPg?A1!Ng?wj(?|9 zRHYI;_;w$ACyIgo(Dv2%qs>e4npUBWjXb#t@7L$jgcK6%yYSn zhJLdywc>t?<-sNZix&U@*c+9fy|7qCL;%VK2jjsYNV=f9`2QM)BFlLAJx}!4EL!dZ zn{puOaCGiw{k({~B#3LE@~N0R0Ud2t@INwP*%MS_RC{D=C^bfvO=c$100Y;~%z(kL zfeEw9vR}P{iWh7Fge(PRiCnQL$T8Cb&*zEa^=TRp5*WHf>oRXLb7iP=>Wb7WH4Q|` z>hl_;?hEHg*Ld~-_JV`g_}+T1;G$}<;WByxKD=IzbP>3?zXVZf_P{mj_xh;^69~3r z*P9C8GtUngXDYd6o?3P+Qh#ho5lZ&B?EE5~rQ`;>zFvJ;LL(!s#a6}_boWqiX2lVC z(G`%z^)VaHa~h8bWbwUnY$xNZlAyY}(43VKSDH)pnRu2kwvHd#7XyI5Yyl^BwiEOH zek}IqW1&00vCy46*6sBUOeT{<5e1EVYW1a9AD&lg*vfI|&J$(MtH!w;s5$l0kRziM zHzhR_h8bRMR;Fdfov$GQezN3_$? z+?W+acZ~z{^Rd!xGi-Swqgd>9#{A=!su*_|b*sZ6nafMtgSdjexuIUcjIv1sW!Vxh zD-2vyYtN}Sm^q1-DF80%mgB0dSZJOt0ex<`Bo{JCmj)%u8k)1|boR_-G`w%LwRz8M zbNl#Yd+Wsc2k$#^;_Yu=Pj>Hfm2*8bKG&c1W%o-0^qy;7-(>)6SLSE`?4dVJr?Y=H zo6Q>1{fUjk#HAjft=Y{h2Tt``-J87w5@S-t2r(L)o3V84nQ}qlM4P==S@y8YlM8a? zki7QpYu63X>7JsRAg7$99@@GRAKbhcue|xDc>sp$xRxF2l~hJBvw%q)&Q$DL0Tu=J3dU}*Y>dS&84~UG6_$%{n$hrr zU6m(W%-Lf};Iq0)XqT;?sBn>rjq##{@qlB6uwKkUIwPkj8&ynE=`K!zic4l*m~kxH z&1+G%IfI~$3%$hXUi748)ndj4BEy}PIVn?0o&6yDlO05KJ@pyXlBGV(#uk?@IWdEo z*xJgrT?&r23lUmPz88CBXKozC>$O-5i*>Mw(hQXqHn-Fhcuw(nmgluVD;mY|DAv>I zcq^6^$48Km<#zlGV?)s9p^XF|C6zo)6XU(r;1^mn;~8@dWW0 zVg&nh>QODdmEK!w0kk!2m-p5BKb1;VGE`|ELluPNUV>%r@ zFy7kugSCer{C5w$`OW8QKyRlhV<-4C&?~FaI~Kt|H+Jv&EWWz{uy&Px`oo|4$Fo^+ zJBGS<1ZI#3E*g#5Eh~r4^jfW>e3-c4N+&Yd-iqGVb{sr+LA%&2i^xSK4V3jm(vN6T z#Q)r9)65bW4SdmwhTrEiFEu`}~4<&ENTr-;6)} z^keb8o#lAh+!Dbbot$lG0aa3>KBgt0fbSt6PvrqN{7;p z!63w-W`LJ;=W23PvvY?Io8c5;m%6nK8`s2JOq=4LIZZGaM?#O0X8ZU57sWr^|TdELKUuPyn zE<j|qS`bKOKuD$v)_ zK^(gor{qW4zl<`XCT&IyAMZcP-5He4?j*@%61cEbEkN$`bg914>qm28F*?i3 z(OOuH;=qCE&n-lc@0)BiFO*tq8st?K6OBVLpA|SHIIl$>m4Gh+wact}j#FQmxp=Pf z*u_jRlgvKAA>dU^BS7J{l+5lwMo<#PRQ)pNl=c zF3%0;1m`gf9Od&>YaNIT)Aivf))_A|iuEzhaU5%G`RA}@-3bG) zS`~At-?zJ;=i)cX_r*rWx^jfW3UMx&>Omo7ej`Qx8_ z;_*9vbM5o6d(Q>*o(uT-^;7MuO=tfj^U!h!;Xx`Us3=~t@5tGH zvvY%}XYH!Sqai1>K4M_bT}Z}9W&}1#F9)tzKQ7`lC1^s^XC2&}A@las* z|M148c>nsj_@*0<#Q*yvKNJU+m%pM0)R*#Le&ARCpZM?-PsZztxwvg%IlA3GnLR8% znE2reb_o|?8^#cnq|5~M&>Aa4blrd+6N5u{9dF^1no~z2ckx+HM`$&Um!R5Z=Z=^FW#b`QMA8khl_>>CfK-}MaBs@; zuqa2ym*g>Gf;7N&x!tmmI$NyQ2w+n;$hZ_lI_d8!VK!qM3|U?ivv)Xt$qA~3+FHtH zOFB%lF<+aY<%#uH-#E3MUYYTMhuNb!N_GV;+ zG7GQlFPxcZr7$2tC|fYXz&sbw_rA%-ZS3beDCU`55Di@pZv+??bX%E+9QwPqB?VrLp9&7&hR}K=<`VV ziemSk&sw|-0Bcw2XaDr!e>s~@{!tm(kvl9?#&G)_T{?JSq1QV^_9MX=1}6YuXKgL^ zpS>U_9m_0Q0Hl}5mRMX*LTInj zEUq;sJpdh-E~*7U;$Lf@oaqPQK7b_N8#_!-j84GExB#fbJ%tX`B7X!XOVgRbxQzyZ z9$rT?MwT=kTP|F_1snv22wpb0B4y1cYVSkQCv70g?c!Bn! zV7AL4)Ob&Ks$t8$+yG(m!U9jBKZM`CehDy2MlKgtyhZ`t(wf;6L6>nFNWkzA&}YXF zoTme-y`bYgn5&oiF`P%cqs1JHCeE92F*aT#n<6K(?yCV24am zb-$pyz0-~E;$rlcSE4b$7~MVlqQ7@v6sgh0_+liMxd`d*{MnWLmk`v7BnjqLBW>cx?wS5mk%xME*-entIH|4e`3o} zc0d%5bTwk~(7G$buA!ex7RF`|Ib3TxzGRIYXv+JSqIrWzN(BZ3UM{zpf)vNF8AQLu@Kfvge+y3*;zuqE^jmYs}XvA_6_Fv1!%}puHO?AEEaJA8oTzy zB4R9~q>g8ShKFRMRB90`gbAJD!O0eg)l#@~T~lXJM=(2K)23_kGgVsF=i!*y1td$$ zEahYbi%XYoUsjJtA@h{LgiKtP#_P2ZCg5JG4IJ9%VWUzpO?C;>1d;%f<#@1|WPVg)cPxy-zL`6+z3IqwWDap` zMup(IVY34ngiENTH_{EO978!M^Q6Qm;`4JMCL=u3{T3i;#uRcEBolnZEQHf0xO1-+KDOvFOMKDB~&fM(*`^1kJGnI0U zWar4XBatEFbEJ9CfaJ^(r8EZDCH2rmT^S0GhfgvXWeb+ic4|EhiWMo8DGhn;Fz#FJ z*5+`qb>DP*bm!pW*+1SobMEr`*$Zoz-v2x6SFT*Cw^FOKde;Mf*8_21b?n~rS(kSK zU|yx$Z!emcU;C*y7mebl@hv|@7<6_DHe0RY);)(;8%41PgOrKqsoTO+(_dSQV2-}c+_JD+?YULF1T3v(-+P{E=B2x7q%sAw??go{{4Y*+`R=n=Ue zy}LwtRScLIe}e{_B2<2dNu!x29)Rj?E037SK@F3od{)4WxlHVM6vRMY&0iVU>7rOwKf9KU1q!PL^=&0{nk=7L?W)XM^`W+L zrz~}%#9u2}gN+=)RD|GjL(C`azn&ch1h(}%|~l)KH4jLV(!49 z=y$L) zeD3F%8@#elcaugLXYC=XWTn%Jm9790zUW}R#w}W8*4`{OM&r1+HK0p(SY%7ITmX2y zWhi@sxs(Iw5mzO`A>B-qNVAC?>fIHyb7!?-enOhwn^7Hatl&9$ z^XfDN2bCM}d83Q>!+3Q6ZfAK?a+L62DRb7kF~2Zh8az-&gKkPYLa}gIy!=JhD%s_a0ea_&wO7$rMmR?%aNU^7Eq<&@K+4B#Vn!tojiBv(1bjDSju`ks%8 z8qsXm2C!xAmz>Rd%;(6`ht(n8mofAl%Su$v3&r-;4F*&Y@-NRaRGAtJhFj)Y% zG*r|`8H}CLE*9LE;DkU!B~+H>vn5#hIvT5V4$OTd>z>zuJ%9BanZ2^{!H&!<)FseT zNtxQrT##{&?hkF&O)MPB%qq3fM3XEFo>cbh&C;7en#zVKRkdrbT-~p_2??N5+Te^~ z$^N<4U1~w~#!)40FQ{gA#UyF&aN9M3YL(%5O%hN5kX4&eiu+1Q0NzJ{(rcs`AS~o! zbF-xw%52cl?%5mNz5AlGyf-@Y^U>gKgduur*Bp0_ui z24Wn;S-GI=yHUi!xjvaolyyDE&!l5f!NF{hfh^BX*3=4lWSdWP`#lky8`8W=KE)p3!|cnVtq0meR47$ zeQdnGe$Q}Y_1xyOr_LRF&pR$$dHU(+V)yEx?|Of)2K;9)NG~X$_gw4kE&$9c^Nylu z-TmQ*{&g{({wRA?I^rXLj=_(C{<8fyjJlm}m!J(hRfzbrmn8t;zKfTo(emP+PBA+v zwa{CXo~4j1DKUv1yKzw5X#&CTA<6{K;=yn`j%{zo?`@rnTlegVcf9fSanphQUkH}^ zs{0*?#=qeg{za^AZN(4t_s7BBJQpW9fV&wQEY<_8Ag^;~0Xm9Du>lIZRfsdP`6S{Y zK=IZwcdS@M4T@a0;pENKdzDvQwoo}#i$y`{6rjnBG2SBa$d+tS?4qPvG8iNT$ zbF;vbWR~$|u*kAJ1K#r*rt|~H*zJKO&3@p?7@{0+lLN}RiWE{gUgs!Hm;i&uL0N&| zd?J|wj%|RlYMOA!>}75q$9B5A)%_^Lw!vH@UTJ!(dZ23e;LRC5p-5j3JPo5fPE6NgZ$?)M00{Uu## z{tM#_#v#a1W-~H-=LaLURI6Y2lH=o;(6uHY&&`*|icqXv;+_+(VJ&kboP2qfp*81f zjB4|Vue!7XQ)LmwM$BTPC}yX|!@);3E?xSgM}PBI?>%?--O$g}8NBQLy$7 zaQC7Bef7nE7Xaqfxc#o8z1DvCSE49h@4#D*aSvFMJ4M{O_wcNp86On0Vxi0ak^Re8 zzfL+*001BWNkl~-|JhSd$6x=IUyG$iGye0=o>=P5G0RV- zHZf=1Q33#Qp;U*P`o!88j3D0j!barf(#%X zpw4P*tGt#ASAVXr@-w@|s0$2P-VCPIWN3|%+JDi2l6iSmqjd}LD?JjW1X=#3#w>ME z?8}N$HozIRGqumi6#|PDOQ>KA$cm<>Dn;C6_)2h5F<}4;W}g`0P%e6@k>mByhKI+V z*;{7*+-gmLZ^{K0*H27B70ZEzU5u1Ez3^GWQjw)Otpru@vF>9=uRy7v3%wiDdts#J zkH#F8<7Bo_h9OJX2_Ee}#QWgd%H&mbS&=CrgR67%h>|155t-t2{+qewCQ}GB%gh40 zJ(!eo@icqFEk~`hiI@{Dtr|;m`|=z!09vw#N~@^;(y3QAJD5@w${q0BEGYv>t%eP=ZDv@2$~qy#^cx; zPg&MoAC6;OKI?XnYdo>cUb>pIEm=C=d7t&Lm%tZC3jj#t1tl8N8hcK-2C$g{t?7q{ zBm^2U*Xi)Qz+A$FG6#ka=Vixw9+T&-qS=TmDB*(Hn-+|mK_A`iF^o>q8TuX=zMU%ObM6T6Qhc)2H!ok%SOpg{Y*nc56-MVpfuZ)y8c4=y)`_e>NICI#^pf zzJBuLvCsV9Z$5n;?H=BEr$e{8sTDx1e{biK^P&TK&$Z_60>Hd7KYH)Io%xOSuQwWv zzvuQvo*>MEV8Fg~&tW;=ay7&bdpOvZxc2I5ES zpT^wWoWgd;Snx(En2y-k+~lNkY-=svy>TXPTwIDfe(Vi#>!BAu0K~%ebMN}y_^nUe z8!vD55XmTY1r-1k%tIx%)GRaz9z?ldWy zHkh#B-Asgp{uzdw#un!Wf+571B_K@J0Amg;CG?bJ=aO~AZ0YM%mKjyRq*OT2@a2#3Ab^e`_ z{!va=ptQi6fWKVdU|9tgOPyXi^>IV-nPerI)ut>xca_2Sz?K@gS{?%Mqu*28GMRy3 z;*rV2*NxzkzKLw{hz!UClVY<3imI@1jmN?EHjkCMOlMi9RDd7`C0&#uJ1qj^@kBy- zNe@&}(0OZ|*$mWP*&iz}xiywTEKJg;s-RjT@Hdqn(=< zZ-5MpdEFAAfZapT@`deDY`}z6k=(pCX64;3P~%vvE$5tsHr_ahL9H~BW|z&Fd9%Qc zLdp&dx*U;YV5|8G2?LE->Gk69d@l~o^CJ7je1puD z#Pg;&6?N@Ve@5xhP7}wRJgYj4~(7+;>|qk7}6A!d8Ohq#Uzd=lcLdR zOq-3yY%-mmn2bh$xOwUPdp`Z<|Lfk;va5tAsaASq!A|u8}ZKdQ*mTrG2Z!OZ-|#3 zKKNYV{sr^>yB>cce&TKKh|8Os@qL|@xV5*y@+I^CvUL?pogH*^fT1Iw^)xMDQu6}n zdntxcnliQrOE;uT?`kFIaA+;$HX+dXkR2#oy7f+)lVUFJHa+luQ&Zyx@+y09@yIY{ zE_T^IOXi@eZ>HB3gE<1XEEjuWvi8j^pcxk)XR^=)gvr{-{h95?65!xH93*Ry;mrww z2`6$bg3=h~l9ie>gJ0YSYA-V?37?P5J8PxHJXBh*taw%LM+t?Pa<+|vc_zE1AnL_T zACD=Uwc}4}A9)R>XJe^20ZHX#%|64))G+89*@784!w`110!skM;{bSSm)cwacVy0$ zrOebhd2u&e=6<^Zs~ST|qL#)YUuR27bX}5VVgi6Pz>dX{u20#E1|J+Z*$dhlF?F4h z>lpXEyRgIi%ZeuGgFlfaXieoEZw8n@N_kw*_G-xYx!C;IXDh( zESTBnsm}e2HD(O}y-6|XDa)WKWhmL)G}_seg|OwhR+E9t_z&GE@Fye09hB|~Jp1NC z*S0mCiQVIW6YBS>&o(=iE##7YG;`@rD0qMAVs*XztUJ=jV_M&r>t5?X<;eGYUQ=0u zY^BvCzyo`UkY)TGEFVl993#1LB0Go5Q-(&b4Mwp!)p;Rwc{9@rEE}jkPa6wwsN_iY z6P)4rsTXxXyPqKdKmtaZZK~WoKT~)%@j0c*%X4D`Nk1(FDnD6F#-EvvM^9|8Z+v?7 z*^`gl{eS%P6LIBAJ$LW9O1rhYStAsy;&%P#JJ-Bj(D!*zz%BsH3-nX(f1)?PXY$sF z_?x9@m0+#X)HEB7)ti?NtVp{eeFb)D(3!yG(LH-U<}Y4kT!3@j@CI@etMq2~6(3AK zOj_uq*GTsvx`YIDT4=4bNkGXKP}51ApA6%U^)qo`elFhiV{eSxjvRWy0KMy-$fwVq zjqm^0Z;7?RAYRt&#&`Gj5cFXJBdbJaz!4n^wY8R~CS5Dp4+9+PyOQZsf8Z}nyiOx5Sv`G5G6y14AU zOC|}Q(-8YXW-<*KEru*BV3!MHhVg=_VkvbdH!9wf+B_I%azkg0qDrd{oK~-2x|}mg zMmkK5N#ue$RGYxS=fn6XvAh_|ij7grFuczgv3f`CX+j$WFjR7 zK98Dn*baHk9n$6EL)1+~AeP_Ba(KyHW^giD_EH9;8M?fF84k`oPH1A&c7xRUO=5-?Ugyro;-xFphyf6?G?T7I zm9g^S%RZr|(6w`wF#&o)u;>61c=)hb<7+e?#&9r*v*Tg>_UcJC+&Grfk z)nug!R-nrs2Q3UJrLi3w-alQK0+ez^3e+fA+QuI2j9s$A!i@5f%UopYQlQT9Q1-u6 zCmAj5VupOY(tZIzR@zZdyk<`DGneV=yL^K{@6Kg*5NB-`&kUvWy8JV1D9uE&MBZtq z96_aTn^Y1jro&x8kzj(X9~RCk44B&1jOw7ijb$*gQ`%txbf{&YN~mTRSwxH(z+bjR z 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ǻ&GW%w{fJj53+2Es_^l<)FzZU_%BOmp1g00*_+mltOO+MPmUz zxuHo@CDdv$F?-^GUK}>S4#Rt~7-o6h*PYQ0Fhz`@zfnwv+PA4?7Zz>h=cNuP7eHx` zWG1oh%Ipq-oWzLIC!sut(qd*jvP_&{144W+s2ocP(kzY_@K?5BJ%6w&hh>>Id;A(G znBgk{P7Od9C>UTUu0}w~V2_%~6sj9kK&PbcBXFZDK)PL5}HZOvc(!(IuSs z$oI#2*7*zP&pq?_g@@n$ z_RCj~A6M=Bv;W%(_^R7=Et=T{dM_q)_dL#Z7Xao(y8Z4)_KlnE`)9M_CDMT80+vC} zn0yzz{ZA~l`>!mWZY&AOxi}q;V)5junBN|hIv$ud6eXdC>Yl`@Y08KM1B0@(S?0uL zj0alEWq`1q#Ma5!H8vcN;^SMFmw~mk?#=8Je(n;gVnqbVzz8WsyOtnP3gsmdXGk}?BBb~p6L{&4%zMiVG>bGx z=>3(|sM4#VRm6M(Jh-f=Qk9q)J4D?hwB15WGchIr>dGiobO_3$GQJ2T%1k6@uJZKq zvGmiKrj#Nhi5N_sMiGKMh|O!!Lo^Z4F_|nwf(HkV6JVsS%^*$=VmZ%M!bX2%<>GPN z)k^vX3ubt@$cnKjnOig7xX%RI&O|fF%WG?93O_f15vT?T$`)&>g#-}v7g-tz?qLRi zTmYUFIhzpx z9{!eBBQ`3Te~qW|*{Tk-1YW)$?j+-DjC)W5d$5Qjl;t6%P*$a!@Oq{cPA{2+uO+~u zWC~Rrkx zG~D{=)}@Pgz3+ee*^ga4e%y?n!Jd^kJHelU-}U~ie{Uxg*e&Tk4{-Eic*!mRGyr_$ z#Jny~_N2BK{6C)%l{UPZZb61J1s13)9orp3kJaxhuvfKQ^8He|IkW3BD#jDMv_*}wBL&NM34pL5dwki9g3mXj zM!=N78}B0)*yT2r{p|82bKGcB_h}}%UgoV&U@o_?a0=WAkd_&L$t+i;F|b)EJ?3>yHp>Cg z(voVE<46t4GiqI8xWUMvWLyKBml$Sr>rga~?{;4GV^A(${JyXg<~wK)gYdy zeJ_1^-1x2E!DI5dy7#e7JMQJo=l7ZoL2C4BtgW9bGoBT2O1FBl+-AqfyX8Y#_GHe% z;LXeR7^rf*Kw^+tb>84`qf!Hw2A%3WqI<|^sMZS5WmJzBmx-MNDJDF7`zHHH2DAyI z2I5$nG2e>lH5)OHSQa|8)j`MLO(+L#(~8&_Ph$<*z0o8#M&lUcxy_e*L*VkRoXgec zU$Y@&*<7X|F@RMsWxh`W?(*1chAKYW$sjBDRcFny7_mB;jvpLt5APpsuRk7GyTFUG|qolfVlv^kns zxRXwY-M+=WpIYhm{vs!Kx>%tD8#1%6HJgzE>~3u3&Q|&%1EI2aQ$&zAx&^(-J)KX(JtrW;OiMiOPr8RmnLQQ$~15%j;#Txgc65O+ua@p?x(d(&k1VDIk>dSN>gQ8f_$~t<0=JRRoGy>9!cQ40f-Z z%&azswMe3zmocY7yLV|Yjtkr9uAv}lYBY2HC_!Sz+V#v)F?nLExFEAcEHSsT`s9qJ_&>iV zXC*tPNdE>l31G+NzATrK0ptP>NsF?wxOkO3P72&hvA!03mmHl#hx778ZS9R+zS6Tb z>GmzlbnL|7s1FI*;S6>Rh}l%XUhS?_?zXAIi?x|WyE6qQrH%8k;CkZw05w=NSkB9P zXYi3^fv$a)#;Bi4jg*-yY4n_triDwOORJs#jkm$~%@Uct5YsF6jvBFijrE9S)j1b8 z_esTZITpu@UA>D0SUZ}2=tdruW0v5M9bKd^!+3X|CA+zldPj{qZnSDWYwcvVX3DM8 z#K2aiG&7MzwgjA%1i{~{}1E2~zZCF5Rd$14!5wu1z-HQ-b~CxR*lLJPDy0;SHt zd2Ul#SkDiEW?olo1*_*VL%frz?zeKluT(`g`U&0kFxDg#f(soc8M zkDC@Gu_$E_sWk?>w>h51)?~_3E&w0&d#bRcSt*%vRxWab;Ek`*lwXT$<>#SZs;+=* z)fGrxY-E1ndQgk>F<6|@$<$@UiJ+^y$&o#^V>Bc;c}?dCQwmUp;=@&fL#s z*6<-dU$D0e^j^rw?9b`kb^%~s=r?`%iG$6~?8)hLy3BW>IPLMrW8!{;1KeUCyQh~)}G=kPd z?o7Hu(|L;DXTQ>9A;}t{w8aB0K(&rcusKW-nIUyH5?465yShVWuJhq^gwc>iXrqD zf!<_H7S_OyV21a0LJ(^AtlhL;M5+18H*(1gpGQ`i*@%?`*&s;L0=&2MN&GuXuom4j zLdO76EUJM47vmJw8%%k8sC1v*IjEOYx!j9BuTAzKCTL5iJbT_^Or>FfV2FKx6|I9W zfJ19x3F>M(s`CD^(+1c~v55vJrO_uD8=4Ff44c98y(r^aGU7&{KFta+K*90taxgxp z*7gkLbew}XG-68=2gKEdIFWq!&-1MsNR9BT`o~bEKmnep~%HMM2 zdc!3KTYMhbw-E`c#ZNzh`!? zC^1>72To04vU}F`TEgOEtk6uxHDwNGBQCtZ=u5CD~8QB)FE!~`ZnEZpvbV#dT1J6S_4pqXM{vPmp|>fBu7 zqlS%Uf-G+r5re^YSuP|Xpzcj&RUZSu1=%YIzFlfbkZ2@f-~(`lg$fHg&%NEELB*_u z7fY8w1?*6Q1-MkeGv1RugtI(}<7K=`YQ%7y0_iCL$9d93pkwxeg1_VbB60`dnK8(+&xi3PW0!Xv=#A z6hJV*o7}{V?XjCSLHEkdFO8dD{avNATIL3AYS@d|0r55cn}W1;KlE&wX)CL^>C(0% z)n*j2cq%DZOrysppMx}Kcu}+V&ShMDpK}ISYHVU)9Le!1)-IX`UaJ`^{cdb9jz!vE#;IT;fePafM`TYKQ_r$2N5hkxl!r>mGM(ox0L%;j^B;TqaJN-FTNFjtjES`#W+?Xe zmrwQD?W4X|BLWsMbrGYjtvGo4T=Z$k5F5jVK1-l@k}-kF)Zj^5V1b$*gczfgmZk&d z-=*W!WeZKXnq(QT;wX;Hgd+%H19XVkrPr%FDajbH^eX^{FSeu0W5v8GCn}5;m9EVW zR+Uu+n*6>Jre_Hz>rrMztc7C+7#10VAHA>2q;l$7Cy5fFgOtrw8HnR^tZlPaQou{4 zLoC)VC7Z1?d*u!rT<8<@;okXNT*gsJPIs4}Fyki37-c}P77UfJ1r)U?F$|oVv?}11 z#)>ROI~ZCFg4jm0w)K*%%8S>A8kH5@m zw~{t^gJPD;V?peeI#u9jHlWxwj$`7_T9s4++BJW{O>MIa#(>&s;rUZ1o|2WWMWFaR z#X8Fc%sjnhgxFVjG9v@O_a(Q*EwA~@WD})%RRz$-p{gyLm^?AxRVJXFw<^O|J)P^< zMw&B}KdW+hT{1!@j~Ry*dsr_-djnX`b!iInCeEd0Mf<4yyput6$yw!bgDu@dYgQFA zBR73QFRF-2TvLeeI8~o;>;F#+5UxC+_+1>L;u28fNo${#gfr)oIrc;jpRsy^NWW|C=htB zg3_IWr@c6OL6az4-5E-DBi~C@jiO(a(+7hK-V02dN_JvO6py3wVU?98GlL8Q%Jx%^ z9@Z!760ul<<;r}set+(oQXh^B3jrp68Ubp$J7oXS%#sTLfu1!|S({R6P7T_f-N?w8 znqJ2lbnKvzeMw8>O|B|faM*buS3ompI({*C2DrW#0#IW32rQZnmOsg6B~$1yY0mU^ z-DcJy8KTUQGy6h8d&W+<-?2XjZvkdROsu@?xCz(F5oN;quUXR z9agzb0mfY9vt6HZ;83pBBFgLRa9@^CWtsrUWtqAbl>s1%V^^-An%?tzrZ&+=69W_) zq-;h=DoS7!;8V|t#)W{6^t0Mvk!8CdN%bP1TOdHC%#xvwjAs`MgnDPy5W15Y6)pMsK$mE*^wJE;rZUQXg z6D*V|?iPrV4h?|NVs9+e3~x?N9ez(8Bph(!1ePE7N zfIgMZ1@_29XBk_dQC&PZo(Z_JY@ZrEweFL4&}BvZ9Zq)~KLV*8Y+eGNnkhgAirgsV zIKuORGA}>Byhn--!Taes!)JgM24EAA!0`zjDi*{JPP4vd0hNhZls$;8xhs1&rxP9T zNzjqk%GVQR=X$x^K*R!?f?KF07*naRNm<<=8xPI zw|@IyDFt6*i`4_yY#+wBKz?Ngu_Ky{b~^UW^x=At^>t2XfXE5 zm6Y96n47W8T4Y%|i>of>yL`{srTjSob#7eTN=~~FFs%CNrD*%=hn0w69eF=0k!YJV_*?5OGs|uqHyyYs1(k8Rn=3V}UM^C(bwmE*> zU`h*!N<0)*H=A+8;{Hi7o3^!oUwA;1kMaN%siOU!D0Y?l||(igZuRa z9?bia83hZJjUdwhK$|1R3?IsPl8ix7*|-_wsocIe7F=(a!|?lL8Lw%vC5Bh*rxq}F z=tz@^%_r7EvP(vm(rpUBvFq6E&@{7>CYNM)J)tODOu$=)A4h3O>*kIdW@qqkNAcjK zx3{-Th703EAl@2GF^mEyRYwZ}O>H*B4r{YP*L1So0-ZW`nv&AkBSVY=q8;}`)-H94 z8e;&^())=ak`aM@hO_jJV+5EL5Sm68xsYklaYq=93*8U(SQeX%^Tu^@w29tZB|e4^ z*N&&ms>E1?fgl+|Z?42Ds`O|bn}gYL&NxquclQ7`d#!7iE^0h0$u5hB7r@4O%pJTj zUi#YaA^Xj9&e#)-J2S*CmkZztWC~;nY}OgOdN&D~sC12`kCS$fY=1JmWr4sT~kKYNl_2u8<<&oSd$XGlwfRdznHxybX5fi1>tD)%_9>kf4ST4s!@ z(~nrYWQj{npQ5SkCUz+opQBBPGFE4^Vo*e}*=WS-WHSEb*43+bp1Aj;cm2-oKX(?7 zOFoY~HGKGX9RQYCI$ysN&|MGU?Sj4+1A2M^oZ~J4%$xYn?mO{Klj-;YGF`QWLA!lT zlsBy$5P-^wR+_OH0pM&ni~}c5MKKsCPYldemg)Er`Fj9<7Vx`#Mtu+f9YK#;mLc@k zK*c*)=hz8MA$v@$g59eQ5LP)-5i0~t+0}xPCe$EmaYpnEHE}30rK!L>aGZmpVXC=I zpQScm4oD^NAONgdz^P1=Wx}#hjaSN92T-QgT*?*mB3uEeDu~-)0U!YFc@-kSB8#UY_m-0tT{7@))Lu-BaK)UcVafyiz!{EX?Wr4k#R6( zIW4IbhvbT}ac|tJ@2J{p2|#1)fYHD`!!5I|zL2b6Qu zpgn=#KJ>461;!HbQdLn*lWQZx?Rem}41*!B!o7 zsQZOjQ=IqW4L8Saul=6Vh(#b)27^~RHi9WcC^-fxLx%O7TjMC8?#Hm6Ybd9<%JiC( zRL+$NNp12RCsf~PVGM8#)%r2>det_r0$mx>%rd*)*Q}nkufA8FC#=Kt_3?PK&W{?` zbl7sNriRygMUKUkNa(r&SW82xd7=tMC!3og@nWo7DBY+ zo__fK?|u5dyZ+r)v|6*ccyVVbw;s(>XZAi{S=YmA7wo+NfY6Ke6m|h%-ueIe-ea#W zisEAxc+q6)MQt*fPH)|Rme;P zffNh=1sF8h%IKiXJ(wce?bPe##7AR6*^3iEu3~g7O2>!LoRX{_K_^?G$$>fnLzd-C zcFah#iC8JLNm4n^F)>&OwUA=bgoyzTW%cZ(A;nP`?z)ksEu0t2jmXo>-MiaQNi$T< zoi2^rttxg=ku6vxu~-A>2-L#FGE7aD*dZOez6@gNs!iu7J`1`-er5fYV6xOLNe5+} z7RG@Ar=vc|Ou&(toj)Yj7vKZncga%sTe?7I<7ErH=|l`q#oB?@k^zYA+_Imojvqrw zrB^YgitWLdO+*5`GSe8;SQBTEPk@5wZ4hlN1&C*#%i*bN+qX{IPon#%$)?*sW9;0S@ac}!Q$O5!h11M|LLA0za zxE|oXWb`V^x3h(8boeNz>;K%Fg8#3QFn<6YZ5Fj)o zEFjK}W-`>ceq?3wo(cFohBTJl`9ek+JcIQZ6pcS!`%+WsHhFeyvyZf5Z)keT(zP|Z zp7(gYGeLl?e@aC>=i)OI(W0NpJf!nW)~}dMr(4s}`0l~R+WQ{<;}3lBgKvAw#b`D$ zDDa@oVr>m4gdLZ5Ij2vX`Sawn697IRV7CkUUaW}e1$N%M0MG#N{$t-&Op6bd0lbb* zC`(H*IJ~f@k6bt}qF6*mLuAH{qcI-G!Dml04^Z7I*zAV;9h?2rJb<{&h_ z_ZMF0zLTC1wL8{(dZ%2)H3-+3vBY9!y$}E!CSCP+9hT)X9HZGEvmibh0UrgCM|h(QAvj^K$J_J0LDuH7ei>q&YGUmF$p)a^XJkK12%&(IT@=$ z?PO-1k!=FdPSb@zow_0T+5u?sSW*+l4k+2xfUi$h6vu*?4}96ULDnVvu;Sk0*d(H_ z%KZZFiZIdVi@mVskqio1Lj9gKoB$kT=yKuqLT9%kUPqHfx-oJ0smV)Ss`X_oA7+$~ zHGEwB3jkj*gfg$tWt~n+f~M?50svw&2YyfG-l~VJbfrmuc1f4sj+ zc>>4IA2irENcDZJ@+sA60mq9>MzG_~(DNpRB}h?{G5{p5H!F(YF=O88W}HnvTpZ(5 zv%o6TqqHhO0@I4x!%^d!1{P~?&7R>j#hU9eXBQskOBS(s!%cDPcf1Zex)KEYdBuyJ zwdX8ENeQqilZMl5p~K=m7Q_~6oO>LVG*t$v*Yo?_5ru4iN*AiCgSxQzUW-lBzYQY2 zK_l4Cti!~N8rzOBvRy4ZyVNBXHk%N%mDz=oJ{U~$-r-uMk&ORNmQe4dO~v+T5a@e8 z7!6}rN-zLd z1SOMk+;HklG#!azofX4#M+9yzAF;DSEmorhVeTEu1-242dzNyGs8&NcVRZ+qORmlc zmcufdjxCY_w~D`k8zgGobe{cB7?8< zo*Nwc{e4Yr01#*qE9K)*DGUH5%TKu?s&tR@6Cg35^SL?S&iY6IJ9QY4RlaI#oV{fAbH zDiH#F36%NgcEOY3PL`AgnKFk@*>X4^Yz|=H0Fam7mMT0s-V?aHO&YsbunUD)UI00y z0eCaEaQG-)zz8qq`G5(_ds2?IWPQC5C8JeFrbwz$0cz?8rvmBLaF(Dl-$WqNnRhPV z3fO@GlsQO@df6j5H>nz@0>j=oc!S1gjI5q@%jg-73{Eht6}Z-G>INbiw(8DdZ<-YU z!!4_rNUubhWr*LyeOlXEk1K0eVtu$N-D8G@YqQ6B;PG=Oj{V)c-}$yDV?4%#SHzVL zdOH@;xm3iVLz*O>c?N%<#rk?9Zo6$3ciiDizq8c46C3P;zg@KSg1rK}05EUu?e`x0 zYmHg)ZfaaIr!CivWbTT~hZk1%S+7RnJ|;_cfEa?7iT%f(jgFdrt6M+{v{@ob;eQp5 ztgI|&tyO@tDhF#37Er3kEMOs0HGGBRvTgcp2|Hk zOo)-HhtoP@1Pg@v?MiQFjg^42`mmDq#BqQnVTn?1Je0k~cA=%5`rhJm$nMZ33I+s` zA~F$h_YZJUa~juk&CCXhK^5y(FDu)5E7OWzV||+)i)BoSTRf4*)Z!1YX3dp>97~We z<}lMPuW2%ob^y!Zpa5wZSRB72ro+dBYp(0447G|4R=Eq;!lm0Pk4?^Bf}>S1`F~^q>0TcYm@9zWdc`!OOhM|HIaj78PEpLZ?vFv3K&i$&{zrx|L0oAJm?qFj z_DOw#vy`0I3}e)BH{6I|EyN_U56oN|YVm_Kx5yyQDxM<;=g!_IWE zrWJF{YvOFXEUSv~)4kMd<>VrqE(m16s_ zWa)Bpu`VZ*;V&HMFCBC#lzClbfhMuNwH2-DH1<7pEXDT{#|aXpK)XPhQicb*EGIHx zl;9xC9$Z{=kswPnR+~2o)5WlfRS{66YqXYJkKgB_iOG@LDl7<96oP@G76Ww|0f4~d z4yFPnH-I*j&BU@`5mpaigD(I;m-|pUBTJHTG6Y&#W;IyyXQABbvXPvcay$wERqT(! zoWhvZPR{vuiXo|i94wFt26#*<^s4KL@E%xX84;2TkFPtyPu)eFIdazVS*UJ(AOHvA zOAItsiWW%0M++RQ*DW=ZELn@O-B~ij{ozI;0a+>D&*t+bOOs-GGA1^6pah#G?uy;i zV0LMh(Ll9wJIa}k3j#Q(e_pA1%hJ3{aJpVPKQlFEiM$zd$TY?WOSXAFYO5wtCXkSA z=+d+x(}jS_|Ht0D$82)m*J01hytnVVH(s=q6p1pTprYiq5Nab%95<*P7)TKy4g@3x zk|uSWqH2LQNz?VPm8YzOtww%;$fE4LJu>w~yBvBVqTwS>2?vi^U z_uJiXzuSACnc|%DJ2SH+WlJ(ib9d(zC@%N=-uIn(=9ziUbAIQXpRbGV88CU0P!RZZ z`bw*0Dd(%?5W>8=wss!3T~?ZMB$(6C-C9PW@@?eG)iBNkOU*WZVo7oAHWBg949mv# z#XVuyuG%qjj#V&$yeB>R2mYf}v$IIs0m%7~2D>(?m~qDOC_G)IXiEcJ@-qp1V6$2fE~ahs-DGSG4L}u zp8=p@2vH{m>9$<@w(ijyMYD1)$F*frEu?MN0k=>?K(|WfW@HU?ac!IK48fcMIM`8% zQ?nM$T2!+tX7p5&R7p|iDo~5_!+Y@(V3DDSzY~nycrt0iwtd|gejM|FrN2&ZW_%aM z3!sLd?UHe@#b!Yr(_`Zjjs?d^K!p1w7*3Wh<9@^U5U^N8$NNqj0ZRa!e`x0^WeLI1 zs?RRixHgWa8@z25|M6lc37=+1209e<}bHP8uSYXbHMb;SRm@f=E*LP~XWQr2# z)@JY2`S+&x|H1FaWNzLYPB1xX$$&|pY2Br-w>B#J4n2z$Ya-S-I$wmVn9r%$$h8_? zvDeNwwDG1fi$oWe?tLWr2%aVG9-{aj0l+BJc9?N(A_emBJ7)dy9h4{pIHc1bxF&v4I+{<(?&`>#C~$&#&Hi z<-hvM^ItklhllkOPdt%EDOH2BXEm75Kc6ms_`_9t`svhwz+eA$%}BF>Jrnpq0-gS( z-gpFh02t%)#k7%IEU83(h5m^+u?RMv^UwbU&| z2{C%A0{C_HH+X1!K_FWY4nA*x+tQxnM%ogcbUn%>BRh$O2;tEP;Ek49`W!{fFs`J- zzF9Et@~kvmDm}U!?|2iAYq*mQBn=+yRwWRLZV=YM85H^N4SHB+4h<8=)(o#R32_Ws zAjRfc>qJrga7eQN%2+BJW(~ldM~TxVPinZLgeTyt$PZr6$c=RQtjn&rG$j@;HUuG> z7go?F1J@qMp)5gV!x1zhNZVa8!cmELd0dpMrq4Cl6ar~o-fj66CY=#kFZ|qYZM(hy>7xCa^^Gpo6I_PwvjXc~X_M0c zcIF7KVlyDg10@>Nz=~P*9QEdhLmi!f2#^rF5}P|*XO-~Vka4=z*Jav$;yvjD-}^^W z79CQ|V!8Zp^9;tE8INT2b!Vs>i8mwy#LeUnR?PrZS3S^JY|^X&CQ}^X(Hk~h3mM1= zo;s!}-SgV;x_gIN{Z^jhcszHw5pY!3j>zxK@-&;zqKrEe&_lFV35HLh>%_A($Lap( z=9N9bb?!8l@z}LI@xJbalk1r(eKJeK@yv;Ugn#+c^=lu0@!G|^`PNoloSfA8?ruFe zJgf(|Z`Y&m{oWczkPFw(Yrvnlp??Di_9fvSCp}~%&;!7@;D77$m;Z8ArJwGySK5I` ztEfDG>Cw&I-_vEQNGz~CwMzALp3c2^xzU<=;qe0u@AHG$bBt^YB2vI?M5zOdmly(- zp%e`gJwt>b35 zt{-(JePaX(Yq4Al+(mCx2M6P4E?cRGs+_Fqme7gTSxMAxz-j%EL8i-A__;IM7)ufD z)`&7=;Re%Z_6mzI*dc1XFs`x4Y7vQcZXtG;6Ifk1EJz1{DpvxY_*?)FFe(n-ZPr|L zy+DgF#{S^A)RPx4w(l|n6c=0zRx6r!Z(o<%1fE+pyu01u?GCVZh&F(^N_P4@0u&e+ zf^}2KvgR(03Q>l|9B@|&e6QyU8LSvf{0@LC#)a`c5y!ze7Dn-eHZ0Cd3}>`|v!1P^ z5yQ_hPGHZdc|-{}t__)5=IF_|g5$P(S1#lzhX&)s?{5rL0BsQ%4GCN^VT$B zm#OB5fVB;Z?fm8%*YOO1e zD~ud!1u4y=Hz62km{F{+1Q_&Y#&J>_D}k+h0ifo(;$W;9j_p<_yHr8kGMI5L#75PI z7u-_nNTLdaWfKOS-T)K$(Ug(Wx~kL3I!jkh2I-}vX?mjk3hy1gx2Bv#DdE^0>zbL) z=cX$1{aE3Mp4yG^swrcKMll#vfkFWMcxJ^%@_SSLzrS#N>%YBz<;pa@`YOk1V|%*< z6S%%}Cj$_?_~HLFn7|GI#4q+t;6nz19`4ia0bpGJpZM(Mzh0;6C(VcisluN^<1`wM zF28H{%=-;W@DPRmk0H>AZ&)nSV^^j=c1=6+?QmonuogBM*&WSK|{E22G6^H>7~R#F)uH&3mdi}I&R?mXby=CL+iV6 z9{4P2me$nkFfzlMoY=9OUD5IDd*?^_qDc_0^V1F8Z5N`xPs zLZb9)rWGK840JHn)(1K^#&gNzhWFVKjQL;U?g&Dr3P9dYP&-$ne2r_y4l>btO=WZG$W#IjH$2_kH6?+KYdy-5IJo6p3}?fL z(y-AwdO625H4^%Q0}$exZ9jHCeaH9xAOWCD#oh?2Y$*wY%uXsD8~D4F+hpdMEw=O_ zm_oAap)cfk-?NVCzj&{Nl!X5s*TTJ(tpRk-pB&UO`0(Cn?j>!Sa1SrbIvp*mbg)e6 z?jlQfmsz^A%+uXvN<}(J=gY69afY7ZibV4L!VWHt$w;7Gm0MLH+HNn>K4M%2dR4s; zXXp+nDpm9SE&CUGQ9g5*WtD#6*{?nSqx&1{dA_q#7cb80eD_Q}IJ|H#6L>zDz#HFy z3B*^UEZmzz9&V)cfS!F101W`2zWkF}N`KuCYW5}#Jzi+ZE}h>w`=lO4(G3J32)THR zMH)`$>G4<4VMq*uAIJujW)lFM0F?N^3vG|vAF;d@pb-x~90P^^c}4??OExSS#XpSs zpk7A|pIx_NUDN@?T_EsxZaaks8r!=?8#4T!oU83j$M*}kw!M6D(AagmO9Q|mgM=eT z4xhm;7Hj18jiO8z<`qPGP;)4T0pPU(X7N4H|0#r88a|iVY;!roT?Xj$5MCn=O{Z=n%2FvKRt_?AC;}TeiWi>O2c}KQ5!jH*}qWq8ZghT-69vUy_D0<p$`^q^5zbnc`w2EmT6(jY>&$r1)j zrxGrVQ4vh;{=wMX!Sv%OCCCJpi?sFF`Skuj_ycJ;9yj2f_kWCmL0+4~hwQ&FvqYOg zZ3qQ&HP`jr>AuXusnwm^R*G32R5+ zSB_TcaG9lbHcZoXnbz4Lt+GMFR<2mzPN!Bcq#`M}*=7&kAB<6w6W&ZKpP`heNb|^z zVx${Ln<>Y4Q?70#107v+lPegJSWQ23ZfxpRS^mQ>-MRMPpG>Fg{L++zx3PWFGJ$8$ z))&9$d&C5G0U&xnbVjnk8Eb=qFJ$10hO$gLw27A%n#u6FYsRlvqoYlg!>#-&v0 zvjheVyagQ8vBMzD<7#%SF=#}$4TJ@wd?gUmwg7A$zH)&Q;B{CugC6Uuyr2=(qcaGd z+X5X;a5f583@8>eXI9g>ecgx~USlvPWLptdEVB$XcmUADL4;Ln#N6vwQa7K4zDaXd_35?_$w(h%v+3laYJoXk9Gk9f`)smoM7zrt z#Ig$rKs=u-t<({@sk{fAHEM?6$89N0qZ3qj6K{&S=@xT4E!Wjgef|r-@%N55Hp=4s z`3fcBVe!67OyJpibnabsN*B_FE))1h?qCem>kT6JBJzhDOY~=dAC5o|01W`2e(C4y zRDGN}rB44)FGv7@k8YlN(u)Zhh`LU**%T-xjgC*!scYAwU6gb-&d&2fueM(bBqr+t zT@k=zk)^DbK1ht6a?lJu`QOypLEi)I(x?&n^LH2XPZ6zz_s&`%T}k`1+_`RerXW}TLt5UJ{OCqVp&uM zb!pb1%PsCyS`>)E?}FjP_YhD=rvWUih|aM%+}b&pCS8`aUe4vcR(q$l$XzfnF4WJV zBpanMGD%VDwtLtttQkzZB+Xz_PZwG}9J^y^+_$$Wbp@-(GIPX;xD;wIYmSDGGnkWY+a@CNIj!nlC`E3 zPG-zKGsR#CVFEE2HAAO+N}DO(s{@6l<1^8ok+TmVbYqeZheevAS2M;3o2sfxkL;XD zzyCx30nY{FgseliqvNJ6I_x+{(DT`H3w*yBIgAl20F+7u-iW6*0auHgf}Pbp%=*9AVP9J3UHwr-w9bVC#qbZFh1yZH-T-5)iK})5+p6&6bB9{jfHa(%{DN zb{zO}X=|gxjz(c{^L*4f>gd}tuf`owJDxK(yIG6aR6d%GiHuLU=Zzwp`%Ffd`D#`E z)Nfq-+Rx;(SzVw_9GJk9N6Nw3$LsZ-&t%XBz9AFXWdVBtcpt)>{*ZsW5$FM+0pRCf z`bTwD{by#0?0hp#GAss{&TZ^GDOReIZU|*3ggirxe0Y?0u3m4-hIC&hnG3j^51o=q zI*y`TqvtMJM=s9N^|{1mO(21xLyRMK z1w$Z6Wifx78|Yj={8a3Pz^#FROV;itA@`v)P6E?ytOXzH42y2TriNb(NY@4JQl-Hl z7Lc}_81WaO5tL>q)51Y#jx=9lQ7ZPOHJDImi9)Ox77@hdg!8d$F43Z;z*~1*AsFH{ z6@%-@7_u(7c2OdQ-l=6H1fI-1X)Y)VM~k4wh~+kd18D`j0lENFDsxIJ=yPG2I?hMY zA?lrq7r+k7ou z{rk}lQf_1&tIN5%?>#46uGMBt!eE~>nQ@fPqce+RYYgO6<_)mdF-7^aHNO<~v{*0M zPVEFSEQ^zLI6F?OFkQ&B0ZlG8pmJ~1PT}C~V0bbAT92w{D0(m z_NVmVRh)&iSOP7Bd~o^P=JxxY%r6(Cj20!jHrzc(XI{M-4{pUu02peW2Pl#b%q1PO zG1RPuVFSzsorMrwhZ#U6I|Zjo3_qY75f62D&A>5W5orJt*G_>#pN|%Q0K`B$zv;!u zxG}FU!hHkOVo_!+345as6{S(B+~v|9OPIkDG-dg-MI260|Z3&9Jx)oL!z~ zNX6QP-Y_Cw3s`1_l3UZ*9VL#T;eINrK0&bO1+PF+r{>vMQ7OQE6H#CMpXG)w34$GNEF9pQG- zvzjG$c5;Cvp>@)vs}KE`~jd)tP2 zqm-B^-r>Bpqvvq+QRX-ROd-l-P^9^Ilop$lRAF3kKLgx2BtGVwfVsMLaAR22>GbAK z`sfEfl7>a=__os-OrSKsl37qI=k7t#VopDkwo>e`@6(7~flMIS`xfx($~Cfvx=P2h z6Xxz6%#PEdT&CG#k(LOc4}%8Ao0`CoU}!U^jhN?Smm%l96lGgx_r=`vhQ#+}GlzoB z#`vfmT=W!<5;v;^oqo#rKG9V4xQIum0G6DPZ-w8zb0?j}<%Z|FlhP+UorTbQNC?glE=T0slb+)AjRplx;-yw7*sP&0=xPQGo=_Q2>Y=J0uaw<3!Ve6 z4cHNZJ7^%417}Sm&cW;%wPz9GWAMjCKUg}8^sRyPe1lsXmx?8G1mZ@1qF7ZKS`egd z#)yC;HY>_4RQ{l~mNYil5W~%Y^rUzZ)J18wDH%q555PKp?)Gj1uGVI@tPcT0Xjbw4 z3{IxrP9iF#usAR6Jt0N25; zx|D73$KL~E8K9RsR-6NjABesgkJ9mIn5Kw&3GJ+ISpYEHD*+h8_yUGs_oaX(nccEX z+k;8^=#w8Ii^cg72h^06V{;dhIXSu`!o}m<7$NjP5_pepC%V4UeOk+jjT-LN!}&Db zKHN|H(*rVolxoB|SXKg3FYoCU}+2o@Fhp1`BJ65(adsuv<$ zE0v+$TCstJA=^-IVs3<*-x0u7B}DhG$AN!uH++0ls}*exUEVOOtQ_NJZFEtrmy5-p z{^Dmo^{=MC_xG-|`Ml1j)4F8>Z`Y%9=lG@z>H8w|@Kfp-(ldeIF2?BJ_YNL`9sn8u ze)jVJQxy3Rx{M&#Ai|3E92gHqFK-v)_nL)333$0$umu z{;SL~EGroYtP_d=WwTXST(GEPfj4j)jl}{iz??;7gmq~wlRDTn%6-;yG3U^kaIqMw ze5<~{*!dF>AhV2rZw*u{Ea&gAJSAc|1;Qv>I#77&x|}nCs91QYH|3*@mr*&7w4R;r=hn zv@_gDAARz}WB^q{6`*lhw_(Z{vMrZ0UJhcmb6v>PJZ9vhHHW ze>V|B0N?kxfCb_)rY@0^#qPA(Gh6RXj@a06AP2)qUeyv0$L_>@GC(t<$Vvev18pB; z%{V>RR@FK!5Fr&CVCjlcZ7K9mn51}Iv3<6DB>uC>Gt|AMO#uPEds#c&IyA{uUB7g+ znEmIUz52qZ)15nMxV2S^3B19MAx%zT&jh}MVM~8#Z`KI(05C@Kr@rvgzb?z_Kjg#N zEvupn0v;!ulg;Zp!|@X=Erh;pU9KA4&t&gb+P;0KDc#^>S=t5LCd%QSQkdJ5S;WGu zwh+}5ghab2f}dj4>}FkBbQrG91Q42Atj|ZRSreE;NcyOht>>?FdS)FI80;Wlu|@!? zEFs6PALGI-;un`QbREr&I?)NAqBo=z7dls<`c)mF#wYoZS;E9m~;KKKW zj*y0wHs4KogR$U6pf`bN{GKC&w8$!W*CkYrUu+VruQDrT>4MArEJ?;fu6dx6qQQ}J z3ENH}0z^T<1c0;|2nWn48FVj+1zj5q0TA66(ZZ~=g5u|zXNndw;MH|dgpG8oqf~)4 zMiwRh84lB8I7rJeO1#nw5}+7_HodDgx4H3&vb8D!I$!BU|T`I z9jMM{m81vFeH70R125g@vRJ6Bs(V#W8JD-MEmZ&GmJtrtkYVs`%ep4hukqRFvweT! zS}but z^sCeL>_+0Y2m2&BY&&WJW<9u{$cVqJr0YABb>8xEZ2>^F*@29Q(eJ)}yg;*;FMvAUk zEGEdNi*l_%VdRv>0&Ug}Oaq=^C~dl|gNtQdlXl=b20qXtELR%ADC;2}qr(uaky#d< zCFH_XREC){oihv;$_@0nSeIzv#THBv+hTFMnNyq-7I{3N5rk`3r#nx$Eb4J3kd1B# z5(UWx>ykEDRInn-O%%9v7_u~Y0yFLwfn#MWExM-lc>*yCmd1ZOtk{MM5-d^1YP3sX zLg7Lh<_(Ms*g^chOHnGhhj}0zx-LUufyed3@1lH+^K;gq7uoJY&8`{LSBYgt+dhMG zyccGp$;PA&5s%5L_!GHD)%GsL_5f>P7GUc!YPQryjA6iGws6KE`vrG8sjzGru1y@1 zL#GWE#gv5xjAjpM(l}o*$9*rvyfw%&i)Ro;Q&4PhScV2z0(%>q4(IZ5lMzAb238oC z<#3ozwl>ppcRQ^I$VV&)_{6+Luj>e5Hdr)!#4>d-RANb`StY|8U_G!zuzjr-&RCvc z9C}m4<}8=#^adEfkMMps>q`LM-GD@ENOvu{b9|6)9^OiK=7%zs1gj-&U34r74V=tI zq0T)eJ5EH0-hgB69 zu6_Tl7cRUCcW~O)#Xw81rmh%f8ts(z z;*6&SKp;ydEZZoknfkoY@KCeIl9OUXB=%R=4(bbI#p*83cnBg61@Fbf-@&P5pK@q* zqJu`1i(M8pU{mx9n1e6`L@PU0npN7<_sdXW!8`s=59-hkImgeMs;1$s+hMiF4Z0u$ z7|7u#aOALQl(lJsZ33^|_tnuHoenmhJ9hTs82o;^jH8dPb*{Y5;i#5LD#DB- zDuxVIL;%qh3g8~)dNRlbOiV+L1A!*>nkp~b&0B&o8{}!37ij_G(B>vxy2#{f9N10k zw3fveAdmSM^Ul{108!d8XfJWUmAuz@{syp^Lw4V$vVbn#h_2|I0{3TepL6qn0{^6 zlm?&@s7vk*V;|Q=rlMf?qRktwou5O^#?rq}Q#(lW~^U0qK#sdcF^BEI<>H3;b^4@mS!~oW$hUIF2hYGIYQ#gs`}zlx%lBPUb}pe zn!w|&ve@3ON9i?8;B(KV^wd+@?fiC3U=IM_j7!~r#@jFgJpgP0;N`li-q(ooBcRm! zvz?8t1f)ZSA#&XJ~m5GGiFvMcE1vJS7|n#Nn{P3QwH`%yo25&6GK@180+B328RSI`a$s-Jg*SAQx_J_Rk5gYt@;7a z47boE;+UNWrf3{#%e4ECjtjwf5OfuTrVEElU@m{V_bpkyV8}SuSmYQ7q&~9JsOi+~ zEcNxUJ`Rfu<^`CWQE2bXIFQ|oGQAherbSnPF|D}*cK9P1P-r2+CgQq;{*9Wq4r61+ z)X^c-6NdO+8oSV4Mr$!MDBM&CIW&BYOZ>P_>dGQ;hnKVdz-Tg_h2|EO&%Ke*@5kmO z%B}?Eju62{B3M(#!bHcKA-ZjZtJ%i{c5gnJNWX`1fH4cl6!U`jNoSMLIP8PbHE6NU zu3^U`oSgSUoTFp_DkV4WR_i1wG0^#&!5j{T$E&ismeuv3F3a~~+7aef_4xG0cK+To zkEfzWkn)nQ+}lU{5No88T2W;^vU^W#LTEOMYuZG^#O4a~v5CWpbK|k{_!XXRhqchC zHiUM@zY!PLEvu3VWGkAA2E6F5wJRld7h4-OC2JNVqWdgJ{0 zdgp^5tbcuPPdCFSKdEDT>M8xVwSe6twsfY~1paPKmHvBwixKDnU<}Ux^u_D1meu+( zE^<+ZYenjH+L>%EHwUAUOI&KZh7zzAu-)sgq`|>K<2-eIic7`>KXppuiTdAq;bn{i zALL-}%nV8&r!r4l&ZB;bfW!f)ZOE;!vCD5V30McC2cL9nVh^;y0cap00Uy% z!E z282DKCu6aFjK@*yFY4+708y(278f~`C|wQ)X}&Q|C!=v%q4gk{Wk@1ae%0I#y{lGx zmF0siXYbk2b_xKRT@KA#l)_zJ7l_a`B_r0^#6_KST~_71uIfC`3&cjhno>5(>gwHD zmJMjuU{yc{GIR!FSv%Soc1=h;`J&q z%h7#&sWH?|Z!pUZA7laH{>E^L^_RA>0sG;`=k=_mKb^0ZX}VsJ-Rs8nyc1SboY$%G zX4;@sMz@l(7*%?v6ar!1O;7Lu_xJQ97V93lpa1suV)|z<+`RfqqX|6Ot@DGEdT{En zwk8nYb%6<~Z@>ih0PvkKHTq-t7Dk{4fChkHxPGv%R=dZ4I574VP>Ljs!;VAjfgIJf#+4irm0UB`rGul@n&e z13rf(;?T8Wg`gvlz(9b3?p(4`%8{cBHcEi6jWZ$3711@&bb^%w3#NDvfXadT$9CGU z8G$cXa8*lJHk}0v8yS;!#JX(Fl5()FTG&*|0#FC=g-D+nk?e=6>_+MQybLz6aWQXH zifvZOFeRxYO51a`xemefas0wfZJ^L-KbuGtxj(tF0bmbSmuw_+9+jJD7c>B%uLqsO z(3@>-q{YT&D#ydL&Wp4}sTgAu;m9nrBT5BqD&t}z=4cRos|{tN>x0D<`8!kvaXd3xmz+ul#b_5TglKYlqR-qN9auf zeh)x&QLfT#y`p&ou3(g_-&_UXx3DUGlfQ~{-5E{N24c2ilj6CD4J|if;S9$|dSic2 zc|5+WuBvLeUjK{FU%U9j)8pgyVCMs6K8=ncPZZTR%>=#{1U7T8I|;wZ6YPJjAAz@c z1bP4%1N@0ET!q+5fqPLVF#CajkFr6U6rlkN$vPG^m_YD+KYi^6`vH@+1B=D9e`)ue zb`NID!Nb_8ni;Z@LnR(Pc=159w#^H%<1O6FRT@Eo8n>1*xa*3c$qt1^jeJf-dtk9^ z;v1sRs^URf;dvMAQKLjK+G-gMbRAp`Hp}Hi=_R4>iWXy?*(Rn=3?CQa0FoF?bq&$# ztscb?p+lpn;AVp8U|V!dSX8xu@+(58Csxm<3NeFZAZ<2@(kLTW!p+KFuW&e{)ELL% zO#qK0I-4|zDjdLGP!)%w(m8u02m9zOGsN}a_yiuc*)aH0N!#t%wEP;wU@XLZDg;?` zp)F;hAFdf*GMwSiCVP|@I`1g|;(ZDqkBqr!<7S}UlzW3Ibh(`%J^(bvlC8g@)t{JW znO3Z)Y|4|&d@JPy9S+lacPC9ZH(1i;hK0?jrjBHoUQVgXPQy9@9y6N8OG zbPr?RHeDtZfkV*LX>aG}sry;;)T_G8i#)5V`k>Cz^_0@-B4zIZ;3H!k*TgIn09<=d zMrRRQ9zr4_4}{{9*kUd20hx6|9-^~rx@%D1%G}3je;4!F>^RTOTH26LG_LDNENHZw z5wYYM#H`Rt3^xW2x;?my5y^r-->)y+%R57XKy3yEmT6{*s3TQUpxKsT%SI=ai*^4o zr&76wzjpQL=EpDX@1KAP%x1G1J(2Q*gL?Ahle}Tz4#vN~ArpunHqkI1*&YDiuXF4{ zKJFd>rj&lPuJi3@Zj@rh)Mlx>^x`S8F__ew!%=R=2M=k21(w~abmr>yG?-4MNr}Zw z?$y@Kh@3nv+G3zs=8K=7c=Z4PAOJ~3K~x3H4fszMm|Mr%Z~gRTu*v~@IIo(DDs0jS{TGP=0i zg$*qNhMGKbJj+<4bH?~6doA=%0n`|zP3LoH!9s5-0Mq8?b<5_y2k<*G{^)y~vVSmd z_&ax&&}K&F7nKyDdn?llnUUMuX;~C$G00fj&5^MfZ3yK)RoJzT$MG=&;Fduc2=hC` zG~~??^=bi__<8PK8~1~OfUjp>bgG4vV1$M>(RO_Px3qmg}FO`af4lD6feST zK6Wr^H#TOzJ+It;jRO_W5dG2aY_Xu~=AsP^jYHu+)_l=>#oXyS>p9V~mfj3dqOnr> zn0OK<9+oz>q3TL2@Vo-MH(%kOWm?0)fvQ5pGCc^3Tajhy%w#(axq*(jo>qGoT3E?K z91-KqEH_`6e_*H4f==xpfAR9om;T1(ukW1{XS1rv^Qt&GsYma7UzM(0N!A2jIDfuQ zAN*jQ-bfSJWdiS6WqTm_Ak4W3$W>Wl+<|7SZf7fMmH(CRG_QMV!>DvJj}KD*_|m-x4?$9b1JE;O_Vi1 z_O|f#NRQt_>~7)Nv$Q?=>Ap zG;X+V($Q%wq|=mRTk}Y*=5UO72W129s1o7CW|a*_sb6*6N1f6F?bLQQ({y_~tzhVg z2o^53(JvZ-;nbtic%`F#Ot=uDk9NuyWLA#=Rr<6*7x; zm1Xs{l=4@H!{NKKl-><;&EQGLqj`px3^j7sy9(fPC`?Ua8+8xjnly$DImGBBSHEVB zdl!o^q&z<9n)%)B+TzbLK;*H~eXmWC*zZJuhYlgft7TfO)pz(oe_@=? zZS1gv$Q#WOM>RRG&~u3!;|Q{DfIb+~b@jLZ%@>~i$^2|l6-7~@WgI{tj3JZ3fK1@U z@mLi4jT;(ZyMys(X9f05;DbK(?(6gG0bok$XP>{ldvb7m;GMHs8@g$==#*QdjpbxG z+HltlmD^B~!lJoIk6gK$1_8blJ)%wz)U<_o-jN|)4GJ!R0D_(&(0Vn3{OAYl1(!dI zvM;qoQEF5?i~0t;#OufigASJ3yr_ipem3?~w? zTc3pMYj?5%W&xV@j=QJM6iK|5nkuggy_5isK(H2{X0OgUsE3|@LR@565ETWPr zR4lXedPek+z_u8z9PRpwBF&4OpbubgG1A}Rd&rPAt=UwX$IFa&3uq%;I6fD039@Nn z(lE2;4U(R;+NpRWB1wYg@477OvMdi%mKJ%+xAQ>`%KbRc@}0V>P8-PEJ#MC7Mk~cM zdA>B@F3QJExju|2F5Nc-UB_r*M$+Z_7RbuPrC1@A;Q4$A?XL4J>EaDjlS163i8WBM zju`(vUoFxKMv=NC*uy`|Z!>WDzFx@yoU=Tg8f~`ac8r5%A>l^H^zpSMUXHohm}DB( zHKo~n@rg@^um0VeH*cO~+uQYUZ%-xQl-M@zB1*wv0eb*=zfYZq_V{}Mm{R)buN^*; z=Er+BCQyqL4_q=gt8#sMb89{sj<>l4G5c@H_E%&{>MEUi@p2kQCxOO^8BRVjLg5lL z6T^o&7_d(HmVje9=Yt-94|gs>CN+U7f8qrYg7?bQAOJyN$`IXf2*;FG*%4q7o8a1Tb?;F1rL-mE&Tfh!%pgaLCFCp)e8~ILug@c`yrS7dAmB+UbQB&{04xLo@4< z<#uJ{+34YUME7VIC8)Iwt(xLvTGy)?T#Tm~Wgm-k2<1O;k5^3`mpO4xh@V*(d75u- zq}k>s`{;tLP0)feI64di*bqd=3w45#grQ*{vG@kqHHfBeF!}`};s$09Fv%A4JHACa zL@~8CrQkS=qA1I{zFMdHAW!MtMOK{RB}%El5$b+bt2hH{fGf8{ldi9In{z|fc9Ev zFMswI@^rQ;Qc>kw(|TAG>K1~C7y!XHVge%}COs8xzx*I!84YRNbZYqSUm zIyq`sya7Pqn8fGX(Tded?osJi@Eu;T88^f7CrVptyTy`O19%i?!m@BMOf2(7k5-qg zQDQaY(Yj3C!U?&4a`#$aqz9wfs{jO1u3j$X=5+bd+BK|KbftFOjLyDm+N;IGl}y)i z#Rb1>K48p?^=tv?0CpT#;nIzP7?x*^vGh~k@iQ8R`mHdun7xYl5SB|L=Z{Y9V4lp< zT4U!7y%OOc$*xP?HUOZyRyJaWK8o6Na%vh;>s?QTRmh)WaqmB(^h}_OE z02&vrXhCP)s6oDCL-2F=Wfc=#lF5_-CcZD+(`1Di3j{OGI#u`{%ufK0;ULY2!!#WY zsN=&qc@Z5Twg_V$Iz;wpWm__}-r`(qVvMvQSOM6_@4Jgg!{h~H?lQFivKX>B#;PpK z6JV>NC^pNgyj`xVS(az#26=wUAk^$`x9sUT;|&MKb_D4`fICVUqEB+SRA}vHcSC5f z$cU&;iQE}}HYW+ltKYP9=ywaq%6m+SLx9gE) zfavd3HWe6x*#gct$xy^b$N<8JTQf?QwOb-yOFyZu2`Z_9;n7$s_bvD(vZr#@0z9>mFAO*i2QbR6ZuMr9h_#YtgZz;; zQ3x<-4D8hOHoGa8%7G*HktQ5-s|Ii_3qU3+N~3l^3uor+tU?wxI#^g=L=9SiIWP9z zvlF?Yt{m}b0m}@AE4qwO z+Zg3_Ul+H)BRFIkR^!4<=&HP)W!W-I*}K;3vKT;rRacX`t_PkA{;np-Ij)CG#U2A2 zXd1IfuyVdDY&J0iK}}h_Cw^u>w(^M2j_q zEk_%tuHMciX8{wlJu(f59nwNdhKGVXQWaceQ*Mav}j09KhZ*qksCs6|(_8*{(m=vblno9H(ih7GfCEIY?}VDWYKo)&y*n{a++ z<)~K!TjHpT0JzLP441aczm$Xph(kFW<1rpjm|+m(9rW@4)~@)Q>X-RjwPTM33@!7%!}~G>A6atg5y&diY*|c$sq)wbNXi zN`0ZtFi9dHjj28&%pNf(8fI-Rvk2!Ht`W>akP8%pwAdJ@*<_qnW0iCpuOb^BuGk(EqS!9EC&-*za?AN4QfM`3v|XN%yZk!H1E5RDUc!ebtfaI60l#?=!Lu3z|DG1 z%qQQcjqIT_hkSo3rbv&xMk0 zF;zB08Tj$%FGVMY=&%usmV1=4T$E)AE=aP3C?7L0_ce@2EaaGqepsjEy&PqspJSSqmrean;0i)$y!$? zn9MHFz<1+V&5Yu^0QSeju}Zs9nxqCOIxE;g-L}S)xdETk=l~m5RSc{FqRQeLH*{-o z3D{jyaO^s6nJx&d$&6|9K%hi(kK_O_0Kxgo^N2C^@o5_nfrJ6P#0aCSN<~(0381$z zPW5P%)&SQ{(0HA4vXx>To6aIpzHUidAuvbx5a=-z5sPQ&&_X_82G`~X$Hf?c5mc4c zVqI4^5u-F54$q~OE$XVu>bly=vb-<|_c$tl(V^DSzK-{)rJ>^QtnKP%z&ZEL<4m9( zooR5soOd+rDDK4?K(pl5);gZZn-4SBT|hyzOmvEIe{2!91pyz*xQj}?b0Oon9|D)} z*JTm&?9^x@O|VgkmF~5ytPMDRCOb9@vr6}~bgeY8Rn^^9x%@9b{p{2K68&C=TU%wZ zyIbccC-vaWnYw2J@7I~~@E&&$0AT`oX78g#R(=l5l+6UV^QFsy_9@M`2OCFOT|dh8 z6(vS4@GCNJ)q0iAzj#FqQn*-M{&eZq{doZZDQKrlR3+o~q0{yn#iHa+6DY+pvIMP- zg1Kp; z28>3Ca8qJI#_ubHyVU^Vy5T#ZQ^X>UF-AK%zt5n9TFNG9S-FW~Yo&#hLpp$BME;0v z62LT*h;hO1v&~HjsD#d~37U=`y7(?h5CoE)G%rQ;5J7lsD0FX_ zk&KXPl9P40S}n8Dc(g3*`bB(8UDi+5RXO438|;Pz!$1ui0ge|mjnP5Jj2rINrsUo! zyDD2yCLnJB477QCF4=bUdz2GIKBZW3Ik6os-53dCBWB|YKt0>CMQ?Da#%H_`^48NtqSqX?-AB7&kCz%D6Gh`2Vo_Y^pkxP>;1%nb#moodL)?kx9d%%`tyXIY=5g#nDip zA3c-p%oOO-wNf{c(2T~yZ!l}a3-y!{?n~yFU^b2=7$_VQHU+pI4uFg{!M=4)z(o}YDVw(b#v-Hb3-ge?p z3q^%|^WH@M-+Gzm{Ab1R^ zv%AzbvzIsJ123=YZzWGz2|HN-F0zCjsDgB*i_P(zwm%rXbO|UzGQ{^GLFJ@cg$5+?4fMyx@N&m>4Zw zT(IltCg83X5r)hTAz_|yb{L&)T)0tE70Y9=)(GOwD#q@YAcziG=c}QlrJOXrBE%Pe zbh%9tB{*<_Q@_9l$||lZ*%MxwZ*s2OKIw*sZaYLky%puS?nyI1&li*Fv z6+jahDR(s?qw2AOPL0fwphjDkl~`YzyXc=B3%@jEp-YU?s$92neX5ilF*gPrQI;iZ z7Nur`2>-V>7Im7SXD;GELh}eFi=n|W{sxL1YWA8HlO=GHr71c(j3;SzW=B1A0g8e} zHY3)U4Zzv~a7Kw8-|v3Y{(LjZW{6$x65}k!%KejVBr#|d^A)Ugk?*go>ZO!r8-qN1 zvRs!1O+H1D%djJjr8gV`VH(d?;?OGLTee2?+KyWS!!QncLqyFV*k+nK!hIY75a;1| z6|;h^9#8Yx*@p(i*dPdaYa@f>vp&^5!tuGt+&f;*)7|+rEs?<)4&Q#YdFPD)G}z}h zcbbixHytkjvjb5)yFG_E1;V{=t!ZN-$+8#j9v}RP=dNA8Y$nh_(SyS?^=8_t&@AqC z-9j7??IG#`;5%=!JVZy-13&=4XJ7pzsjB{!OMo^z0J?Dz%+hRkW9Mj86pvXjjuJ2y zAcR1t`68Wt;ZoD5)a)M?Ta>X-QtP&tv-!i|(80KNf1v}-1(W2QF=+?!Ad_LheSn4KDt;F9b$XvN1YPzc=|Zexr!mUn=uROmAG(sLY@*(% zW@GT#+*x-@dN_VZ#CVyPwolqf0U`koX|{sZY#389FdTDs#t`^(379b?0rbQcWdtsc zS;6Ppjq1!p_OXp?L#8xJ;4b-5>lgiUc}z_-OZ3ET3vjS#!1 zva?t#vA-A}>E7geR2Z_D#|D^1e`^BLs+{Hd;3UtpQI?^7Zgsatr^Kvy%sNB^Ju{8k zbj0U%!@tp|IIeGFyy`rBy}__+nB(6tkwVBWx%-~t`9=R_>%9Q5#onj`OZP=qyev64 ze2jLU``Ty7KwK@-e7U544`6S$TC(Ft|GIxh09`^(Pqyf#!%Gza_el>X**(VN{?s#7 z9z4CrtvH!=@P&iv>@Pg?wJTrGr?a|vv~3wjJ>c^xUHtI(R4F}uuPLO<0`>s#{+U1z z;F0zKFs1Z&pWXY9%k}bKFj&{wW#JqPUD|ASW2<2Rxxmq|uu|)+=`=n5^0lTHt3QKm zMKBziJ9>(^#Amk2402S6XdI7f< zhaD5ZT#n$}RW}hcm^ReNgrmN=c+t@ti$B>!Ec`T_2!Md;0q|m*vj8PFw3rD1cn8aa zV>g@0l4t~0!-#?JFw00cF-$Pj5~+I#jsswbb0b{K>KiNuPTHb~y9(HxlLm8 z;4;1pPdaChrFEEeX@;@LS%}^M`Tb@^S!$26Er6dw%C)d-vjt;Qp6WbHhl^=CT+CR` zB|r{__W@i79-31c6@#=poJhACCNu3D!{N^C&Cu~S&u?!}r2DlbhtHKF|I*=N`e&cH z@bZfeiY`ue>ron2gWHeSqjSeKnZWDk>-5A2>y$pFmT^53_|VL`ck+q$01&O>pXRgZ}(sPNu)A36W1vEjh zhEg%2Jy;^P#!oC7zKxm~=g$G)g+ZbzhqD|j4WVOhT++1znC-X1y$S#R~HEEHt1;^zRE%c@Ru040F7%}oM71TNPFK3gEs zml_Nd^q_9p<`Ol55X+;|VZsDN)*9Cr3t6;p0|-)oX1R!|p$zA-**|Rz(!5SJYSqK4 zE|02|-5uolnJlG8VM?J#Br+RS2G_Z|RBXl%~vyS%)ntj&=f_6R7RyXOR(L@1o7LNnL2SUychYsv0Z5T^k&T41Dgl^-qB)~rfUT* z_pb+Y1jfZMZE^4NnpeYg$8*~NFm&16I3i%42?=2YgLI`T|KA%22Oqz5`Q{#&z|nV{ zE~y7RJW~(Of(d*+U0i%vWt1m6@i09T_+U=3`{=BC0EiOsmtOgk<$C>3b=?Gfz!KOr zQKf2rdSmx!kmrw*9f@AQWQ|acoK4fI7q4_WV*o6u1B0ETUfitf;`$!tTKpLctTk3* zEd;0t7^wx5bB%d=SO6m;L@bb=Ei93u!vKvdSTtpf;Nl*!1_o_-zhhKT#s*-cRtiQ1 zvP)WY#kPncv6f8VWxW-8X3hej36Rib9HGVp82I+c*208CM+oZwpf3wov_4ZiZ~P2w z3-oe02Ib-v>cJb1Q!qCyQIbW{X93{OBSX)f69dAPCZuub)=b)6jzhJ(|othcfvE$ekP&WoH5 zU44eTmdLSd295JI05R{J09Pn$H)a=hyolp;cMqC@z_QBOj=2d|vs=zpnLdm^?3x0X zxi&Cl>71Pz+CmLZ+`+L)^9IP9HXkFksi{iGs~KZi3;-Kx#eMVu?+^9c8-YnNOgp2E zcuqxxcV4^8EAHUo9RjD!7ANCJ?5OJN&4g z3H0Emd(@-#p%&%%~~fsAyhgOkYdIjoN8!k28~y=4l|J90(Xy4 zSrH-%5H@?LHgeL8A!=nomI!UZ)Zs&bK&1__n=+uN6oL#KGM`A*+&kboB^Zx;F@pz)^o& zmFX=j@Z2>^7|dC{F4wEFtg7K)kXLnmqpa)WL7ttj%IYkyLyVv6>1GDScHlaT4Ypyz zz)zbP89WRa5m-%!EJCN*pITrJ|L5*3y6%w)8U2{8S2gIhOWVw%A69n!y2YL}tGair z-?Y0EatK_z`3mgbG##%NX0%-i_~8#%kOYzm#Ot}|>U*5Q zy(aMCo|JF%+4letLC{~``}3);eu3;l^yswPGZwbRI2)W4d486QTtu=U)E9fi;$)gm zUwOIdgh0@MazO+nxB4#y7<-X-8H?W$ZMq!p>xYs`sfekN)(i_Z#LQSw8EeAwt3Vp` zY|KFmy&f5rh%QjM4*7d(%VoWz7jTwQGo8QKv#>!13k0__ffPO`m`gD>0*5pZ;MnNy z6k}sSz6~NQ-NOAGzhkHD&{=&fF=lMBMh#ztW)nIzrUd<&-A*DLTkI;ph5~&(u3b}) zh+Vm$bsl0&xxar6V`L2{u8E>}q=OVl70|>-I64B?Xo>g}uzMSmvgO9$gpL~;K%A}h1gfibx!x@ol@HH7%=lO%q;?sjIx%YBn0vTnc_AH;G&f3Ipk+n3$!)IsY#6|jOQv# z!{JERxQ4bb=9$aBW@*KAYBOZ^Qs7R2R4w*XSi006IDZx$t&s2J}8pn(3W(cTR| zqc$qyCED+hOVx~+0TdR*MvoYA7y_qaTytybJVq9F(#b+oYMowqG7Y3Rz$(UutQxsW)WE7*+EklT+Y+$az z_u-fax#CyYo(&aM=-4+WtVxXt~%+gvyQm|$@_s;Yv9WLihNcjEyVD69o?HK{wo4ezUw873pXt&tr zJGuurH-0hKIKLzO+)R9T1H_G4O8@AqH!l6P{q=f|QZRnLadJ`)&YrE;ckW~Wf){`2 zhsyM+PqiocS|$)b=>g!|GYKBzZ|MPGO6ljneETofS^amUlM6w8N9;bxi`C|EJg=&1 z$J#ZD-&b$}FVgsAmd?KNO49|zr74wFqxWfmNiL!hN^6D=pM}K_ zvaw3NNXn1WTFfeMUTq?=OV?nHp}}DS&}l12FxoCjYZ;|!#_53NiH9*mtZ4>NKA&}y zO(%*tW{$T@%~4|axT~zA0c4B5=oG?iyIdv*b^(EY524EdKI3sJH#Sl=86{jT0C;5t zmee{*TZ!^#bk(r;o2Cb4#o;^$(dv%p9Rbs323c~CV{<9H0mFiyIQxCnoU%OIsq1u9 z*Y!Hjva^U=#PuPQMj3$^N0ias=1pK-rEW*J7BG8@=Cc^9ph)J&3MH7dZNi> z@J4o?=#FOsZJ0Ut*drsreG4a_qb=;?k%H*L!#y87QF5E`y3#!Hs%s$he?6Sl5I%p7 zxj7}ze~tvQHdx(Dpbm~@EfejIkXojwe2h3~I0p}hc*U+-Y7!D*4T$v7DBz4HP_wyu zjKKI{bt>?wb@Cwh2A->Uq&>GK>V%fQ8&tn2V9fuCy0G5sW5ub8K_xDXwaKSL{v=7+ zAGEejFd@8Q|HMB+qvfYzX+c52VU9w%J7!b|LgBFq)nw`XDkedtDUxrF2~g4N70`nf zSc_o$J4G9{AiLpqj?)(9QJY$%LKc{2mpucvaYOJK`Ljl;LS|3s80|FClSj@!y1@kY zAUAt+YW0USg4Rg@L3{~UO<<{jeNNSvaOAp>ZF2_{kLc(hD!(?&L=Xu8!|fJQlKHa1 z;S0113#P7!YQ|bSN*b;L2wA#4XM{ga!_Jw@PIw&Sk{Ka-YF;sf6(Q$vE~vdKN_cc{V`*C(_uw{p%)<$eJdQ!MoFR zxOF`sWxE(o4Oe{y5V10kuqkUbB&14urE)qp3nyWwZNA$E& zED{{yuuc=PJPalLr=M-afz?EsYkg#5PAm;)t6aZ+q_k!_K?ZwU5{`ZXZ!p@aEsbVkX5w52si@Xo zx3pnh!Ol8KrLcdhw>fFzz`M|BMy^|S%mOw6K%s%2z)D!S`2T#f=Pw;7g3rf%!BrgfDm7T6zp_=P8?U$ST#{!L7aF z9;@ZNXLrVKZ7KqWbSFTn#{{O!8n64w*D--WN50`}h;1H=lrYaQUf{WOt0c~UW5S~_$E^^irs?^1MM_3;*uFaW^jsAR`) zY2p%6m%1K`D*i+|-`Qr@S5-+dh3as53QxY6&czAdkL|xLBuJ6z@AL7wdhMmL(~nv? z9L*kc1nB=i)=H{k3ldBlmy$dDqXwGd`y<-Uhbsh~2l99IB_i>t>z~_4e>4w9f@D7D zH)oWidXQ@_rKasxJXClrdGE(tH9L1hVy58w+sbD7duPjZw3Ma;6HseNBU?M2{I6%5 z(?)NHM1ybumWA?C-QZy@INP+=)FmG>s;Pv)qlGf!#2bK7x21(bzc^pCbONB!MgC3! z_mdgK%qCSRcSADpx2C#`BW1vjKV4kIaRn2t3k@RMjY}?qs${vJUXvq}6Jt}i{sZ*& z39n7FB2<146?z@e3nGGYO3Es37qdQ3_Wa;G=GO~bw^odQ-{J+7OEjVR6!FIV_8G~p z<5{G;72B)nrxG#44&kBW)&YObj~e^rL7Or)CB$pqey~1%l+Vvpx$DU?toE8+TA5<1 zZQ4&xwlA`M`9d)fMim1ZN*}^Wbj?~=L@eEtq{27%`Fb16$OkV>jgJcN0?x_R?srxo zk;L}@(mlZvUc=dYVEuu^rY`lS_KxK!+~Aj!sreix1xk6{9KqlrG%v?y|4AmMVII2MGLc9Q*et{QjgDfClaYtDpS+yj7ulTraIA9lN)+ z@;Evgt>XRDO25$dYun+?c!wml>BS;6LI!JO(Ivn0l?6b!`8Ncs_h*oR)AP5NEIw7O zCez;F>!nq`#aE3iBN|PURJfrb1os1HZ2vzN1mYboxcVujH4wTuhSf5o(gU|mz|i+S z-4)c>CoyP#wvy9FAg}heSudm^&h1nOE0iVoO=U>b)ZL0ENp1o5yIqR;WX!pirmGG) zF8ovH=_$K}(B8OAsd6Q2_E7<4u?L*x zgAbu{@VkG>l)TwDCxDrz5MEH=P`Mrk0Q$5Ps9##;saZbiHcE3m)>vToJQWPF#|JU- zt6o&qxKm9gAyoMTE5Dv;B?h2YTZ&vGoy6xHTIFkkjE>?!NoMp6@fZ$ZQ#p&B(A}k3 zkHB&|vAt0JJ7=C2CxL;9i?BK7z)2s+RS+3io(f$B9ROA!NLt-pb8Tr&Fnu)pv2Q+a z$^-nYr#^QFQbw@qZ)YW+@lk2|0e7N}Mi5;**sa1lpUAnx3=zQZ9inwcTf-$hdb;Gx zI4<)n`%Rb>JFdr;Oif`m_T@^)MRp8kZ30D}c04(XU5eISKyGH2f?=Lcvc7rMhfIL_ zS)m{<<}m#vBKTR$8fE98a<|Jk8V{*cMn?S0@qYkc3; z?@)Ek6q;#E?u?nfb&k)6lByaWg0^JibFA0|4{?Fo5QP~VtN_pCWoSjlsDc|f(woD$ z352U9MjxY3)^_f)T=pi`is&uoqtBbp7`9kifr=yskl%I=EM07sk2Zq)6ar~E{$E`* zvvBSIl^0~-o=!st6Zm{{!7J3OiGF#u2&oioiA?P|)5y?DWHBwOX2TE5^}r**(>en_ zTbeu8%MdAX5_TI;ZZ(=5?1*R{I;6%w?l0FHi^2%=&jadAmPJ>>Yd{gayiVvju;4+) zZqFaM+S#$x`Sq*ovZmE8u|kgiyNuPq->!&h6CDrj-gRi|ckCB65j}wFDXLcgn^yWd z{<5L7x!tU9g+#P+#iQzvXL&!zA%hK5`m5W0u|{J7bT$qnqX2E?Xr5ki&~9QVip$c0 z;VZ&w6=gLKad8FIlULXeRP}TZGcFsSlV8<8%-Tj4s^HVCFMy!GuHyj&H- zU85yF&bP076wt%R2^mxgT@&>8lG6}Y5lyk8`oEdT9+t$-(RN5;E#mN6$A1i^{jzMj zh4t-li^4>vIg6TcWnlPfK4&smD^j&|4Es$J6L+1MPtYwBirtuj^uhP8Q!08Mg$pWpX#*gD z&i@GKtO`J31_G%DKQVr550fG#jnb^d^dBkp*}|l2+F~ z^QQSsQR9OTW4|%VT=Q>EaAFZHH^bpe9&(U2+?MK*6(o}2d3LH5w`x_*&m@{}Pl1}F z2tc?W63N1I0Ml{5(s{8~L};}5@>L%tYq948{D!ImQf+Pjy&B5NOre*z9a$gujm$fQ zdBvhJeRx=WHD{zT=RfvdhP7FvRc2E%8`!N(!ZMO zw~Xkyz5mF2@f)7Fh*P%gUuqr*s&wf;jabYUk!XjH49~c-1=%RuUADZp={C+$Ycc({ zro@sZV#~+Is~JiCHSgBCa7$zfb?I*Pub5thIqsm;u{pDlFADs&@`K~NeNe|={1u_y zld@U>zi`-LwVwaGIc3wI#F@$;LdvCi?C=>qCbd{Xc)S~jr}=IE52JtiUmJP`&S|eJ zvKH6^CSkILn8+>MFQ`Re15tcr<6;+@Vve(2{=#*7s%-|m7LWoc;4hXk-d*&Q{il&A z^tG_&|sP}w!`^HzO%d`Wh4pRAj8kve|*_0SW zHBh5Jq#x@FV%H7)aq5V~lH}Y5hiQ6p=tQUm$P~#4?9Vt;x0*dMapjL%ZSn(Yg9rKl zfMT%eDBxz!)U3g?@uS@m!lQ(&P1yOpT%z&Ad9}8xH#}zHY~pO;Mg&Dx$Y%Db8rzOK zc|jux`;5xgn+xgKFoc$FMxJWIINfuSpU(QyTs`c&bb!K{?lbF%B*Ke`pzs9l@?)>G zLYubIBg?FB^{I>FtS^-0#|ZctE`9Y41nzLf0K>Ac19i6lLdosIH279mV#QD!Il^n= zH+Ap}w)hC6+yUCI*VPyNi*o}qYmz;H6Hdb3*uBKB_mVRucb00w3@LJN&mKJB1E>G= zhY=B!jbbi5u|&7$ioL#yloe`@(Dfshe&X1~3icd-#_p#7-NojCRHx5(ft0(uX=Y!x z56Xa-#XaD{C?n8*=~3_oa3OWfEA%`zZdh7+1lFpa(~%#;8UIADV8)~r+I!#Ho=#z3 z1&07JJAJx!dGh#nfg{ulEg-TG?(oT3!JWp5YLLF0OqduSmzm9DlHFG^sK1t|;kdFO znGTXI+i$_dHEYiOk##ffCe%TK1ISfq-e|Zkp-<6+a#ceWalc8G@t?Xm_LzjMs23U$ zz+7wrl^uC3d9#Wz>izPk1Uf*M+TTi|N_xedR5TCq_oCO<>NBHNQQ||-i{UU%jAf4} zdA4-4h%6lXwyP0yvFcIGuoo0^cy#t)%dBkm^DkYNT4_paOAT~Vj`R6PH?j)7iZx(~ zYz00UK1;Gmkr%3R#$f)l<8+oCh#xD{(k1e)#&<9Z&#@Tekm!?U6W3srC!b!7uQ6k=v$62%9nify zITd;kB!uG6Xo__FW^)s{AEWKJ(G{D2B}w>K(k@#iqS+kSQ3)Tkb-ZwQ{x&6-($&hv zFUV;5$#dgbYl487WDWx@fshLQbgQ+>@G;37$ZA-HXv4hk%Rc*>+ZprU9tVGYw27>a z$5D0tSM=Ys*1SF_2&qRe{g)0GP>Ci>KBPIoi4`XWVE-OnRl#Xc{$%|yi&aq-i%U)v zyjH_O9{G$|**K<$n#`;|A#!&)Y$8;?Y8#7Wg^Sl6G`&Oy7wdPGyssA~jpW_LSLN6| zy*6}g{*JX~slr20!7TeIXjR#yBK+=35JOBDm1M6vgV9+H_RtY@g#%T>oH`$Oiq9nh>#7U#SDTo< z)t4p4{$JwIs`)BhD}bN9FpV~|5wwJRV6~I*)EQ&?_47IgOl7ddw6E?5zXU&wmys1GG^Es)`fPBKn>-*$3q*Bb;pJX+J^zPyB zP8a&+IT8O|BP8|)AW2Sxi0HFZi_JJlTZnWoN{rhLbZjDg-Lr?^=3Kqj z34ig@H+D>_&>#_Y^FuYm&c~}?yv=U5W>oP5@oeTtTmgtD?yhKW^)HQoFLL1_T^=Rb z^ybf9>9r?uPWQM9oj8)^R2vcoKBkFiZzKonzYoD0Iz@`)>Pc<}o*cF$BytGl-G)h5 z#86nfhDq1+-+Ig(%0Fpse#H{oDb4jEC_;E4&Jh`ia!r*n(U}yJqojYPv~zh}?N=qcKb&<@fFr3v3cjXm!b|jm9dwRMtM#fiy{T%XonJJoHo zn;&oL{lcpwjf~{2uC>yCGKvLHt@*!`pHj zMqPr%Wc_iNoQ^@a{A$Wm%uBe9566LcHvkYkeV5y1g79_;r2==ezfD@KhWF~Pq8MwC zXuF}OPJ1Kp5qNnRN}SSCL3d%fz=uG05iQxDAQC$=MaCh*GYb#ynd#WdPa~t%4u45v zcE~X=B54NE&B6)uVK{3-5H78MJJ$B*s*Jmyu@&|T-u$2hOU@TiAOh0{r*xyZ4? zZ3unmK+-lE&gZeIMcDX*aTk|Em3=quaQkw~bRdohmT2==vU-{%&%j7Wrm-AQf3j?7;Azbd-+tdp(vJ zws_ulrOw@cB6rZjo(95Ud06r9`3u>iKj=bre{6gr)9v!kpYy-wbA=)G0z6#*U0WsH z%lFT&y#eCh9`C7lBD`su1ew>hK85FVR0oM+BSY}E6cr8qIc(*X(!+6K>E&kj=j~#g zIXKPXATXanfq{>#(zTs1^l8iJCFS9GqanHdKx-J~!7ooay$7K&&G@Ugllf55Jk6R) zKn^CU66{cb4`(aHVTN!SclXwmR*cF}P?~z%NayUNV0Ru)JP^g(954&W_4xhxc}T%zV}9kL_jr# z)(uUy^I{f%J7iPOF-yzK9KdO8Y_jvOSd=w>AI9688vbzpC7guwNmB^=Lo9btGSh}y z{zMzPTS6QwjkbHIN|>oM(lnu;aX41lk{yTqKQBNbj|G;&+@U68m($~RlcHj>M7E|r zl>?h^I8yhA5!Nd*lP4ec-=C0$ptc36z7KtNnnilw-z4zy>leSj_q|EhyH2vH{~}WR zMcisWJ)T)Vo5V=x3_wmmOS44$`pGHFt!hnrJ0Hw2;ouiaH*X3$Zd=8S1;wEZ{Gg-> z3WCD$+hZgFczQ7PpaU@T#V4(h3l9T#HJdcQt?+c=RKq^u(%WDCX7lm}pc1D`Oxrq<}zShE#m zI1>J~T=Sp`q!(N}9e_lg2Y=WE379gR3zZSR;dFA@oUxk>%IF5v*op28*dIIlGK&nI z%J-L9&a`y;-^mverhUtRMypXz-b3$$bv(3%H*&HU3}Iz2;Bjg=L?iKa$EDu??Ef!QcMX*?ZsW>#o#z{93eebWIl z*~j7N;&^V)4ye`)!PQw5u+HIG`w~a8tchqpaTdR%bc&Gd|a{ z(KsHAY^*9&n+Xj79k59yTu_mxo0V&t0Trr?3bo0g88tNS%%qztU0?`CTb-o))~$s> zi7Ev5n-Im79y)rOGcS7aU}#dz9h|wBp=(*wQD|J+CW)T&DThZWR;QE3mvB`C47VvO z<&fw(uH&{+0+m_2N*rsP#>5)1uNH-jcU%}u3aJiQQ3j7gLjk{wy}V- z%hRbZF;i$BUwxbSXd`Hp`>+;$%!0l0j~E4NL>k&d3dHnN%1U3z{I0o#ZkwW7DGqJ<;`L2wRTh};PAB=)zd$gS{&aP_HP*dGp9%9 z(07VX^GsCMV)<;0gR}83_;Ksq{Cpft-*$Cfy}`53cs{rMk#d=vTjklI7l^{Oy4H$? zS*gXLjAiJR{{p{^%;4|^N!5ggb90eUJiuo0lFZ4N+YytF1sy-_i!w5N4Fy!1%1OYN zD69y=yRrE3!X*>Ugf;cKh7PauPVc{nof}RYr$?FbELL0dpPh^x7n>4TpGIN?a-8wVq19!}KwRb=ep z8T!6$39a+{*uqdbczFCI=;mpqDFgu_<_)?-2})E?(RWCVxyN!n_X8;h0?VWKbO4{@ z?P<(^ReIdqJShi;1^8Y0bJesk*fosc9Hv5ip`J<*Dh)2E7a63^0>pQ_hy7NX*1H^$ z#)pOH$LXSV!I;YIk_&1&ly5SF8mKUff4=|J3~P68;{z$YZQ;Qe5&tkKr1oh|1B7ok5PPexHk zVZfHB9^sh3n$MWCLIL>O)M(V( zb{{z^OhtI;x`J@^q~Axv;mkot-GAHt?c)AT$_=hbels`#Gzud-`>lat+l$--UT_L+ zfNGtPW-Vj;Vt%j?aMAU6)xf6B`H(_eXn&T<{rH;)Gq}xcXJ0>ZKWDBx2KM=2W<|cF zgvw=WjxLdev_6ZeTfAl-WinQqpJ|H4=hs!#2#t0IIU7rLBYHQw(cjV(HsQWKnDL^7 z3lOb&Z2)#Fi^bXnq3QiV(9fb>h!s3ZX0y~Kbh&IA$BB5E!eA(dd4dtHtkUgsFCf%`s@Mx>v+>PmVW*7KUUGVGS%Ujv3eHgdX9H))Pt4Y$)7Vj zs}7%G4u%~!2X^gVDoIpr{M%ZEW~iatBij~o`lm z<*Hq3JM6PN-=#w_={V-jqsUkK^_HUxix>fS5?Q8Uk#EMl|5bMiK^;h^eOPsAh%Gw{emtd8C+xgc&qN#;GcBYq{2`XtkV4T9B zi0X2!2wi)#QT#;K#(JH)j3bxjE|h5Ki`+6e*_NU8AikzZ4tS>fCO?=b43GCXK=+0* zPtKSOpNh1nxFn@IR73;pJg%z z_Y4dvFz~~K{PzB*W1RA(8`$0Te*W5bG_ti-#i8&jMS$?J?tUkfTV`sR&OclADZZ}( z0wwlK+o)*TME=9-SY+eUx2wi1!K@4U$C{O$Bv$h}>@oIL^00+3DkDGxjSAhFlua%~ zuM=OQ7v2r+JOwsA`6~&90|75T2N7sxH>X>t4&_HBKzQ=Znm2dtDg3S&{LNR=9B#ujagLByTsvN64c@lxPtm_H(YEqSE-$YYlxW zk71VknK>M+vnUP5FnDyzmJ7*X7BBQ5-_GHlx z%m?pA;4Q}U-0j^C24df?#P-GUI(#i~t?f`|e`2lvl-kYhMd|gj>jsTxN@?Y~a3=U* z803VH8j9DEAGRroqff5k@N+Gt6mh)chILm;3X?F#uT5=gOM7_n##>_~SZwiAIc_BV zSgH$VkD?P@V;-n_0a>mTV-z}t$yke>J58>4vd73+q`I1t6FvGUQZ6POWvMFGf}K?D zrf==@gP}m-bF$JD*Dv49PcFxkS6}yW328F>i`iYHHNnve*`{SX#JslOCt4(AEiG*D z+w@w%@S-taV?(wzXR(cQKX80d-rtto({qbE*v9DteYb`P;L=(57D)|&_iR)$wA!Om zBWK3diJAHp6+5%S#suE;>l1pzd$^p+7Fg8~2eJM@Kn==a24CK*)mVoM+A(5GF*&cd z|Cu*e$nE)RT=yCmbjx);dn%S1IglsKl(|df-gYOD;MnAB&Q7^izF`3bEvjB3<5*T% zEcA9Wisv^&LQ=Tx8`J}X%EdXYrX(Q2l^EQ%3!;NviN7TgJL_cn+tw^~j|%W<+dNM* zCl+|zi4pUD<0pF;dW-YB`@28oKMx2c;EXQ)Tl=DZzUn)T#;KypWfKz~dzq@iX!x0z z+XNIigu_MyfjSWdX7;r^0RgkjTiu%qe`4u&KB0!Or)T6(t;XjKlvD@Jf-%uS!#tix zg0OVlqSWE}VtJdt6@N%3P_jf9NHdc-l;Br_E#?4LJvlsi@Ji(~O>6HMmJ0)GqO~xS zgld`JSvt|drTUR^%6Ssi@%r+!(_Wam%--_;O+V@2N$7^uG=uv-TWDgSswzed7P$VU z1#odDwt?#R@Wyez4_4TQtuU0VtFF5JTv~Ab%$8~b&@N+JnO#0;rI2|m5;DPah;%u1 zNZ~}QnwhtV>v8r!{;yx?2V-XrGs$3*OS9tHzeCfGJ_pONr;-7L1w?jwx_uDV@{!to zb{kHGZnq{1Q=;;*jNy0&U|12v+qg|&mdAxZ=)U&*`On?_`|I$KCgV52U29XB=I;6V z+gXOt;%Lg6|7FVi)6u}u;XcV!d-)761kNV&T61`c7LKS?Xj{YKAV^o;W$TIxCn3U$ zuRH?5eEHHhuK{a3o7`-;9gF!LFjCz0y z?tDQMp%7cB|6z(Zr^QB~?08vPyB(>{Z&gvj_Dhzy&%}i_UvfBe>*&NV>2SqqP#M&m zPjP^pso4~)M14AD4@E*jd2PjgQ7Fm!MN0;sM-h|DDzB|Se_qEW28m+a0f={R+Vgzk zwRL_ zU92fu-V-pKx*-ah-rGGvI5{6)e@(*2a&nPO@jN|t-I)8$6+QrQ3yoX6JaiD282g)} z**@9MaBqcV{Zez9OH4NC6ldoZH;`R{$y73Nt*ULKgDI_zmZaHdWN?zfGa3aL+fYn) z_J(5sC@nVoR{Lt(Vx3>R5ui7tGfGSbJO^WEE=}YUEF}^>jh>XxB-Zt?nLXIkm??)w zB>fZ=$PC)L9uJ1$!SV`wna-eN`o?bAdgKW8x(;ZFS~12bwpium&Wnli*QyS z@@fMdjsTVm&APqE0D=C+wD4uo+T02j$z&;I0=a0ir~S^x zF0qB!I}hR-%)#c{|J|AgQk#k~-RQm_TMwiG90;|Q&Ew)Y+c^Xh@}V;o5EnXvOr!Ma z$K(9o_sz1DY=0iT4#M6)qTj-e8(Y&4TJ{mnHnS1i)qZV$Xd8DXfDh%Sd*)iNx%2Jz z$c3xm@6iY+VIP~R2uN43!gP`U_LarbFUji4anBg1UwTGqlwf#W){GM;m* zMnxDVTxpc0#$wD~o9=*iM|GCpK~(6Mls{QC)zmfffZ{UvV_)&>#@Mu8CYOC(&TfJj zZU-hfU>(;4I{>O~FU0TDyi8_3A5_54ULBlhQ5e)pI)D7~V1GLK0&H;YDML{Me(t5R zVMSI%UoMufL_kzX@nTib*${=`clAzlk*lLFMKn=N&U@;in(WReeBTvqUVq$DIy6N? zT##r>5PoY7>CGu%cDK_k01q)@OJ;Ti84!ZsS}+hX?>q>*=fBUb`WRDZO_8t#4?<;)wGSw<>Kd(y1TCjZ_ zFnz|7D;w#;GNLUXx4sGnQ1?QSbi=UF4E1ye6qjavhfXhCksM_t+^rHB{kdSgCT(V_ zd_tz^llaqdOShSQv6RILh=Z^tKj>?Aw~3Eg9sHoJxyo8uYR#J-y~GX;1V)n+MU^pZ z_S3_JqHLL1sGgX;dY*Qyz$dEIF_JOpnit+o3{G?t&}ZBUH=c-8SDFd4IVEl$I+xD+&;T1k2~J@EihUTdZKu8_|YI8n`7WSyBdn;AT6NP9jf5cRi~!pck@^=F6Wsn zvAkNal^bT<*!2taiKi>~bW0v9+}ga!-ys9df=tSL=_JdR3}Sz<1`lXMCad>unm%nH z8*|6d_nZI0;*-I|t?V5~TW78W>~(*sD|b)P<6m`l(IE8%-PWAIcRhRimms`V5z?9N zF6g;>bASGdueDYQz@8lJap;NFv_ykPpF6q(L53vm!>(u`*oq*!d>!mDdJk=huGL52 z6y0=5kgLBZxgjV8(5|paR}rUP8De$g@KNFG&dQzkOo#x^}XnF z3XXkMrTeRcsI|y9bq$pwd%*UFd(Q~L6=vGF@qCyY!9yNWHJP;X5;i&%-?3p~@en$| zwr!{9g$KKW(f&z3Q3q+w;#w0|R}6AyD<0$!&fHB2>XV#Ksh}j+bp1CY_^52$2N6Ja zx^UX0C|U;Ky9vF+IqU*ZJk1QugqL`q{aRP{9^Itvb;y$ z8Hd}^OIgcz{%))9c)Q#f^kxKiN4kZF(CaSL-$5cpBtE`QdhX26k4@C)K;utF($aOg z?{^hffx7R{P}mnP4OTGDHkA({P`58R$y|G;K(F{ic$DHo3VzdLGkA3*LkpbNrqg@w7Gkc?mut# z7hcxI5K<+be3`S)jRE%op>f+_7rpX@s+O9XugsA}{us8#k^t|OeBb2^(y6zd@E+2U zwhp=bwKVo8_rw3BNR>Sd;0-ql%Dm4h`CAiqlHbu73`N)X{N}L>bJNYr0?A4o2HSY5 zgd;ve!NP9ajx0}G;@)uNf?8NK5CN&R4Vi)^V!cYm)BSK<5{97fDbd&@$>KV z2+a<60DAY|)fW6xF5{=g`b(Ipg`qRVA+}Kap!A^JD5U3D#o_&*sHntQ{4$r*U!}^* z5+x~{Qh&bpQ~U360jIdGBbK@?kEuO}Mv_k{FivD6Qt|m6;j-QmCNT3n%ZOm``HF4} zM}zyaE}pIJ4H>~!fAv|I3#bMXGuhacC!e5J8($Z;Bq0|^NP*- zf&DAO&40tN4sPfJ+**EotCJ*%umNY;=W1)=9qazfOqCcw-O#s6`8n55o^L|>%e)Ut zm8a3v|1LsyQj%30n^J_MSNmZ66s68)9jPv;q(6rC-j{N28P6}b(A`9a?sV|yj`Qap zs2h$&=gDV!c~;h=Q`>RZ|5mj|I@11G?}e;U>J)o4S0QhRj9y?=sPYo>=zMTRVlNOw)=c}{urPn*joGM-=7G#<>U%Kc_FKq?KYtdqVV-2ffw3tLAF@NwE|5R z^y3$|JHP9{2p-P{EO03#=pihCBPoOFw$H^~utigyX&G3KEo^c-HAY}Dq4iC^LU9pp zZa;T`C97>2U^dgtv4>`IXb`{Jmh+naf~h7Hqt2mgjIB?@HJ$ff&?sZpzHnrN1fwds z(BYbQ^Wva*o5lP}*F=9?6+|bJW%NqVROr2*KCo!bh1azl zYql8&jLX3GceN&!hFejhEe<3aKZFP2`YV~FA%wt*CM@4Wkf+x@_Ro`;Szkt&ql+mp zC$43@KsRiGwEbtDxtH)fM`@0>My-dQ>}v9$`HG!w&x;+~9OW2I20UMVOP7MK)N{FZ zy_=8w6Vir#)ql0g6Gk(UB*2zuiUp<{4aq5+dWoJ!hkVGRS%~l6IfdC`$|CB^VBoQW zae>GKEzf;iXRGe(c6bSA)@utZCKCfcAXKl-O9}it@=T zj}ySzLj&+dFYkLa3Bzzgh5(=ww%*B^RtoisztD1b?`rjR@!n^H%oDV`BXm2#G^gOp z5qy$Z?|*z#5b_B6=H_PvSD0x|@n0*gd&CYkwx z`-0PtCcDDZ2tJsF+B8$4@o}OA5e%SZ5jR_h&11=HLIW(cy>Ugzg;D8b>K(0{Gi~$0 zFAVb83mTH24!U&$J;$6&6QSyzDlPB1ua!QNHd;PO0@_~l#imX<)Rx7*j7~v?F=oJB z>c8II+t2@Z`F#xj!YDx^Q`0EoH~!?Gmiu{ILoYJvV1mc@7k3GIn4>!XtP<7Q@Mq2Y z@4po8zx}JXr1G#M6(u&&7RQMR0BK@bTrzv)L5To^>NFhJRF0xp&i}dZDR$nr0Re5% zzjm)nobPLxe1|tm`&OWZIBeOkuVd#IVB2jKLn_ol(VhgVy#~$-Yh5<)w+dV=S=~xt zx^*`f2J)QhtA!oO)*K@&{IXTmTM~E9MFd@=`c?0o{kNFjuE?4Eav~hr2AX?zM<-;= z0m#Vd?5`Se~5Ff>;8l<+MhsJW;c9ZC18as%!iFj0=Y^fqSAe+)&^X?q{WZ5P+s|l}-hQ%{H?7 z7j9BeO$|ZMsM0+#X1MK_$ zTQ*_v!s|Q!{9*>UuwHn~nu#SIbO!>^qc`@7!~kq|s$1%|8_SJs-CVYWD8I0(@%F!u zx;t!c&ME{2fL}>vo4`A4Sp74_;^&&t1PBA4AaOLiEx=|rH#C2=;v~75)xyFONny`#lng494RmQ!nebn zEWo&LKt^^4I=2>Nc*gtRJqB+I!|Xm`3Ts_=>cx`rivu_M)O#7L8Kt#~mT3}2h6Z?C zJv#+DU#NLJHf+Dx^~Y`BkD9vJ8K%-TRJ#4>PplY0d&6D$UhVqq12!wyawQIw)jsvxnc2AR3tJ$2vX)5pMY4FL4{nXUr5olU&v$iF z?6cb0>ppXgbuLb8GCjzR{xn#=^Dg6ul``&q++Z%1R6A-JpA)T?D!jlB*|9JtjWa?`Y)|Iis z@p|x`z_iWqkn;zwtu@b}COAmb_JzR2OBV0$!IHUs#^ttrr`pfIe=h08>tSXFMr22C zYGUmzBf2jF4uPYC!hcf*=guXVeYDRk?4&WsnSh%>@b7NM*(*X>LDMwKXFeQ3jt0u_ zN*SBeCR^9&t4c4I=g(;8LXJmF!JF5@H_8-#k}HEMfF##H{hre@?oBx+3?xlobs6Vm z!&%sT)G(f%XbDy{CPQmaQ7&0ey$>JF^|`Ge5=(JuR4RL)SUf(ag?AYwU6?;lYy=IPxbx8sLBqItqwtSBc|UxbY7E+4gGiDbILSnHx|SD%`ocbZog;p#3wtZ zG=PVe#{05Fvwc{n%mtmdq1H~&&jL1Ao`*KBH8->Y7UjPP`IWCaNCwa<*Y=Lo?LB?) zlW-tiQ{geh4u_5O8wE}!Fc-QxiRLz&5YM36F_a>;!Ta3u(XIv6`3j)UW1yrnt-St} zN$g&roQQ0vN#VwTpS@n`P>QL6;9Yl+(EXGe+FOggmOnevI-c=Ed{P>ekkR^bLItet zG@@85WOFC;J66#p50=uBFnFV!g*zL`8J38SUQKxe4LLW21?ic(hRxyBDh%BWZ)#La zx=UJ}V^^j}w$Y<|xhBF7=FD*JVr?>zW=h0WyloCc{}*ws3b1fZg`2W^shy z)8T@_n}U#zd~X6uO5oui*u4F4MtMP!h-``v=+^U2hKqNYBOT!PeS=<|&7sB`e=M6n zADJ@(U=*iXLG38Dm1Q43PJv~t-M$LuYv1Q&=6Cg_!d<(;5a`6G3 zS;SK4U$YadE=Q7r;^2VuH-(6v00EkDF8E$6pN0TkY)3HC0bGec$#4$q~ zVinZtgTI+NZ#P>G5AJpGD1xp}KYHV`d>j~=oWvW##c*5vRPX0b%%MW|VqvRm?eO4+ z960~{VcONVex};hWt_3{2OYfSECJO9QBB67*&8ck;OCqwxPuD|iTFJEvgFDONj8?? zl>aU_${76G8L|JUYYVfi>ph#-n$+4loPYak{CB_KP&y1s0(zK`z6R#S!Cz2nh~jRr z0dw@EKVc<_0e#_HFt3v#bHS$0b^P(&GDv{JtrbXF^H> zSRR9d(`{~I?r;E7@Y|QsbK;nTc0%6CpSHu=iE{jz&M4#fLZiDul~pn{bC?|B*&<}o z#5BjEf5UW>TYgFkDzKS8iudB(y3U#~CJ(0|KkNlVndpM#B^2fM9%7uvO4W1m6dWgDe1^1$GHt*8|MKX=+L;|Ai~)@TeFY`ai^2*O z9Mmwr^GN22_3f2~fd>nfIT%tfdEv|UW_i0$7bcZJ_B;|o=fAlxW$EEjD?*!k0R0he zEMbD}GADcVz8bJc25itDpL@KogU1XT8jiwA^Sw?v!VKCS?Xx%Fvv{{wiH~2?ulLg) z#Y~U@n}JYWA+T^}VzHKK#nSMCW=Z)iJdyc3YJ{HnT=@00;o!!qVPXI&o3DZcEa|T= z^OuE_2%}sVsGE$?JB1@b2Xcu>+&d=Y1BGUoG@}RkXubzRbfR~~j({5uvBHv@?Qr`~>b3qyUv6Fn};)+}3Ms7U6^%}h* zqGgzphXrWSmgmr;=ZkFbZH$iACW)#u`zbpP%zPpWqBaj_wdK zdjO}D^JG*MADO`hOBRXf1NcATjLEo2&2MCBV8^j zK9f0UUqk&8(+->Ir)Al?H6;U8aCBUZdSW!&6p7k-x^R{UEtwfg5;O3x23b62 zPqkwbgwKDXiIA_Lfx>227vAcR*s>|l2daPzVDG+u-dHhJD{>CHzfy7bMJDg{uvF2B zVpSHu`&HivllOTtVC$y9=tA90;+nx+NL8SI+t;*#X6)&+b0i-?^8RtY@|0kco0D}~CWIR;d_kb*+kT=0NGzprys z+};02)LA%0)vjHC&j15RcXvw--3=lkC?F})-65gG&>-DiN+{jk-KlhUcjw1*o^!tU zU)VEy-}kky-&)JUs!BO%@>JyN^1!wB-x=vw2U=+?lRrM#YKoQrTCi~hv%N2M9U*kxYS z^&vqS3h>v;3$@Gj<%vSQ3A1(KU>IW3Lk||$=sOQ>4?d?q$$oINEKXSTpBDBK@y(D~ zVmhTMv7cwzf(pM>R`H?ZiPEM5LWuDBMok|K`^Ee>wNJ8|m&TeclJgm=7 zLMEk*p6eLwb!> z;F>!`?^((E=#;T;qqnjDC>pe;SZF+Fi-+H5_2Vn^CSCT;ggUOc8eOHlpwT0k1kpo^ zL^5$s+53h4`3*fTfAQl#1am;w34F~kHK#>8E0}OQWqC&)VyQFi`xKr(?`}I&i$fXDIdLglNdG(*^=09gO9|cIw75_{!hUO1o_~;|>6p)2A zRHcfmLeJ>}B8fL*RdiUauu75(Nx^L`6PbM;4{deb{aaQR_i8RKf~v4^_oZ^1T-f{R zO~THW8)1v{W#;~(7+8-2`1GNc{h;M#tw{KQrt9=&vR7bt36#F9;y%}{vd}y%`SLGw z=;YqU+Emf_s9%Gzg03r|5B90CQ@Km)A@`OVmGxRNR1K1jSN5X36ZJy7jr%E_rkcb} zWjt`=vx(zL1=j|@H7bF)1Fqj;>|MtSNk)=6z0RzE{zeeEsVvWc0kxT+>VzeNcwsF8 zj<$C;FYj}@)~Dp&^V#pE;uy@VIaQ(L7@$!@aC^UHvtw>R+6F+}*f+mzOSN}o*+uKy z3L=c$V@hwmdg^7u2iR=(qc>-)>OnO;>>XQ*zFrN?(04D04H@< zr6jj!sbF904#B)6!o-8ZOrIg4)Wk4%e4r8+mamBFG{!HyxN zhXHY;ja8rS_{s0%Ug?d^^fsV(T!ApbMbXMg0ZRQ&zxlorq`=uPu&IkiS$$%B6-@W( zd&IG_(m<4794MuxR-RVcRWeIU0Gf&ULXe^=DkUjC}mCW z>YCb1jexp_y*(SIM=(Hq1Girbf4E%d%p+gjcggGs@%f!n=WIBeOX%s~#v|pWCyE9# zS*DjM@pSAb$Qt!Kq{-x4YS+P1-TJU+(t`nv$u|`d(Bcc)4^{XG6^L{%&{+!mUaClu z->@T`;ijK+K*p>@dAw{L3?6+ZNxW-+@1rt=a(Fk1?G;%5cB-;b)i@fk&%V2=q_9aq zJeL|fE?b!|D8f7Z5lK^Pq-r|4(E9ZU((yD}Qo?dHqWQ|n+U4{vN@5EOtIyqk$i#og zV?%g&AOUrOc6sz%c_bW91F83$ge@(x^Kb6*xL}IO2k}RXirg!0-~8U2(Tv8cy;1U` z!@sL1P&{dCRHl(Mx$V(RhK6_!_@8!UQVrrSmhkJY>$4tx0SUp1^&Y?_xwT}UKvxv^ zfodItJ=ynENZ7gWBy_s;9*2Rv!RIy<`gLd&C#jX1%yjF3bzow8^7Xd5H3MxU`++hi z8{Bq%kP{yq;^Api%U8qb?c|u#nMm z96{jLbME(n7cTc$`)L)5B9^%Az5^B+oT*H(nE@-Y5lZF^%KnJ@^sp4^@vS;45iTuK zGvK$ga#sUC)kj$9;p)cA$$-{^bz-q;r1N|A3p9HLqJLY;p1zHg_?S3Kd7E*cvx zPWouDC^1>r?S+(S%_j^E6>;3)fU42F&7`kWYithRb=Fcv zWIF}#eAx1{lT6{J!eiW~?qvrZ1gxYhjQ&eoLA_Tw+5kO{;~3lX^iB*5%?y(K)i`c8=ANsZLh-DieC$3zZ= zPXH?m(O6aPJ1WwlE4tSR7S_6eDkdK@-@0oP!9Xkf@#kig);EuA|J|Uyh=@2eQSKK= zYys9QR(?C}W)fpiVo6zadxE;l{FnQJ$6zeaiP?Rhpd=k-QCe8ecj;Yr_SMne@y5KbfPWaEwj*U@Qeyc`gc&f{{rZTIX>FV0Q zY=e)?pNP*b--Rs+y0awarjnB(n8MBO_-H1==_%#|Uv^ISlW))Q%<{V4Bf|5Uh07vL zceA_@vndd-FTaRA6jjlAU91WjL@Qdpt}(3eLd>~aSMr&XBJP<3XNee48!|kZjZJ;Bh=H@GSc)f*cl3*SJOo+o2u3!}p1|5}1{UfW8Xw zRu(GHIGdKkE0G?y_rxt6fMXR7wCW&KNQGr(vdO;83 z59&bytM-Sh_Y^m`c@~^TPeom!t@9qDp=P^DQej@b$X6=^$#;>W&Lf+kT;sUVaR-_K z%TV1G?5m>W5u06tNG>iU!OUQt_SLTVSna#Zryi7N3SE-JMI5~nFNXVnuOTlilO4SM zyD0CBtlLg8diAO%=C7iLYvNzW6+X(nRs=(aALqjfxZVd_y~+rkfEpT|5ZjXUzL6O& zMTmN-n8o#XYAvhx-1MGt-;C$bZBcZ}ynzow`pl@n^x+aXxe}deywQ4@+8VP*$DS;< zmQN?xBWzR>e0FeoG)iyYqQSLwt4L-{${(dPHy7nl4U~wQR5MH2PyW=Tjq?C)wmk%J zQbx^w3*sea`?0XE`*tK?#R!-uAR9r7^9ndU*MF!pvyaUM>NMOkUvAR|CvSn^5rM>* z7IeyJEwQPG5W4RQ{bdm+HRLVN2a&i`-w1n6v^;JW56+v`RJJh04!b%Zd*G?dZlB^W zck?NPx8Y)wus1u}hld{iq8^Ol`Cm59El-D0e&n%eH~r?w{P;X)p6Io|mUsu-ZoJ9a zbA4%@{SR$gh}G7ViJ&aNCZoTZR2(~qy)5`RZ=*wrM7SW+ABl%(XDr@JmTzf3Nmmor zo-Gq>kh;L|xkN_&FQ+fu_4y_gzD1OShOp!FM?SIVpiz(0%=_D0ZejO|{;6pk-8yk= zRDltA(VvPdy+Q&$wIfIyKfe{8?oxPf%dVgUZTA)`pV90ec{QvuduRxlZo7ZjfAPYd z2*KI8!IB?8xHT0-GfAMjW=CB4&ZF79UQ`ApmSsR$MzUaiR2ZZ&qSSiXf)OoVG0tmo_r71^ghcWsq?^&6;`BdZ}XTo z_&LLqe(!&s$hnas(DQhlE?kQu3sFaJ2|?xtf*FXAUXX+Nr=zA=5;r5jZQ-%8e09Xe zw&2R{Z}|RPZSj)f1(wb1n_L|>6h09_)V}*rr*RC`Gt#p(Y~M5~7KO~7ey3f&cOFyz zFinC)6`!|>Gu#4-6dBd-KoD{?3zF}MN(REtJ%0n8+woo$2My8_M!Lw4AS3Cu&%RDA zARMGlq}4~P2XG!n7RJaj>ZU#@=!R}pXA~06l|R*LWB|QE#}LK7Ly0r2HY?p=M5e5| z5Bt&Usk=zoH;hr7QQUg^heivon0o(C7*Tp2O&{Yc`pa&=|&qBNPatrSdNy36B>1(7f$^!UznK5V?&=CEt%dGI0QfH;q@~Rr+ttI+G zw62+!wx;Szy!QqPGVc>fG0w-NCRmNV^{5SPU#fy!rZ~}+UliKut4;UB49|JsBqSWo zwMqcR>&*pTTlSP?H>zJ>aK`F-q*Q8Vq!@>ztp>$pSH3UFYic>nzRtQwW!=O)#L&HT*?uQblh zpG}mDgQ-nXf)iaqt-IR)uo^F)S{`u65tgM^-1^?82>XG9kr}IRVzPfK4?bpD!u~qA z3l)~E<<}fKg;x-ZYz6PngWFaEy2#0~dT)E>RYAdsrBHw%2Ip<{u^$PkJG!YUOc^FaF{jkF}J}Bs{Giw$IMzeFJeabucOW%k~^`omyyO z`RAAH5vs%G0hafNMz6GBN285t?G%Kf5I?q@K+a=oKS}0WLG-&=6)3V5A^#;i9j5z& ze8i_$zoTym>cse;*<%>3bYC%oe%gmQ3ApKHhP9QT z;mBR*r&km@-?E-=c7vSKX4c>nMkq-S`qe#IG0qbu;IeO7s^fnkd9Z#AL1<>0AmGc) zN10E&Pq05;mHX5BO?DHh9>E?_A!H?JDhq0G^1!w- z7UuJY-X4*W_uJcU3r;K>emxy-WBh6CCO)r}&uPd=rpVne#`>z3LkwZAFmqKf4}Xm* z)}iupMJS^zV&t`_jS8RG-H?LbV{rmiKNzIN_m++i6b)D-@b zo+R8wVZR2AyIxyN9qaxF-58{4Q=z0V$8+pr;1IRjQ%Q9J%T_j6BK)O)o9ud5SE^#hB8APl)H9q#->A>L1;dA+%!09HIc_?vn!_Xd0k`TCn41VAy)QNgKqlxCBNGvWiB zab8B>WzLqeZ`muqjQkdWj~-K$iCZf6Ivx)7}}z1>h0^N7qohD&`5 z^^?Z+a(Dy1IoGF2M)PO(mvc9L>cSiHMMDU9Am!^j@4lZ__Wl;V&8!~CLzb1k(W}q` zK@Dibfs9rWEjK-7-$nne)aMjvUnKr=F2|r|R5-k{;W9|0hE*EkU2a*`Hv04H0OiT$ z_>u0T$-ZmJf6e32<`Dr>h>U!z#K&vthfYJCWL9|uR#$;}-b zmpzFXkbNFL$fRKSMEQU^1aMMrsFaNg^CU-h(dh%?_TF(RLv#bHNJ`|J^YER5sAR!z zFFIokX!u4VI7ZIRQ$H%`?T)l4H9GMDg?!sk(zm!!9Svxzf;a;h9>2T8lVo2x&b{22 z;rlLY+1?rs;s^^XPOS*xsb^xjX=K_zj{GyVwJq|1@!MnS#Sw%M5Z)SmiEvNE zA&>jenPxp_4YA-Qup$lRx9a9MhX*Rn6TZg0)u|iCzb|IPJVq(YJ7rtAlv1dN(1Nev-JJz@ zKHF>}&#!C4bhPFD2r4y;(&cvW9LZC}7s8Ma0;SiVQr}TEsRG&nItKg2e& zM0e1^`&T`laSmEZT4I?WjO8FBg2!o1frIsw1SF={zB^CEfW+qwIWx?0@R<=ZCwg2c zP9gmXMMSvV2L9Hz`jJrO)9*iBj&F_!k&W33*mP|fS~*}n*qru?(%uKz%DiTY$^#S1 z7OsPCoZ=xkf7ShCNEpMLhx_SpKxeP8(su+X@AULM0^eM2h}^usw442Rf?z3s?!GKK^0?8#}P!T(r*$5gB& zF$%-)T7grx?pq{DLYnu8J?!VAg$f3Mst+4Qi4uZumhQ&3$1Qg27r2SiwAk#|$Q z|Mu1v!Dxo?Er+~?KC^J;I0ZYRD;kv}`lym&lc|L*)noL%7``%V8gR04C0c|<_1Dv0 zz7f;E==mizmId~a^r`1wCnA=vYu&R(_I?OHB2NUV$!es+OZFdadqso<1cfu{``yPG zVX`Vy=}R^=nWXGs^gd`0(%i|WmL$%H6C#_kLP<5yK|MFj?VPku2kK~W zNqVc?maZ$+pdW<{c%eFZjR2$EUp;hBC+H)t<0V*LzoDktTe=~vG71(574XWN^!?ND zk!+NV8}qvgPonRaPyDI8-J{`o!^%z0x7~vioVIi(I`_X{vKsAZ1@Bj-w@Y4izNC~L z&$`eMiele!HDpq^@@-THn=H!oG~5N$$&r{Dzu?#~*3vg5Ej(7H;n(nV zt%f!DN=pu2R{GDIjTBFT&W6zA!<<^2=_(im+}KQ}v)`%&Xx@HNm?Uuh{L{P9-6!vZ zujv2KiW4si&~FdRnTpY0Fc%C#(UPbW!PH@AVebM6iIL$sQ-fGD-cHTe@3w_e;rA4j|JB|OUQnq>=8NDx0F4{3BM^#Hmp%dqthv+}z53@U*;4bc0&aAdWiAdXNx?S6ZG2$Z zM|mPZFWH0&JxEmD9!L~b=J30(m17ztrdWBpxnl%=KW$4l4S;ng1pi& zlIs0c$_G^x1rpt|QH(wHB`p$@#bwc)Zh^p?44gUdveuk_5%~^MlFoxHr?IDgE#Jx^ zp{n$CVe=PpLqP&PV0DJ@0mF>VPrSCN&TZ|WKNjQb1^v;6pq52VV@IcsbNix0XP<|t z;aw?qbH?BG3KwhyOTHpBBFdB6~&1`B~Tt0L>lkEf~pVMoFX}$dA#s^Z_ z?u-9fZ65i-`qxEvYy%}XWY-*M(0$YK1R2)6(81cdeBHE070iw_p>HEamPSrodYo#i zLG?{0gP5P&@5Ep3ZS1?F2QzWgG4#gh#JrH7_H^ave6mXEKvegOoGI+`0*J#JS>O}$> z4FWB|&Wy+q5Pcpuzg-O)e*IWpfbm&xwOW7b57|(zl|t})Y=DK1E0nh04;nC2-GLh5 zCPt5?{hqNmkZg@q0wK%|ES?jV3e!Gf{Bb9?&(dK;Q?mW1>tea(W)G$HrH{Z04kkT% z%JDhLgZhPZJQBKXK?mw~UKe<9wN8%%Y+s#$-zw?dRm+^P;Z+0E+n4hPKN;jq)p4=9 z7ZbIOdTnPdx&Dc0>_xUf%;5Q|6>&o_odY&mj?0E8b%Oe^Q40%hjfC{D-}>(mLPAi_ zK1E@d{UlY)T*roLkCw0cDKsP5Y=1#R6t85LBE`qL?`fCgobK9@A?Z_K7EskEc38?3 zEN^ghv@r=c%J~R{#oj>fnmaLF#JsYnhP$H2_ZCzh61XB813XrWTxn{(DzPgP*zMPr z-p&rnu|sg*c}?>t3-VqBl{QQ3)n5%PUJvhI|N5`c7K;UxtsvpYQKWCb#RpotqO~UQ z(asHqi3;>{rB}@;-yfiNtT`aa{H!_QbKQNf8uaeEMu``KMyJa=Lll~K${KS8O!^yd zmvcz%*Y_bBpJ$95>N*9K+v_&-`&C;GG=^Nqz+vK#y_Pk7*x$o2(8L-OQl&;diB)@5 z=K5)5ir1-wb|4;uP9M_5;h_g19~)?b56GiXCr+58>`nFwHU%5gM;Ymh?^#T= zUHXADLMUgMF^?Q3)3cMbvd!nL?OML&_R&tR}LeAndW+ye1p&LBQ6D}*3#ZF z#HPiIfg)If?4~>|Ow;y%Kq4f@dCjNf;LaJh4~Qdo+0Ww`OG8e;!lVO~5~AWo0YYE;~K+B*0#u1MnV3KPxjA&ni~ zXNW7~bj74f3Eh^VEsddI?kb5Q^IU$C$(sR2;=$L`uaWb3{a!`1w=scPgBQHr4XVx+ z)~EF{fp@b)au0hz9j!#DgP)nK(Rvu>=fYKxZq|GU|Qd`;25BU;yYWw zMM}d)D*#k(FjxozdrnIP);s2(i26Gf(rC{4WfJeD-JO}P^^Y-cV}5nr?i0rasb=^N zddO2zJ3&sNY}6Lex(!%x*(dl$0(+&bB2;J))WY;Z{|R=05ta!rGrG_=bpMk&Y@+Nf z7yoO>5%%`u+(5`C4hl-BO=?EO-(~nV-NeLXDdSxFM?x+B1Cip<(k?r}^ItloL#MW1 zE-7z5X_@&V%g79a!3YNi9|u6WGD|%e`i)S(hY@DIT#c&|Pc*&or{DjTTZOp5_%*0) z{`?8pcOpmG%;%K0NrONhVU|{@Gu!Sfr;j_rW~gb&l(g4+XUBxRuO|`h?|8u>Jfju0t^J&AzQEe^mc|rj#(zaz)P8Qd+VkdH%K5!4qBvUtNI-pNp3i~r z0L*2d(pX4|sr!@e8b3e!} zG4NF%!~25EC9V~kA2B>IM!eWjVhm^^CRu0cY6Ux@7#u+T8WQin)BXT@Z|ETRr;I)d zi}2jU9)WqCp>K?#w-k$vavv-JQ++nA&Jt^`X{c&w6883RY}@{8auRk4M`721_4%Fl zouI&1eG?JSeNPG(M)w(b-^{DSOc}Voe%nX?Y@c>%6S<4U{@q_CJLl|=RJs%tORJ^t zTkHS(h84>Kg=Ro=y`eaQLSsO`VcX9Sn(Aof#aeVS^pXyJV0)lvrC#%5z^MyhP`K1; zds2L6`6_O7XKi4^%G>w`ap+=esoN!dywfSixkv~uPm!4w_|3RU%vgD5o!HJ5_~Cx< zEDghkqS9+myk^3-yEcC|3b}AJ-pz$AOr$eN9u^55{#M+BJ6@*oC5cJ`P2*SK)v- zM#5g8te-6UW$4`O1HzWJ8LtH;MY96mRMub!iaUd&my>U444%>yh$_Fmi=%Ih_~Mm8 zy*64ckd}7(SyPM|vGO}ORYkYL$xOMFoedR{6gT{19H?wP4-*B?BrtMOXJWBax+bZO z{PSn!Ww$Gipo7=rReb}~f_{WZ{$q*C((ho26M=!rd(!6VGH+s$AE$EJ$B&GigIYu% zP5+DdkjS=$5wp01c2J0}$5_=yg(so4W&YW(fZ!a`U+q+?_A`=1OwpV_rvZQNlKP0)`;j&x49>2e1XdPE^erViEQH_sg^s||4`zgm%eaIIV zE&>kj;2&?}4#cKx3N7GoVJ^cv74chBJarbwG>LFTG*7?beF3pSLbYBttEV=kkr{F8 zM1?w=0{@Bv{kO%<>D3&6Bh+MUQFFT%2sscTvF&v=t(EeL4T0B|KQi6Fp07P8yx@e7 zN45hAiOXro9%ud1nYUpc*$v`Rh}kA^FBicV+lVV40AF?vI3c<5LNFV|VUkJWv_}X& zV{GrC*X+4@8%TsUG_ux&tD^1t_xyAKpmK+FUOSshkN27zOE$n9RF4uoglSzYlaLiC zU3uw80kcZdP@+QFw<<(A@2p=?_u9JH^KDE1rm)xVF|mSHZ9*!lBm5j4AAa%sGH4Y& z!5o}>a#&eAo%B-ymboXbc5g7+Ewq}mEIRko`+Pvd{F8?34)Y(oynikcqB}IOTZ9Ah z0(`$B%=JKD(j&7H4(6nN+8;9bEr8=g5(IDgm;0m&lrUer${`6#WUSRKJ#YF71<47r z(D;h@fz6L~mZ53aaIo<0Z}18_xQQdH!imgC z@QfApv*N$%!i5Ap^+l_@SS0@35i`GIKH(@s2CPj!JCQln;}Zq+Q18toedy-){>Woe z*0U%|DYWNI&XG0L6;R1$ZxKY%3cOHFzl$uF_?%uDS_rB{+QqM*@&u zgNP{tiRndI)Ye4aWn1?EMX1$qbElUgeeBdPs>&uJL2FWJRaR|2P}YSb!6g^Z@)Bw;xZs+W^)Tr{L0mudeGVQS%(m$EEMl3HmObO8 za38OY!Jm)INbF5*o_@omjuJdRb!tml$W3^d*6c4;xo-Dn`>A5*BXDhg8;I`sdo1u5 z;1(=^8j^>K-Rk+EQL z5T#uKZtqXAx_yzwAz{z}==&}ml=J*Wv6+u7CVEDo&3u2EbzDqwBpb?1^NsHnC)cH! zMCgNHadnn!^%j%uq?oYRcbhRGzG6SGK!mp~aXU2mx&fm7R;E94~{k;S?_8SGxsG{(gkDh4qu>gQ8Lhw^2_d5+BKXdzvJ6e$bi2O zpvVhJ;@87~bs3fr7QIDKPT`d6hJ(EWM^@9Ni2PnxLV&I8L{AY?n<)G6bR?|O|JH># z(~ge7Ui%G<@PgD>#xxrY&9l5hh0NvzK)*YXIJ07brkXG-3V|a&%?@3Gss$T*bdD-T z9W*MxZlzz&wIm_>V*QSr0-qymzd)@H!g8eF(nffq_e8j)w>R0{k?#6a&w7pF6AO$D z(^j2sJtmQrc$m(y&!!De`2$Agx(cXWsaqc$F&4WElAmrgyslC7kWf(iliEdV<3&v; z@Qe+Y`a_sh!6LD2!turwG>+`=mu2MuqCuLwCp47Fl{MnG3?!YDY|;N2Sc(F)OSjmM zxDtvVA*uM@_BiFjFPH%1BJiV;hEMjWzz6UMDsa|7&q)%j73@Q<`4aS-ub9Q}`}ZW9 zB@-H8O$hSsI*aaxy~5QZ2$s4X^TQZII41k$u2nCOD(-`Wahyerm&Q-;l`urdq?M#V zSo-|3v74kB%wHVBqc3F6Sx!9~mB+=$F)FmT*rX{ATA_}`E6pb;(aX+f)2mz8EAaCB zkHx|+5}=pdxoSILMcXz2*+@ifPHHi7BvMw3)yKc%U^mDxP$f>p-W2FbL5`&_9&fmH zse$pZrfm$%&8pb{0BDRdW|G>AmrM_+D_s_t?r!CI~(Ty7EXRjrDtsL#$E<^~PR&v?V#k~HZI#eGUTle+R>rX*e69&K@<{;%&=rUe!~Yyf+w?vFYe3pdduApKa&7r29O6tEw4x+N%Habfm< zXs<-@dt<(5!B)J|ch7>mgAkU{*3Z-aZXIZb8NG$G%?n{)00A*PMIO5cVFCT&SI}kws<(V2C(moy>gavsIqI8A#i6umHE7~rlu_ZyQ3{G$* zy7=v=VcFRv9|{exde@9cI6!O*W$b|4H~U_}XdP0>Y>;gIK96U-vUtq+kinLDa$v=u zz0y~-{K>q*+uTZmerL@!@?*6x<35em0eYeq5Bx09h9)RvRL)({^+Ovq7#2{`{VSPlsLAwr zoKvoVq-ug`i*+cyCM%)40>C%G$0|mMqM2lSN^s2IoE`=~G5_54mps3!PD5Mi6S1$h zLX4PgV~IdG4ln1JRZ3l)lXtd$Lx7J}TXG6-ViRIl9zpu!xyPYQDp?}Q5>hRbMr5Gh z)3!gvG34oUs$I+?7vix6@CHT<4i-6LW11-z`>2py^R8%@^65sQMOnX8aRq^33a=Is>{zr7ffY=a; zDo`TWB8G0jV|9g#fB{ zTD#(Qzvf;S13z2+YSu;M!ZScRh>nA$uA3x0&lyPBPr`Dyb%O_azxX-pKsQS{!<}2C ztZr+dLQVcNeSAsTjFKX=&5SgXy*Z8`J9XhGhQUznfU4eQYdksk$^geUH@+KM{ap`ig39=Ix6q1h{=kG&ufK zbn!x}Cp%T-e63IgFD*F#ok}R2o+1R4QhR#q1>)#D7nZI77#8ZvgYePyaJz)MQa%;N zIaQ#AKF!-hsn?DahAf7Y@D!<>JZv}J!e#*fFd{iUrbhh49jpBgS6ikNDRz1&k-u)6 z$#+sXReAKRQL^jDj{p(@)Y&`2{^}-J z-VDz>VpvqUN)2Fw9F{->qSST@@CjEBrT66?nX4rGGr@TAr3Yp(Qc1EU2oT0LI|nVH zeub#JJqtOKHbwgA_OGXY(Oetb7%4wFb>(&}T2-gCvJsoFDD^dglnuN$EN8PO-?C!H zKuPT_F^oSX%vyJ`Cf@Wlin;DJqv6o!eKLhuYl-qK44t7Aug6`e)+jMAM5qlOE><+X zn!9Z<%+j6fws?rx!gQIHZX7ugWjucy;`Qy={KBZT<>DZ;TM9#_!7X|P-SpkcNCY6> zC~_Y55a9^5RmVO`ZmSiEZ9)b--hftOiy@fDF7TKyFn$kv%T9h)?9{Zwgj=0YVoJ|+ zW54otD$6FrC#SN^crCmX3nY$0sf;rgd<5CwHz@-fz3s}XAl9tGiiuvrJS<&dYU)q& zAg?j-n;~w-S^Om@TRjOX6D%>+0gu=*FqR3 zaTZv3+T`N^9G7u|PS{66DBO3Ba3OVb>%S~h^7y5savh%TJQ50nl`|0>8Z(H${rm29 zPL6)hqT54dg-#h?}6I} z=Kc0f3nZd1FPb;8ZH}Bs4NJmU+T<8*E{&9TqyH3}=!1#KMa20r@XRJmK)cgH_T~5A zIf-^WqFw`ovqN!7)ZQSh{Iy+STsvUv`+1LO@Ee7aL6K6(hm5czY6c<9j@uM&|#2{nP zeTrjYDPDA@J1lseJ*}&>Ty;vN&9=?sDlcw~a!{p6$t+7ndy2y#s{EOk$rUWaP@eY! zkkid&k~SZ*tGE73?wZMp)6>8|es$SlOK>86QPNP(gQfF^<_d|DVgr7#KxriNeU7qJEWtdc}<;he0Zkc?=BNI9;h!8AU((*=bucbMgX05`+!}OU|)R^tpF9sHhL@~avjb27Iy2g+OME<>ecVK`!E@H8+3##~vo1#(RHJFkshy#(HYmuRS z)c2e==A-Wkf|}M!`OY@WzVc6>Jwc(Il-U?>Il6?MR7Su!e!>rc-5k97oLP z=)mG4bid?Osz)N}6UPGKIg@*sdi+{N`5SXWWP{B7=D^m-hi0rGBL#8(pqyR3#?FjjU`jtGUSl!gYG z`e*-pKF-ZwkD?XL{)f% z4n-up{1u-Bw8r~#MbH%`nVXvU=s%HRCr6PmsC(C3bAX|^!e*NDbQ$S5?+4{v>ct`< zlP7op$rt>!eBMsJ?As;Kw+t%=GjK6aP%9oX^ zk0fz0FC=AmqM~&?S(NHjsd6P1I54;rL9$Nx!tmAcdBl6^=2_OyiUoqul2%2=T&H0* zWxudV!)+WcWs@cDhc=v|V%Rc5Z`e_Mdy>xGDs10tst5<3N`4HPAE~|#OM&~P?`0|; zZ5IZz1KF-g_tX(Zw+Tv58PP+AtZ7w3V4my^x4s@M#6dKfrG3coGx^Wwmyd@ObGq7s z1Lzo&?^47`t9HS5dN}5K&#uoK&9Y0UFNSok0)&T~UNYST&Xf8|s9(_whv^r-l@sX% zH~p#DBd1W5jjolSZGro*mSD6HmtPr9l03galXCf6gj;&f&~4pLTfJj0bQpSw<NR&EwQJgus#?A=9~l4HynhO)E9T4l+a$ z%nqPpmZJgqU9yDW;v$)~OAR^QF1_ZxO+-A(KIWH=rs)^GeIH{fa9Dl%u|g z#Y}z2IlCNZLzKB@T|bKEs$U-d<^``m0~C(F3IDOO%ysiODL`ri=~IHELoeEaqK@Na zcN&z93l7l_;qa*~R|f${U9@X`2GWLn)ahYt0di9w?5X4|DANN6gsoQWVBG^n{^lP8 zYlQq$B;8Dk?pWtDIDCuPtJE#i?L8(BkZ&Z2@B~H1XXRX9g(zd4aC3PkF~{qbDyD9p zBU46;TaI7#V^QW;hktJ8QcE?;)h9O^Cfb}z zb)?D6_XsRf_@hZc1GFxM z@4Mo2e#4hrkJEG&-l#8`T}B4W;Y13Iz=U&59;kXB4Oc;WH}jJ~(^Dq-(a{;=9H)vIBwowTGWLZGIl8g9^8}>2u7k$&$Hhe-_MtD3t5lUPtASH%=|X;80%c>C13DbZc)9O znU;)UC2_=$B1Ra&FC32do%LICLthF>B!@5?Bq~fKWO^zp3@Z5bAoM_ZNvMTnt<9X+ z;-=EPZf#+qT0xBbM7%TI;`6tW*>9yhorLQoR>e-V@i_&1uj8FvvKy{5D!r#ZTMY~J zk}eaj8||F$T$tPoBu*}pZO{;jW0d5V>JBEdlRC1gNu$!=hv03no6f$PG|q4DdMI>z z`dlmTz4n`cXdl+wf9D@0n|%eldP_BfhM4|M(o(#Df?=MhoA&#)_xaQPE=B88@p)KV z<~MVPCj`-#^`t(=T=S!gL?uK55J%974WTOUL0<;7AsWqDC+g@h1e>8B!}G-MDWu+PnZe}<7^CeP!A%(7)SW^m4r>IbaIFA{v#C_frRLd*J5^~C z$HTn9kmeA8!JRt>GAC*GBKyuxS$uD04@$pC-8Um>rpPY=F(oz#&`z#q>n^?d7ckb* z@$a*>K;T;&dg&3%sQ-4!75Brbd_FRG;4J7UoW6N5xVpDcHPZWeW8w4f&zvG}lse(a zF_H*fgl$LMjG0fOun%!`GpyVBjcQT=Jp4cX;Tx~~C*8Bp4qyV?`}gbO{cCmS`tAA+ zywQs<)^zKZp!$s)r^~$az~~7Ko|l4u$mI890l@Ua3yEeB0KoKQTHm>WsFzZYm-%41 z%q8t_@tj&CrxZfetSxmUU$U z0eOfRmtmRu(hjLE3d+VP`Ks;PA~gV!0D#c^p?oYO2+|PJ0O#+})y%09xq_wUevyXU zq}p_;pysPmaAlx$M&3(X<@Sw|FZFzlasVwxu^X5{(HNXGihNWF*w+J-z|+^R=PL&X zybgBi5jn<_Jn=E$*^_bH(il`OKVV!xap6+>m( z87YiCcWW2}-(y0+qB&>p%&ql<@VzsLkKs;9=C0MQ>iuX@R50_x0K@ zJ!AwWGxo;7W?J^}9F`zMGif7-b&5DvwRzKP>>?h^!DsFUva{4<+A%C(g=^!K2XziX z$hOQj0$wtn=-Lu8jhT85hPL~f@*hiq`1x88=D2PiVFQLxzn4}|YmF8v%75Zo*biH%JTQz{~m+H7r2!+&vmSpPS--+ucT zJ%e}COG8RG(hcMT;&JJc7Nc_j_#@3l^A~*(0FF9`c-jZFfZ+(fc{4v3E?{H=ru1~$ z^v9(iz}`h?ki}6`&uRg;O|xv;ylvQ}qij{yElt}l>ZW3kNKjXoO$!O?u{3#`kCQd^`{ffpAmM!wL*Pl!m z_b>3@^BoxXe=&euMxjO|^ckZrBf>aw@RxTkq(AY@FLGhAhQ+piO%>Yx%~V69xR<-= z$m1HR`;^jmZ{JM+{GIPlySN|wwmW}=^E2@IKLgO~?RPur!g7bqd>g^Qb3ii}-~$v` z4+kp5dN3}oBRi!S4VHqVC7E?rijLBpLEzIP_+7#CWVG0JEH-;Hriz-mv8<==A7kNR zbizt+X3)SG5Ol(@xrD|vRT6Ag7>y`KXlAikwpEk}Mb?pkK=Dj4R0gX)SNLqVK*MKx zhitG!KrwN~yM#&azB_4JG&$WO6)Oa`w%%A2^ZabUtbGKMCu-8%|T;%d97a(+S3FC`Ln!&eN zJ*@@+eFmNehx3ssP_FxlpmpZ@me~j!7qNlPh&1J9_`qr6A%3 zD64@suxW?fcLinOK6Sb8=?Knk)74=Ma|eQ<+t3eUgG~)!u8CblY7d=XffkUiV1PW# zH#D21VTn}cO6?(X0n;K?0=*6ZG3SE3Ld+7Zi{#4Ea4>=VdCqF+o2M3XQ3iGpboAi< zVE_>G1_tC;pZ-$XTdgw6EZC8;6cblx)PqDx2LHwm6+_%)K3g?KVCd6_kEcKO*fSF4 z#!Sh96$8}_f-(d#X-}U={mx7$r1nWQ{odQJkPSS4oS%X7GjRG0V2lCm0hoZ<+gq#% z{IG*mUYgB99o>>+-_~GpLX+l2+>9UQf^|4lvEZtlsPbTl=*Nf;FYfc&ml-aM z?J3>`rAX-l{T@IDC~>-1xfm+P#Dse|j?uskbB{ooG+wS+Fdq|i^=xa8mr|5Vcc|$`^l=aO7`hMoUJ!7${b&Ouc z)*pJ!@%1$8i0@`6wKq1wWY^>M_AkGAzyI6A&4(xLBgJE1pcXyU;^=^ z4~9jbmx4cJ;+_LQ|5`uu7SIgfna&`{1$=4N83Zp`r|TtMS1H)R&;v@rced^DU?{@^ zT0rRMYU!K3W>JqyUv^XqJ~>_tsVl<@J$lM zQY(NXaTk#l%EO}5NZYGKOy}@0*9R<06Bd4kk2%<0a|ZHa~m)skFCT0()vg=s?d=NvVjGz^=FWbW$N(b1;BldsGjjw&v-l4=I>WI$ zb_Nn(Zzc^V9Sb~D0z%TkvMAz6Lc=#_6a^lg_ct*`t{epVImLvHASGI;xopYE805&= zXc6m!K>|BbSSuIhOy4AQmqN$WBECe10sX1zhvz3u8g~9V3Bl~w{DyNC!|mkoCNi(6 zJBOlCqGZc1ATrU6z0oOWkrBo3rT5nX5u{Lisee0P&}iA)=OWl!oC|zEeJEeZGDpeZ8o^1Qd8$`*xYE5Q@!m3%7;JQ{ z>Gsg~f8`Iqb?bjG2M;SuA$b1ceKUdINa@KZYkDbK#+{dhKlQx)=>Z@<;%gsn2H76G zl!tq_^CoRepKg_lt5x3CTDB)$)2CX7-CCCGwgKQ9nl+ig?K*dxw_aG9Et`<>OI zf<@2Uu5M`Y=mr45+9(PJ&fv|ktW80QxT~qhet3x%aqJM1QZwXcS#oZNzF#&Bc!n7y zO2K3Tng6#W(^udSP7Pea41`YX7mV#J?%)XkGAj^<5Of2HQg9mJEQTBqxq#6%1R&3C z;y4R^A^?czVG@1unP-_TLjf(c8(a)LI@QgCgD!T9jtHPkp1Ezu^1~{5+lk4&cbxgMJUe z>xg4PmyM{mj^);=C#_f|yw+jJ)>XNagv|p!CoI2(yB|NZ_D^Lx#eoPo2pA~TU2!RR z9at2G$w!+pm*?;&N}pcjwOO42keM{h1=HLS%+CmtTwVpxM8^k}iLD(5fOA_ogF7$w z__x3*jz6|c-*{EkIt6&_O{4{ro`|Al!*#~+brDIY)D9{=fgUw!2to*W&qR^Gn% zUR_+dQg6KZrZDTD`cogS3B>QtnZO@9?S66q=(hnAi2lHM{QB+UNSN*Y_w)AaE(P~x zc=#~)moJY!g6r{d-gaHnuUpVmx!c_BYJ&*BWs6uCm_n!vE*W=7$#o4Tux0rdQ7=Q^ zQ4^RE36r{EfTj=5U9^7d(G$2MKun+yTLQi`pv=qM!A0)b4FtdM*a;YnA6&k*KsN}p z2V-G|g7+OYfIvOyWI{Kv+r+W#j4geMSQvmp7)P{+$B2;-Mr(lo!*75T$A8B_JarA0 zi$(s@6W7tNGjkV*g!||j>40d{=@=;ZohLW%3@O~Er8%W%Eyz}4UjKu1=lJ2z<9dF6%;#s|W6uD_8S*v3@S$%m zy6!C6ma!}XSd-?;%#GZq5Y?;u2L8?kEn-*<-aNiIKBLrUmJQ>}oT!Wg)?ineiDnc@a5cBZz)(2GWJ0h#?6;Ww3#%59Lq1 zCyv1yHMxAZQC3DK9rEoEITNN309sA_W8{qWfBr585AzE*X91^;t)HQdvbE3n)5mGR zY+ydVH(5A==p>sVRRyN;}1xXq_L$cPw<)oBFVaO;wt z6eJykw~;h~rYu61A3cQ)JpKlt8Tul>FD(xovY z5KJJx1A*W<6Zo<7+J`;i(*r=fi@SsT`fYBh&IUuHJ4nB`mp2a|Ht6~RM=(mk!!Q(v zLqDu#vHP$E5bTeaZMO^nh*+3@+o2TPEVjt~YfGPD=4ghdY0J=eLmvRJ3IL)6jPPh_ z{{#SY0;of%Gy|c#I`lA>VC&QMDYr10q}uPO6kOmQ#%#O96h1I!hJn;=9oSY*OdtT@ zAY+Ie!oXK#0$G6|031-?Apn#mY6O4+hMxog;&nT#Rr>O^Co}S>Fv+v=cGOESfpZrZ zb=rCS!KnoyMmH9yuU@*Ip1=B3xPlcj?cR?Bg(2hym~^L+Q;xyV0crA(L-Fr@_jl8y z?a7aH)1ANQ{0w~7&H%>M#pPZ)>~`tSC0h|Wai@UC0F7)g=VRM1DM98-s!bPut;`)$ zejnMR&<4(3z0%^zjpiP(lww5I8Z+M_E6&bKFZe3$&b7k=Yy5fW-A0XG+m|!%RA}sP|%*+^?AvGg}&+)v3=PZ{? z&RI5CSpLHAGlGtZ9mFx5tPy@JK*#>Rab2ypbfzNN%P3!~53=CpbnY~j+x<*tamHfd z{cX}S+exEEIFRvfijIjpgx4h4+qiG2e*@6RdFQ$8$M1~S;a;5dco7d28w9(FecZUu zs1pQG9j(EJdjaGp>ol(sS&12Vn`=2I0$_}{9lMQu5V#7=lUa@mlb_=%)ck&*K&ac~ zL3asB#p&Sf&3g0RgQox2Z{EFo6Mcj6x>HQx8~_p(endo!h4p7E-k-Gz>8Er&9}NI` zW#X2#4$uc>02tjt!~(vT84GjaLSDc6YDw3xr}cO5G{f#uK1hdUSRUuTUMSo3QB&9J zygWQ;YS-rNy*u3^txCV>+M13_*_IB4-l1*VW?kE%t!+W1OASK^+sRdG0dt=gH8;)B z)kWzO1EEpAMLwW9gQTV0z)il7y;SH2sR@L}4`U4)Ky?sd$yXo{ zh7dS}sR87+1S4FQTy4D=3?0Oow0@PbFk<|4*JnI*YMmRXzQMBx|FOTjm!5h2iM+d9 zjjelJ#?gS+uAZs>&I7dN*xD5=9HBva@#-__se>z83?kaWVq>!fWB93erLkyOhcqSb zmvrml-Skgh|HE?-_){9F=O6QvIRm)&(KmNVhHsHp?Sh>)5Y2)IB^FU$#X|3LpCuO7 zV^KOW1~RKXghbXMj-92_C~MQ58hvmD>I_n*d&=kB z4r3gnHPCYG;(ALL=s@N<_%Q(V&&XWG!OdAggHQj=*UkaVWb2|m9^S*zEc0thm>Xg| znJkr{Pj>i&$5FOluX`5%3n)v;sjRE77&CdJnl&r^pL zF~_(+?PNEIgLd&B3^?5@_j`sTXd{Q2*F=MVnLB0W2#^lEA^U#?&R zM-~tt08QXI0Q^J~=7#}5ztEh&{yhhQ^X?${-F0;cdH&?2AQvz_`)u0YzMVIHU;0}^ zxwyNNx2Z2%lvoqYAd5Wg4q)5L;?7C8?Dq3^F(7ZRY|EyrC$+R)+YWWzf>^Ja#gcZ& zxnqA|FnxV(bEyPvWCEcLEJd9_Q2HGKU`AXFvj6b@$o^ZvAkz1Bm7xJ_019(KA7S+b z9u_bqS7ZmW)XP?JiiJTrm^wk4L(B-`Rbl>MW+4AA2@pGiX#40G7zIXiyiK$Lr_Zz3 zBJc0)rsu9*&)EI3-y}kEAgBh-8IwE>AuSj|P2L({n!H(Vh@2+8$Mc8R(^HooQ_02s zJcGq>Tb^-3pLR;4Xq$SXh?>Blf9u|R>9^ke_NhhT6Ww*^PdYyXKgBb^ZaK>xGJHD? zVnLDQq#U|Qx1@y^Udu80K&MzqNxyd1s`LP1k1$*un};REC=cR1G1VZl z5hv~5WQrjGjKl=IpTL?Nv_7BKI8VSt0FLEX>Z_+3s7wy}OxzQ8)4FV`EWNm{e0@Zp zKnoZ^({IR)L1Y2?+Ho#s=`=P00j6DAWoYy%{iAvsLvy)Uz@HdJ?+;wRDYMZ!Lo>#6 zNsu@G1dL`W;=ShGNKTuGrVWCjqx(#|%^ZGi1C!Zjm)8Xhr;@q>wV6OLlmLwQw;jvU zeuk?UVwoLDx9`2PNS}fUoQFhvk<`t1+WYcToR>ZeANBD7a7Go6 zAkY91-9hkp?6I7_{cXB}AASG(B|Z0CLNv^9Z!hYtBbt3 zd$+BdE-w$-20*ZXG_(trf_J*wZ*x<&-LNfS_ksy*S~`Fo4Fjt%w17Qay=9TnH3R^# zuPwr7Fn5p%L~dYiqz^374Fup&EFl0LO25$e!35GEmTdym001BWNkllg;@Qn1Y-C_PuK2o(U} zz$o3)c{?j}o}hPZFewC5C=Vl#t#jb7z@(V7dB5>#wKIrRawRUAf` zXhEj(@(kStD`r4q7H)ow)G%VR3_u@1)cw>Q1;es9yM0LSiT^>*hy$Lt{}4gZ9G4%(1peBurS!G0)zJ*%<2Ww`d#V4(wZcQo_s#Ug4-1C| z^O{l_OTq8IpSO1p@^HA9H|b{SQ=%)FTEOGuyauT1x{OwF=n&G~z1uDK_VTta+In0| zzc_B|wlqyw+X_6`vvY_*VB55%?>iVasP&5;!32Paj-e(nvwa-mVQS8Zdg(IY|jHeGfKetGk_nMz*1lUVJVo5;$#G2cMuvw1~TGk7l&C?Gf%Bx5KBfR z%m@G(7#&QYqGKWq`V12|OfyED@rxHOq%S>ojhaA-!v)YdxduRYM2sgZmO0$!C%_<{ zkMzJle*G)yaJj3j!I%WN^J*IDo*eNoV-s;GE)%(J5k49d;P>vmlm5j!uYMsx$N883 z*`5L1)BD{jU0Cd-{lzLR&}{=6qSB-_*rssLp4D^N`AI++B|^3c3l^Olt8sCQUZ->8 zLI5I{`b6F+S8mjL#ozq133N^DlK|he4>t&~{!dynx&D>=2ZINUTN=A+H>O3`S}>Q} zTq?!!%*`tJ&VJ5V#*E-(=-eK0nso;gxQ`M<;dw9Rk9bi*0;yATmD3tupk$e-&^ne_|-4pzFm$Y8xTJ_Zogar0QM6q%I+sEk|`|y9H95Yuneht?SyBmL=AbSMYowaf;@Oo2a95=Px8ms$rfhnS7=C)22Kr}8ySZD!b&L>3wWVg;v1 z%m#dqNgJ3`di>Ir^vu=Av+eQLVt6My4y-6KSPt#C9!oV%VV96!xcqdwvUebtF$K_? z$T-M3z$U$t-(wy@!Ox2zS{%dg-TYqq?wy-stD&DQEI9x4&*K?jre#4}ppy0%JLzDt z%N)K%iw+u5W+ZbZQ0FcO;UpaOuSRKRGqlhs7jrBR28-u_VS^E$SC`l3PEEYuyuYd0 zdM@(8IGkc>Vo`U%u9+cet^h!_$m00K2x&nkxEfnWPWgH)rA43G@%nS~r`HjH0Gx%{ z>+C(kGUeE|4LUn7@cMi&0tQEBa$E+-cLZ~)kYAlsgCcAc=P@BNghT`i0kAf+K0iD* z9Ba5@@!s=pNMou&19OCfkP()>mc|d|c)Muh+?yesj51=u#v<43v+VW;*v3N+S5-wE z^+K2L7Uxy&@Cl5CdMfTA{7X4^ST3f1!vc=F#+Kxe`Hi{vY;N8J+(r@Lc#ix#GNiM} zuaJXF#uMdM18D(e>0FsKG2PtKzRq0C_!Yo1-W%_uKFqq`MF#8p!+FgOT9ka8Ynd7$ zI_c~Pj4NZuUnJ_wd!pYlEH+{eun;r@n7}WyO_dqHd0E*D1qXgKUB}mZol=RH`@6R&(FZ8Jp;J6VA9y{mW*UsX%L!NLNJDr3<&5#|hJu1(r6GauSC;bEt*7hxTP7B(3PCJBdS z7FdkwP-RSrw19lChz}VxS+kSJ*Th)1XrJs)u#kxI(9fs$^M-KVcXkf0&bEJJ$#Upb z79Gp5GIHR(#>kflAO>rMg`e8Jg6k$-G9GrNP8o2bd?szNX<^4Yu==L7(R6^H;; zW~=aBryy#9tx3x$_o^a#5Wx~j3TJLeGfz`sv~-3BlOsqCO{nBIc?{b3>*qQ;n{{OL z5zunzv6)qzi#A$!x}y_5)Atq4L3W1wz8D$W$XN`t49nEK{sOGl7P8PB<_wo-T~bD6 z$za@L#ovV+kWmt3jb}u@%pB*ZOSjUKN|QJN{jq8l8x6Da_->Xj;P^+4YkaP%UIN}; zgDh$l#@$J=d5Pd}YDufAIPVITu|@r_4$n-9wRV9VKab=Z&zT)+EpQM)D& zyL(Ny-84f}nqj-e9-)OZcqpZ5Hf#PJ(Jm+f4@28E+u9E0cu`VP$B>enAr+cIa_tw0 zf~mP-Phc8H%7B)0Z64C9vhCZjWN+XGVbVjJhm5WvP<;mgObC4z_#>N0ut)|l^noQ; z07A^V4vG#YPzDf8c?60oA4n@0r4MS-XYn=79%VM(2HTw97AofUE=*2CW=|v z*PzcVpuv@l{L*i@q$!uHqz+zuaj&DZ0v2R~4Hzu80Gm_y95O$_+EHMSwpnnIl8Mox ziPu6WhLB%;2bO2UcmRNe1yJq5G!4unKg_BCj4YPRkqMl}tU{!1P|@)!tl8h&Y~5%8 z2))@@Rt-I!wTPN8RBj#}y8V{XBxGpjE#K0Rjy4-60vtu&=)qz|)6FD9Q3k0WKId|< z;y86ayrGn|#cI6(k`b#SM{}^FqoHk@uY7M16owX!pAo%+EyBjz+w3s{`!KA?ydp+) zbO1wG9>xXFh1`UXt=o99M-VTDPz<72!kGH`wWQN@IeB!PQ@1TP&KrE`Nu}qcHgz=D z2%zFxP=BYHcx*Q)W>cFFU4I#$2<{;z09y-lA*B!FEyS-d8GqtDM2k7bx=;_wuw3L#f4c<$T+|(ua!XCiLQ_aRBIu(bWW8! zp{a`ofG+@H-Xt)7T|v*_gbpEfk!oQl5#;*(uP$SU)o0ve3!pKOUfxfX6 z%%5SfK6UkpbnViWJZBUz5rA@Mxq231Z|&Knb6V&!)>F0OLe|~X&4~jQeRb@CMbD;J&p$FZMAliJ6p)ZUzRygy&#mHsbUq9?Pu(LJ z)~Wulx9=YP)mwLO-X6=rh=)1L1pZol!LLP5;0HT}jHmI7Ff)G=2GHl>lLNrW2TZqb z=9j+4T%NRkYd;@vACzJ5_E-w8t5v>q`%>Co+%G5Xn;ih)&hFJRtk=1J^spUrE&VdJ z9ROh8GFQ#+Z!xdSSAhKk+gmAXw9aiSdhpX1R$I< zGd4tc5jTsVQ1pl#vChjJPAKrr)H##P$7mO$#}nDfFfQQ82;QKDi#QCIC>883AYy|9 z$5OCP0wv1$oR_riR0e=>ZrliRSX$gBuq9^F#3ac;;&Q71tJ;-uCW@#i8BNfRO)b>s zaVjVMCf#}TFg@I?$?|{F8X3;Pm0dBp6Qim9FXxZgWV#$|Lk-wmfP%>_EGEw9%6dR< zPMvVz`6*(0SiN8?G66d=a=Pw zfNhjv1H9|IsQiz=Gv)@L8U21O4={+HYpbOz)Fy#!ZS;vJAP>HgnSxRNH)zH8rmP^! zz%=*7brtZ9FzSdL0{F7r!CFQ$clbB;e*yGuM0BK%*=5Uvrp=R1@?2tM$pgV4Sn41d zypeLhVSG2V!!yVgORQzn?>9G9HKh#wF#N4=zWVZC?V4uzNG9-qxRKLiFV%Do0C{dd z4FH_a&8|D@XJ<8mh>7{y*Yq4@1YWw7pMUGEjEunc^1oJ(zxS?0pA_gz5@OpE@(OCMDD#r>%L08get6c>&4hKu-EVT;i~d0v#1%q&@qJ~9h4woW)vAjk_9OTJN7^x`)eQ7&}mjhti1G33_!-B$Osdav|UzHIafdT=FEC7k9B_cV2)hY zb$Q!kQ;tr(H^#O!Y*W8td_JCmNGGs*$J=!}-mKHs-|-p=%&`BctbOP+$^x9FHNn>!`uV}ds=JV)Lj0nckgfh z+lS4=N9k1sMW^q4C$S_v*95{8f(IgE@c4ohY!oJSvOUsn|!h?}~qL#6hQ3?Z06hCe6t z27(X*96rn-*dEf2oO6#AsU!fvh>)qs0Tdt<08}=_*eQhW;99fxr38c)hKx;?K86Y8 z{DJ?&MD^k`&!wvehuMkoV-$hg0bxRn(vBU1-2J(2ligPh8r|=wU%2vglyj%7Du=Rq z5^yAfGsC=_)1<0}2!r(9hxgL&y!~=I4qecXuzsAs@$mx0p@I? zqw*vc9_o?MgF1{4)|xu+3t!h-JhD>}&WlCG&ElC)=Mo#rs=-DJlnrAXiOP(V6V=R- zf9@_51PEc87~hu$h$#ShWYS}C9!s8MjK^ucn#Y2}i6@<540o6BVjR0o903i0Sbz_V zRg61p`3x?s>mtYu{TzQ6V^389oqInpj=ji_K(*F%GHla>^%2KukMTQ`di*4AKLF^f zs|#s=wbI)KXg7%VXNcvJWW~~zIq)@uXQpt>*n^fYg0s~^EIx*%W?x&eUUta3AG$w# zWHqfjbonye)AP-Oa}UMNs%Ne@4EQ^)gO5>Fm}t=#%(8)?zFSBPA_&^9WS49Wz%*{; z;5J}1^E}sU<9dtjjo1OASi0{jzM) z8m{dK{Dz@JAhg1ui+TYM{SJbkhunz?Om$VX3M?1~%?KG}02&acuEIMUaWV{zo?>A- zmXimxjRWvY$PR=?kQ7;EM-gVi;OJl$VI&N`gN!D4d<+vPg3vRY{(`I;M7lilT)Mcs zpD_^l72=vo@NMlxd`h$q!XUJUkh>`K7|l5yuJ+T5SDqSQhsi{{b+uy}$M>vhxfdae z(7ov4xv$-QH~sEg-%Xp)IsIt2+xe?LOJ@Kq9J$AVap=Q=rT z7I4p@bn6%scDC85`-V&sA9U=>-3!J6<)UE6*xt&HM76>qIABRhi>iQJ80lvQ36~N_ zuW6Ja#qtTHib2xf$3-i2YYbJN8L#|%vW|`v39X-7r;SW!EN&jhW;48y6B`9MViZ&8 z-#AXSI!4@xm=Ki^^^opNn=hWvD3_5nApnsZlg5Nv)6sTK)5bB*?9Sw?jU-xS}+4p=f+*1(0H&LBlua}(IM$wcgw3^*?H0t^92Shq%CF-DsRAQ{+= zV2U@u#Nq*nE|$u-!(+V$bFFf&?@NPo&f-!2b-#Apr)E2Gf0BhALzD%`TW+hZuIRy50szsD}Ou& za6$w6n@hnT0Dw^nzIiD>|K3}9dqwTy@Hl$+-DY_BFe4s@OyF{vx3!k-@o|HoXvf0< z3=ZpcGc>5}F502rHq91#zFLN^YZ2MfPzMN(uq=kUZEIe2VC-@|Srh<3nM9xq1VO$6 z6F3ZYg~H#OV5275gEZpM1;i{ z1u@n7ow0<8M-9fKL49aJ@X1f?T}sbieJb2za#vykpIS*N|H-8gPRPNG7zEPLk z`|qc3+*fDVqqJB6&FU8ek4Uu=@v|& zJ5gYvHW+Y_tXaS*LL?RrGcUnxjDRR~brO`vVlzAC23?M4A&Y=rSafEXi(&)-ow=9C zR$jA`)3~_P)Deq@T5EwVf!|EIZ;T~5(-mZN&<9X8Gs&?N;EvxSx<3%d#%JhHg%eMX zSwyi&n`=EHHeQd`>vWQ~+=Ojyg83QThRAPxeD6>ZF?{Gd80eykfqUb$hD^_NHmMop z(c#MP9{@5KD(l2X5Fce!pMTzm(FwyKAFr_y1J~T0NdQO;aHb7`403T3pPKu)VS#=v z%oSj<09v45#V@cCvc_<3g29_OxY^fOJ(%^~e7*n%4K8uws1=P35jP>wdxm?P@_;b% z;26wAT3biWcR1C#fr#=gGXY&%j!n?Sl1JG)HcBJ7jq~A+*XT3kCDxN&{b zkF!i5es&H3Kk@AFK_+mn2Yl(J%rdYaZ(h&o$xAt1ek+>^TwlM=k+i;ZhqM3w(NTkL zA^n95WCFJ*Z39>EYNr1!s2${nYu3@r#bpRL~nvBpGghtan984fb0E{G57pd7lGCYiu(Xo$_9@Id2!PPUu?$9rN#+C%OR-O6+UUeb z#|lM#;B)4|z9Uek8AF!=RmojPu?%o?T%g9){6 z(}u&YUIMeROxuqUL1u)-qKU0CFf^N`*J+dE>xKKl?c@;CVm8}m3|uycl}~}xx|U+J z0p_$#0Py2t;6B7*hOmxP476R_VtVPgjuJE~LGHXV2iT`d-?6z+q|%l;Q3FGl=W!p( zQLo6JdAWTAs;F`HqeF; z{2ZFVU;gFv{BQkMK`Hnw6SzG(qABD6E#trj9-~+AP001BWNklzgN+vMG z%2EJ4sR?B1m$MH>P%wd`CeU~Nhckg*X*lD|dkLp>VRt|M;+MXhb`}fWwr-y^cJ-Kc zlU_7PxkoBL1;?=(VURy{a5X)#dx?vmHAmiYF}QQ4+NxQkWoeUpNW1(tvT!5gBDTZ8hkz_5YL#^Xh5(*a+J&}ArlZ2# zGAw?Ms&KzhFOptNZ2YjnL1Y44r0cQu72Bi*7zKEMK|lrw#lP6SJMXgKvfW&BrG?S@ z!iYf{bz@Tu&1k=zu`^?dD{|JvdPK>Q1`oALGvkGSj~c^hcyETo5(<6KO_VkfUJNO+ zZXbW%alcK+$lu$n8O?(KpyT^2KL7%s*gH(P?_7#^xmJ-aUG(EsX%k;r`ZWPIZ9tV) zfOCxdYiuhQY^oVyS1qu~#eHEj0^S311OXhmrKQ^w0P{*eZx3g!smshvT<``v%EsJS z#3sVPgwEf&L);q$vUk%)3D?#Pq0KF0+QLi*AU&$`D{Z>az3ZqhU47hR^Y(BqZL@UE z?i>gEhqCbTaW+X5>#6 zfr#rsv(!uj=}0DgzFYcn4l*lBu-v}gr~a?J{DbfRAL$1vwTH+Fyj)-Yr9U~O^r@M^ za{%}e6U(P#0)ORKQo41kq_;i+6Nv60DU}}JFYT0JCzU0%fY1bPcbj@rOJ5#z6|k<` z1sPcShYuI*9MUw%6l7p@sSVh<4*7s!=34X%29O+v9WsFhy?}F5a$OSU}|EiwOj~ zD9NCv4gf|B-CzPaf<`7Va9>akaW$kRjoUNrFjZD@B*Li0fSZc} zw_2#BAAtaU3L<^#!qxQj!PSw4p-tbr&}e;S=dnShcdAo7fp>~E{j)b;PT#xp&S!aj z`dl9y`QV&b#zi^q^6COzx{S6MZ>P8ugH3a^iVXy2{|wT+AiH!mb})!87tm0N-I~gi zU_sa)HuPRz(8z(0nkL0hoRS#Kj?wH8m!v5D;@5UOx;*O5i5VuEDx$ZpCoVF1qb6*U zIPg2od&tJ~3@Yb~C66cKH|825_qLtq5^{uxF6tB`6ULVjJj|FYod4sE!j|E#zrQ}7 zl?Q*mZd;Ur0RkEB8rfD5Fj;LYjR>0cz%DU^}oaY4H6{c?|;kmkS<)JJA5Vcut&vt73PipDWNA z2Z-16oMmV&?Gi)<#)u3-H93(zK`=Y!R1I8R~8sc57LVOyIH%+xtzssBK*=N`vw) zo{My7=m9G-0DF{>7i0p_GZ-cim_F9q6+@i?1kpBbAttcaW|?91027G7=b9I2L0VDn zO#pheBjZ=mF0Lwf5Rox3h19~5Fn}U}9N9v-gYkNpLJ&aB_Hd~T*#1Hf2)5D9f#DB{ ztOP~IkmZ|c0%JH#O4&e!aY6X=O9uz(#iyRd4m&G5Ok!h}S7Oq!Wh>)R8LFpv| zojuTNKcr_bT}#&vE^F`yyI^s-BM`j!>-aQa-Rej|v|=UTH2i08eK)=J;P%hgiuH4P zv?%57v2^veNcE1Pn zV`GUxL&zm&Wl3tY5KR&01+aDmBvDp0lgJFUSd18Pf%03l{lfd&2x5S0eHQ!lMwwO& zml!F0697kK@SXI%B3ZVZwC=?SejXk$4jnEeEpXX;a)QbTV({$@MdsX-=u@nrr2%u>?+1JQ+$wG&T(uw5Il5uzD5lH z4pR=d_z~H18u&*rcCgl()-{fBjAIU9u%8$&^K&sWg0X>c%RC$#?timwhEp6rp`RV^ zrD%V6_U9vE5XVEaVVF(k@XU-N&Z`5iahw3&-dy>5;dPu-A}VJdC8jdI^`R;?yOd4V zmpVa&XHTX?pD#Sm*Tdf{uKjm5wf{?R96$K&_K7EIdimwFc>h|xas4ZGWCGDL?$7+0 zn*QeBJUzTV7!mXN7=V+l^d~l*oCTCQ{f)mdz4=*9;D<1QM|*p`s>AMXt`Amu|L9&b zERVB6V83q31lEH#FCM+u4s}_&wrKzW`^~z8E4W=PnSVNJ#~bIq0t4U zUND0VO2Kpo3p5s$gV7x%L8sS608B7}l}sR72&c@_E&yZvo!vml1Og5^|F$x3aCQ}y zGst=GU~fNt{ka!VUuN4lOo%Lp#1o=MtUR`8-tKbQ2>e<186eOTBd!Ho zriCL_JxFnF6jx!Ljo;1yM`6k81_4F_iv+GGO1A=bh+lyMLSl9c-|bW-15IG4s1KSV zBAX5O-xy^QLC$9#U);!uf_u(Htv+O(LuEtckREF#8J5|B?) zTeYc@%aJ{BgQ*}@AJPfDeqJIsaB%RiSV~2?%*%RYps=uqgPGZCSgdQG?j1i&cTXOr z4RiYx6Y_a|>@*AJ1mYfb1P&R#hza7g9L)&=%V%>U$x=m(3d5gyP7w_vgTYjGpB$*3 zt1u5rr>PCaXnr6oi2%DmM8Bz88(IQ-nnR$`6m!Mso+v@%`nVg2L6Hnjn!4TMZ@f1H zo7%uKvTGk=s2exqkzZ+plse{!AG0n_EW1iZ?$vHHiN~^acsOqi6{iCke{V<4qM15u z=l~vl?^A~xI!$eAbO6>rjvY-RLW#y1mboW~zx0eM>B|VFBmf706J!JEj-`1AhpWWw zp4@m(Yj6!LHP1xWU{tC`mv%0WOG)+@B zi?S$S{)T?ZP-dD!5Yti-1JmZAEO1YP2}J2Q4*+otf<`@6ZQ*KKB~&2#BxbPS&)g&! zNcf&$4bL!vGJCLKMZF+GsKEp#8b>hMbHB-aK>@+g1V-~X8bbu%!h1Ve1J7szAG>rp z{lZhvrnV`Wiy$3#3IZM5RXMEF?!vhSYIGbT@2aGy_Ab*D;E++$@1BqYT6)*YjKGnzQbL5!Vp zv2;XfM_L=jNd(&$q2ey_x-5xFeh%!oVH=q>-IxF^TttGI6WgbSmO3wH+bObztk=ja z>$B&qg9YLakEQM^Vj`^3o-}xBx#op&{$5~0ToxJy>u$fr$fRH#W0T}^oxz$Nww6H5 zSy34Sq(z*O$IREM!saY~XwF+&?>R56hLi&DH3wCa-&E>s0jx%+ z`k5eTNioDovcEN>m^9`c`NeZV$&i?6g2{-JarWzE2C*k`KH_w40MsO*m|W9mD@D{3 zvP6D*Gl%cv_?!8rR6h^nRe(!x7G=DWWW?oQYez>An9}b&I$8h4n=e274obl(feC!S z-gxu6&i0cxYx*!Ia1H_|W600_&g`cH06kU!1RW8R{!Ahe{CBVO7+$)0Goxp4dj9#e zef#aaesx{?2lsOS*ieR}BgUoFs8`w5(*xPOD_Cd2lfR;*6 zAXr=K|I!ATfgM>uIECA`BTLwC=>~>;4rSaXWtNM<{DBD^zyy|px&wlt(NTmQK^O_c z=jNuCp1`mS=pRhL32=z#VWvU=HOj@%0YW#(tx#s^mjF*SEcGAGDG!)J%78dSGl6G7 zpfrQX5e(E7i39?Y(*qy!#HB0g#iyR3FU#zQnGTBcgUOf=Ozd1K;N>Kv2@Ic9Qb}Jr zc$|~9vaqz%b~(?<^_&c&H5HD=C1~0IHN#<$-g$IC{nqQ>O2@slVdsyJKLenmFRpgU z#vY=b8YcUq|NKyy@^ogNnFg1gJV|=u_fFo;*$v3X7ErUq{cxd=%aTFAuC*46X?YAi zU9gL0ysUr1^T^UgOa=b!tT()`VATr+Jyp1%8 z5diYDr{31iDa8HmHie!8$o8ZARBZgLTXde`sp}YXhU1Q?4W4cAw7HA1&3giwk&%ta z`(Wx>?J;f5@oAkUzh}**{NcT$^zXd8J$N;}`kU+)^78xFYWn7llrFtl)00n5AP`?@ zUJ^bX5pxazKVn+?7$z{K^v#z(k_p6nZZBNO&;)M!z6=j{MBLLd(;L(?A*D*(XFPF<8uZgMJY5!WaW zutf!-6qIEP0-@0h7~l_?fa(f@QZRw$06Q#M#EkeE^%s^~I1?m7Pl(ah&`qp7K&%qz zB7$YDp_3Rv&;W1+Wnz?qS-o|Ji+d=ACQv|6OyP$xf&Agf9;T-se{-XSyhX`Akx zJWRiR6Wv1K5IukR4B)~8)WI={z~zg}Ju-az-D=bw@tn_keQL5piFb3FC5c7C3z`-k zEwt2t2GI9spR7+ta!`7=*ny1MXEE>17G)bOaL*{G%uHa2{2i1W?4FrHYu?65JUR@h zOcnP`#9w$}nwTCj0b(%}A%g!{qITca=nOG}yr6Da5@y)07ZAr4)!=nOpcD9Gz_b;?3{gc%ALyu<;}l7yuAI_yTAG zf6@%#w0@nP-OlP*{_LL>Y@fG`n=^p{0?h;t`v!rBB^_Q&dq)o&_6_d3ym;`SB}2Gc zDIx|z(I^Sm+O`d%{b~yU*uWyZr8~F`L%%FT-)u^=KqI(3C=akj+qhxq26O-+V5^H# z#01I(Oc19)=^-zQx_clh9y1Ww#e$l2il`Wtf)ygI_HpbMl5+M?6lvrk-4U%B>FG=k)?=jrzZLHa!M zw-gSo#n<9xI^6m`Etg9IlP?`U!IodtC_%{1{-VIfnh?z(3K+^{qTY}y-&v1{MflD8 z@1@^)>$_k0#Ss%4x@v&ggFt?7v0`ag-4kX*)k5-^L`Myt*`_FGdSM}O($&^(A@nth zA<;sh#`U^xbR&kj!=)x(*I90tmSo*O*4#`T2IdT)!j$LT0w%Dg&LDnoM|5~Ifg{H8 zS@Sfq)D-Q=h%d67!Orf}p5_q zSGYWGeZS15DDiniY0Cfm@KOI4ZoT^OPD<(<{PO$n*Yrt2;OC$e{6_@<=c7G7V-z&# zch&`-HHJVFm{NNF_kX`^uUuivI0A|nUdWrHqtd_iR;iDcd8mEaJ9*R$C+j>sv0G|) zn7i9=u=G1Ldkl~6x}oh)0QgGN^rdO?wj0u>W!t!J2TtK~vR*G60Kg_87N*H{N#h85 z0V^^lEpm=7A_#wGFJMK(L>6FMo3uzM?WTcDAb=r&BAmlmU-JO%pqN0of@>luj4mOF zl3^fpOFRgNva&jwEMQoK^|*>hh9Gza6%(|8=}(Mdom>u&>DtEcUwr1v>8VRsG6pq4 zm~#TL$i+g7owSnVRhGph0v3=F3Sd_{5tlF;eC5)0f)ukWm>8VnCSak-)f7Gr0HKk> z=gbG}8~5K!zxU4fKl2%8AHR%!vS(l-qdmMd?4Nsi=OA6(yTCwiJ0T6C4SXD|%HKQO zR{xNQnk-1TNJB904lV@fGd66#=x{qQGP6^*ncdtRe<6?`fha+!;y74tiUq{aC1_*$ zHL}$L!s30L2Z)7&*?4jM8|DOxk#m`L4hH9;yJnbW0@1C`N#39!{!Z8XtVCp%(D(m% zwE{SdnnbcP0-!EY+o?+DVi;$@Ttm-_|IS(LPj>Hr+_Ml5gP0gsC2+oRZ?M&0%qawS z5k`zsBQ~wn(ZK8$t;t-LAI%c8I3MfY1Wq^_#3B=9=zbDgrBbfIl1h2lM6eew@b$j#7PrUCK(-IN~j<;w%XlBu6Z;tCA0~kmh*UWQ{^?CR=A21|uwbyxRD85mX@yIZ8MZr)AG-4H!PP8qG1-BVF5yLSk^^hR7^ut$N(m=*0#yR5^dyQ z3Q-U=`}@)uQkyV^P!ovKZeFn5Yv9K&A&Q3~5M*YcO2X&|Oi-8L7)Bx>KqV=`U;-JD zA3cI=1V!Wd9KG6lsdb!{@E>FXwGWPNa?^B+8~%l-zLc+Byqw|Q^aSQ-m}#+-$~3!K z7z=7$Hd~f1J$La5w4hV80zrU;|I_ZHK_8I@nhNbr?V|>f4ANTd3)#mvc1|h{euUkUc8v=;bHFHc%vJ(+oo%FVeTmXqPA!wSHS|7 zWmC(xDeFgzrj%v~CUAQ^tP+^OvR%~Fx4CwU0dX)HETBrj)b`PD} z6B8J*F&|_CF#+X2{_I!NIPiu8Hzy12{h(z0EquU@{M z&?|OCZV{0%O@1IQCvh?6mAOfQZaIkhhavs$+uuvC-+%X0-B_R1Cu6d|vU4F_+rN~q z?j0nEJv|{aLo7<}1{)THlU1ALY==8J)C_BB9eSoT)5(gjn3~XFZHT zk@a){Z8T+Ifg+>gX61AQ(=CMH%Jfzct|-<+iPkM5`Y>!U9WJN;Q0 zPnZFp+`p)pA6L*B*)pXI7(n2@5EBi_N<@#rd4& z^L8peDBS=2T+ETV{M~=?_VKSSUw*w`eYqVzzyv}M=*Nv4`uj)6!*II!ER3U%JBFVI z1L$M;cmRlJx_2;2!8dPa06;T=FyRvbZnp&)fd}v3D#Ok)Zx1e%VYpMaCvpWZ9zANI z2V5W?W|hizox7nPw?ngPI%otbgV-)%5YC%nfnb-umQ_i$l)7CE(D~J}0PxFT01*UT zQ-`uJ<6aO5-PA7EvP3yI4?Uk-!T8ZpJfI2Ic>F_a@FDE_NlrQHXXzY4rDv>75J6y3ra!UdX z{Ij=SNpIYHZw!?FxSRNA{d?Tlh+{!He6L%Q**jeB@!u%(x-Ta~XhZOAmd|VgLu$uM zHhm*EYiFJo4H76HsXTPH%sOXX4bHeo1-n4DZd4QK{l?vRv~Y8o)r<=!__?57Izcsy zpT2{GawkIszQJ6S?f2zwKb(~Qmb_=egyf#3WRrtwF++)e`}GcRCX{5GFGX(Hg*z9= zdjUARC`?fqpaB%NjNs)*n{|4)K4QlWyP<#9_t+Ql^I?8^Z0}%nxKnBptd9Z1c%O`V zPr1%nel^=W_7(<%-ViKO|L5M%bgU|n9MHo3dAT{DBOFY$HZ7RL%yK#R(xqrVCtAYI zSwe1NVgv0lN+)oDE3<>TfAv{zPiJ=1EWZI9b%`;yt(SDfm+uvVHW8SdU`7Ta~xHG5#^%C^~bwL_L*Dowju)U+vOGr(wB`rIx-z4hD8f??4u zOTE$p0tnWAQTxpHa95l3g#Z8`07*naRLlcpZ(x*(WfaM5|CSedfZYV0LQvX8AT+@w zl5-~}5PgA5g3`GlTv{bxm_#rqAU}|7Vhfy@2?7}%-9+oSus*R&JSz)xOh^j|Ntfaf z;%6Vw1g1sP<*z;WmGs!b#n2JTAL4*34|KCg)>&Z!)-10F{C2v1{NTsB(f%l3jLG`~!j@P2>GIBAT9pOQ z2TJQa_c}|QfYg})rtvAShk!2PMm#awkvD116k6;OiAwN=8ahvyz8KOjO|CctKwK!6 zN#;77V8iBt8=_0ZhB z-VF7>`|j(n{PpyMAEecnzdSO5JJ+w*Z+sjOJVmFC|M*N#CqGRF(AWG^0l;6remx%{ zBk&9p2mr`#A*)qBxOEE=FnN37LK*IW32d7IeSWlaksOFF!KY^MvhxSbP<731QF3J|Hg`s za7UA zWE6{|*)Qyt0fz8Ukh7Y%oAn@{9GwmL8Y~oW1CG%$D8)#3gO8wNoEklWH3{%lk`jX< zfXCNIi#0POTDUDdpL!6pLqIG7(w{~a-0XhTjiiMi_bW=&Zl^X1`r~G0$!)t;97{^+ zqzA*dO^-Gw>Hg;U+_do-0(w8}P@tW?x_cq|22WsU{u-~c4*SM^cSGsW3B4o8&>Re0u%pFyg%<#Ur4Kf~MTSx<7E`w84)4Ko15F?v(04WR(39|q%d z?XSPf96WCN?SJ;h+i(2$m@@EtFoEX)@Fzc6d@>*yCE*We0{3#ix05#y?=*GwC?77D zc{o1KU;_IGwG6wvWoSz?tnW6<<67F~vK`7sy1?zWtMIb6JMGXPqf_nzak@iO7Nu_6 z0WmLqZ8QEXs1@f9J%uxZq|pl)ojV4B#E}VPP9TGy*-Zo>k0H=7h!pk(UPODil51Up z2ZXUU+P={g0v#fOpJHL83B(vCo&CKhW79eE%Y$&=|g5N8vm zCr2fBNRP)4iW^w-9`5ly9-G4iY!(Ax(^{8NKj#upXaIRFqi1f=znb&G zScb;N?p;o{!_<^seSbG;xms~So-=o6CtHJ0?p**B*NAq|PG4m-ExVl5155(2O)a>j z`}4%jl5NcAWPZk6N$m0!9&1e!7KI1vV+Joj+@7$*#s(tw=s5C|pU%$T@sIKhAQlNs zyZZQs+cq{EW`?Pe4$}pm2LNZLoEx1nkwB9oHz{Ev5L>4E%^+e7qMjKdG~VSp=3b;^ z>ZKiUPOuZ;((JfPsxC`=gRQx43WfF<^gL{Eg7?OA6+}Im>gIoUyFdUiYjD~5N9Cij zRhvJXuZ^F3K9{^g?e84QtYb1JoQMHeC8o|NdgdIUaW3QWhHE$4`nf&hyo5ZiJt0%E z5o9g^r6DUSCsU@W)+pyH`nz!Mbcr||K6BtWzgOqxN0#Ha+xwgC=0APyoj3oN_TIgE zsvL|LevX*Hp9KTxbN|TzAfA2WMxHZ)G=4(GhwB z=aC6)?=;KJhNa+PSxY^xr7xR~SE`3w#fbwoBUDws2hpTu|a%nKW#Q@T@u>csP z7LY$v>$hCe66TIvktJAK07G^50ArY2lzTG(V~rMaasn^FZ-j9Knf3^k2B^bUNx6Vx z{8+w**@W4E!345P@DT0d01goqQ~7$?zR*_~gwYQJfVvWSZ)Z3COV2%@F6`{G%baO* z$1q5Qt0))=if1jnqRb(NO3yo7?53wKT;=XrlaYF9YI0H(3`PF@^yu3)}4Ljbh6S1l(PfHMG?&>1mh zf3ZB({e&GqhmniZ(_5Z0h8WW`wqrrN&YT&OFEvc~W`EU>=rbIlXjMFO#zSR3C5I=%U> z+#uK88GIaM_0E`06jPz{uop(3KRR>=FnvAQz4sp7XXx@d*!#(jm7n#yp=BHb(RH6p zJ(8uN6F3?-4DRjgJk!wk8Bm<9%XvdGzmG?DJ6Z&qCG!2JAaxnqa1X09NyrmsETG-U z7)uzB058fPlq3Y>lcD5f%BScPLO0Br=#@LRnUmxjV~-M?c&&Qp4rIKkpBqCW)XRDt zYX~++D=SDX&KRlWxE0-IMpS?{S{!0-2z{j;_+}-g-4$!-mXij9u4ve-g7>!D+V_-! zx8*AHW6=3lAM!DpDHu}fq0weBn9Fg~IqDjxy>M}Hecbk5*X_oDN z-WCG7(r+Jiwd+dLwu`!{rSv^p#0_27AvBsy;Lvws{)R3$1n?)iMUhjvU7)*FD#nHn7We3CQ+CavJK z+dJrX(^Cgm`CigpXmTFiW@ABg0)Z~A%vnY{L{m+#+Y@}H6B91VT#W7WBu$E& zyhkb428m!*3Ho^2P?C)hTDD2EJMnZLqqDSlL(FtG_%{q5ULeL2Rk(n0-#AvoKz{14 z8o{}<5{q>?{2c#0Y>8N~0GhEljX*aRJDoSN4|t4@+$jB;ZQwZy7bO567~%(;lXQ&I z?smiS?zw5>v$)LsVb;Sm1X8F%o9-+!MeAo%kI08tKp z^UXYhz$;gH{Ofd`cLkZiTer{=Bws*FIQ9)rECuh>ow8luX@+~7X0ck99({xH`^|%{ zE*7N>&7y8L1*Kjvfcz6ZgTVx*My24~3-F;W+%R;h)J5vU6hg;vTGm0?f!J8EQwX$! zEd8QO2!o;FC~oK=rm+KH5hYy!KvcD0AR$8t`zC0V0DvkDM@C>6Kxi^O!vrcuTH54K z#{^!!aG3tp=YKKFVJSDA^lL7C%K1snjDbwJL9x5TF3dY{OnQ&)UQACOUI_pwJ)0sI z#4345Xg3`DYetr!OP^-8FlyGrI{oe&ucTW?_oVyym`xQ<1H(gePWy|U^!V;Udh)`R zw1?cnh`hlhgAxvR-|?L=Imo!7HfUpsV79w=Ddn_5K~oc+&px1?B3oQJ_imltD#8it z@+K!lGNZ`GLwK@g&Jkdb8l1`Hs0HM-=FYoWcXPp0a82C1R5@A>N1ky2@qyOUa6t%n z9p2NLy)hux0MCqEOytu7$9I%2S`Kgb3>HvF)?jo#3HP^+cb;SYedan*15nSC2H1G5 z0B=4z*>3*L??1TnJG&<*6j8stT&n(WCh#l(#P2?s5$M5s4gf!5+WKTn;D>_1XVdn; zeS;rnfWA{8aDTrH_lGjHC(UBBfvX|+&0f=OAAsp&8@c{uSbzyc`?#U>P1AQ>sT;J7 zLw+AwKm^9n6tc-(X@^dR5x953?v-}P!!ix*@UcSvU&_Oxq>R48OKSQGO2(A{FQ>AM zZXk|Q})$6=?YgQT=tZ4D02@fBQmPgx!_9~C<9j0psmo=d2 zK9l3i0j50KSyvK+EdnP4JR1^<`bZ*^?VbC#(}V3XbzTVP?W-m_lyhO$KpYE7x)+wa zY&73ywO5)VNTxE9N}6IXb)1^;?S3Oe6(GbrWZ%QyNsc?(86d;)j0=zSn$oj{xdH&o zQ7$e^xKxhUdS`294F(ypdC@;KCUs5xV&n`i-3>vwF4zi}g30_D)Juz~(#kBvd)5kT zPNJyfY=&<})6(eJ(c#sK)ug^$-IgH>AGfOcxkBEu8oFj_#-L-F@er z<@;jdzVTaQ>btnyNlVB|P--#gm~BE>iextm-&>P;L=1G~Pe#i>4Sq;2LT4IUGXn!M zios^tgn@h3rA&3Ci8(H`vD!F^p(C>&`Z{ZE=W~ewpv)!y9M75a(xoLI-mJPcoHcuJ zIFH)8*qm`w%1%Ji{u0bahaR>z9J`!Ir_2sNF<#Be8z_xnEsR~G@gkU0Mt)I$DMDbX z_~`sfnsPc!+wVyopUrTQfjEI#Z36wh$Fg`d6TtKEJ#akKcFyK+eC9mb#|Z;|?!0p0 zYvu37IVGf~l_zm|BX3Mzi*XwBzIO`U24gf#(EcM9%Al~+)n85471a8Fy zURnaQSbKX7>fjc zYuq@|AVL5OL{p{!(kPLb=@eUl9lo5cUPP?P@#pLP1l~N!SkUa9xJA@1@#4H1sCjV! zSQ7&v!^0SV5jsJU87kwAmgP&!U2gWqJV$RF zY%+>I*WNT)J|InUk$ZoT&en5+%^j|C;5n=!M1NZ)9%yrj``m^LZd_(P&~dh{V>P>v z`HMeiCZ1S4F?VL-HPue+qoR?>xXs!lPFE5Y83iR{T;X*9Iw%KwUbJ=&uNmW9Vy2(7 z{02d1HISPACpMpzn{e1#i_Er&?7Wkr8ZOok zU5BajiluZX$0yQJQWg@e`eH+AuB#+S!&-7sesi(%u7cnaLwp^4?_w10i&OA zlkhWU{V5g(t>LKqgL}AEJP+RfhNb5M7LeevRI-D7eWdV;38aZit>nfMu*$|nA7B7; z8(YRr_d-tTnJd@QOJ8~}W7miYkJ=0eibhQWG`!ubE`@Ruh*ASaJwt?RN{_7$ z7@abotVOZQgy6yE9iI&eikX4Vt}x4vxl%EKJG*NHQ1Rk^ z5*Lv$E-3@hMgh+kxPQ%p;o0s!F_s)-zQFIu_EEnqcFOMgdFZlOElDOk{^uJW$7Cty zWvY1C@jhWJ11)J2M*tJfb!!N%$sU2utS7Om3o643_(-EHxAC+oq&$Wjz|cI}FO0T~ z(VEjewC8u3H_cOsx^&8F69*uzN{jOZ@jXzgbqhDGB|7IW&CW~D;u>V?u?AV~ASYe1 z89izMgJiG_z#B}T8*4E~kTE+C+naN5aLqV6O`&bu*N(TFKlj>Oum69m7KOu< zKEMS2#&4wb*kg6<8+;A`KlLQ_!L9&3?`P`SDR8An=!T2{ih9D;pEMT8=VNmpp z39Q{oUaVH_@aRz)HcbO2aJyN<)RBiev_n&x1~D;U0^1gyJQM>n^j&E?o<`74(!n=;9uclL6oe1fRb8MEYY- zJ)3Q($AIu8#GO}^H~xS2-mS@!>%0=%duQf3r>eTE(G9eKhA0B0K#&7avSuLJqZ!-M z#OT$JnuvLFgfFkQe}E%oIqY!Qf4~oZ@jQCym?ua0#bKL%(1RlAs{lzPNDw553mbi_ z?z)_lnR`3d`o6VuS9OB~NJs*}svuZhRp*kKC-cj-*SFUCbc3c7&M#mU2#9vA{m_M9 z+j}b9xN=xmxV*sJ(I+vqR-$C_{O?*_n#k7;DxN;CDHZJs))*ycr`*9>K?Jmob#Adm zDlqd3`WrX6Xx^rBtduy9!nECO$rhq;s!gKyuVPBn246(zmXwe8Sg(Ndmm|+rXVY$~ z?F)@Fs#--m9_{`DC}Q(D9!&KOz&@xwX>70cW9Q}Y@b#bmh*LW* zzkaok0J;=6_pfqwZ0C5WtxhrXRYT_sC^JhK3#g6)ft^RpEZ2=`?xaUHK;&&qW~Smg zvMz@fVA3qh(Jp|Z8X_~h%9k=i~r5GpoH?s;94 zWbl09c+rrhGf7e%#XPCoBUVvz5nbQv&{+E#z!Qv|Njc2OVciG0iTSgGQt7_idkl_^ z=_swUWS@t(;Ju|UkY+7x1LsdlCD47Og6Sqla4~y)G!KU73q<<%|344svw!FI+1c&N z1YT?hV`9j+zGZLu8D|1NOAKHI>HNpXVFKT{$?bpb)_0e%=n%r$SH6<+(Lo%;d#UX0 z#Y2pLgDW^3Cd9*()eu*EQ(tzwINsk5W#}WBz;KpMSEV1ykh*yq$OM+Y@6z0X{ewfe z#G%V+9=gfnV9*{;&;lX|+9rkMFs>OG9m_h-h=HLSm@zWc0s8xaHLu z8{;d>8XJ$t{^qSOg_ocIa#X?M1?9zyIva|1Z8a(If}+PZguYz2hQfupxX|U{^KDma zY6Xj#W5!!!%BZVR*B4q_M+x!9&at5SB#8VeSUNL}*|eZGiV4ppo5*c3R=))^?RZDjJ^)0g8P93vTE>zh{5 zdu*TBI`ufLRy3 zWK+*a6O4`c6A^GR+J(o_qk$xmY41Nerf&SGNd)Z`QjdL%|JQ@l?LYtU`)|CBzxQ`; zlsBJ#u7q3n7ER#igbDmC0>DoO1TQdwc=GPXzaFQ%AH-eQrTO3}&bM=#V@cQc*31da z>s1`*djx>1ve#$m=fXOz)+HT}4~NximF8{f3z$HdLP`O@0?xPR&t2Ek{1JPMgzI9? zYmSRc6R4p+1oR}(3bs*k=a@jmz?9sDkk+ZhZcZ?W5cqA(6Upqrj^Ca6ive?m6WYN5 zd5Dwg;2_51L$)z;rU}H~GlQZrZ-P!Ha?cMoOBMw#85>dH*!6NTz^d{p{82G-)VmfuPId5Ndd51K6Z7 z!HShZ#N$}otjkK*_NE0>0z+ymS3If=F)wa5aNG_PMAQIZ2DohaI6wz(0tCLzR0?Qw zxSI9Y1?-<*OGVgL28YiM@qtM>B7@79GPz%`h z*97`))QrtKUM3_6thUG90A~pAKDry;IlA-3Krxql@k{H&3qdzkwAy0UNuS?z^cX> zZ;Y{X8m+d-KjhrEMH)a8SbwV}O-h50J;OCg-LePGWB*l;xkz^guz{WEv`AF#ksPT7*St~5 zWamub#gj?(wOw3FcGR+jx}UUKWdV5YFKcJX|J$SO@xOOJg!jX@-wyp%fIv5fy!>(r z-~P7E4%XaYZP4Q_;lEQ?@aG2r;sAbBMj)8LcfT87do2VT8+Rjyue}t`rblU<-=-l1 zW82;eKji%2>FB|*9=dqEUiU*9yF7PYnWnBA_WQDqT^@G^ z{ul6flmGxA07*naR7&a57RGglFzCcdAkzvAUFj3@0lSzxV*n8ZT`+MZtYZQ|oEac( zq0!wsM&wY3HCw@mkiqx4xH~w40qjbdhnQgcz=$}ye*q2|77g%8O&~J^2@Vs9LFNT= z&ai6%@q3Mmvv#nfJj)5RFaOnf04Nan%9p=_NEb4JxM5onvKA_esj*0&Lv3)Ul{PN` z$VVxC<;HVi-NXN)oIsBcXs+CaAv3VUab{keRM4cE^V^C@hI31 z70uli8G;ZESV6U76~cPGp|*ysq6?+f&T=x7?*)d>##x!>Mv*JL(bV?1tsPVdEfCgb z6<6br9~Kdi#jdsl4{=0HPufajJ2CtME-XBNX}Ek`eeO}3l>4Vh;L zQq&wTS8iRk45h!ohiMk!uJux!NvO+y@-z6GYT(_@f3(|>;!u5J> zIyskeXd#N?px?7KEkl+s_;fuktf&CnVn(66xslG$(ALZwRyP6}sAAk!Yt(YPg@{Gt zV!Vl=G2NvtUIlXXe7nyePtoGSs;0ae$<(3I;t~^BjQPVCr6Y|_@S+y5eV@umI_c2X zDlJw86xHp~;#&74*2>iVPxp3@{{5r>^#@0I@BJ4;egn>6d?6y{5&(Xp>-VD`YyhQI z#eNhJymybR)+_J57eja@oP;-02rq>5OyJ!Vu3rxaXDgc)GMsiT6PTyet=1u(l-z>} z?4SvpC*%PV{FT1%(=_&7>3X(>%$OrLl~ta>99rxPSv*VzA)Ch#=oL=!5WxV3 zJ+^ic5o4p@lnaRQacJ{`=k5?7T{0qNzygAGObmtQq!0&!76;?5V8dScn`r^bZb}PC zGTpU*b=`E433Nr)c_4@j;p@Ntwlh?Ny*^02PzKQwS|yk9`mzGA*AKCPhKmD%)n& zV%yuv6l!@h0_TF$*0eKbmO-mRVYIwqcpDti2x74CLA7mM6izFA*8Udg1M|sfg{s{% zhEk5@R#Yv)yE635G=t)5PDhSVvIAVBS8!wu09);%@Ez==JBp>#(ck6xw*9c)+9GcE zOSS3(ZHd7-)6P6-Y?h|0v|t;BR`a06D2RF03f#(p0pGFA;mv#RhvV_=QzKTLL?&9_ww=!#sB)Md* zR8?hSgYwMf+#sh6?YMhvL_rt3wT zWyw1TZW@Dyw077gg|AT69h|5BZ=UoMcXyebHpmPEN0C;ZNO!FJVTfM)ybpu zpWOb@z1#hrhh>FUaCjrU@$Rh>o`1Q7S8m$|d`6kT&oTq3O7!so;LV#ceD}NYwE!mY zdJM0GuzUYXyvPJ1BkxGxXt*4%jC^oH?-UQL+RKaH>`b5Lfz||W1~#V5!iNQVXuQyX^pChV zS_{ZT$ZQq)*gPqX+QK529113WubIC1hLv<)>oE#m-E@qN04zGcIuogL3 zG#g7LfThAOK{W~~Kp0pMMMmJY?EM!eSDX z1+0Zrbp=!CKLxN@bjQ`HAm=wp+CQ;>0(N8@eTt2kC@l^vGv|wz3I-i$A~@Puvze@( zo#(djG$-w%WmLPk8rr-LaG|8}Y90?I@TZP}_>@)aF6Azl0VCfk5R8dBz5(AOCV@nZj^mtQv|%?9j$UX0!34&#DKnVBj_qWQjl+03 zj*&}b`_KwTt{~VzvV>#;%^_@Af^Z2V<|X$Q1!EIM2mnh!L<|;8-gg8GiNo~~OrZUm zh7mvRTx@NIb@=8BzZsspb|b1liK*cV+6BMnp!NB4y66SEoZ&*@gnREfFoDU&8cB3) z)ceAQu`rUUk}FJSgTY^rj2F@!ish6zTiQd-w^Z>G;Ip3roQw%zp+wubiFTmI z##hJE0gAzES-Y0SROAg=3BSw99oZU9mcnc*T#AP5Tb}$ zTN__!dDYgO18IHA63(mTqvFmRYMwd&_s5U!{L-TWKfSVb`AUCRM*wHn)zyZvQ#{q& zFrc=cEjI1E0kh6U7i$9Qi^)yc6>t{L1T)aE87NZyP+QQhOF!fNy##U?4bv=e6iKC` zs?0lzvYQD^1TNGsdYqGwj>Pt!3$t(Z!&*E83|ZHrX;eD{$GYJ4k6_40xM2rO3S+ut zhR`>9Vb-|1?{;i(*_zzNW`(mBG$HY<@0ha0eUOpGfSS4;sBzZTwoZir8@J!n8Ysnq z+t&fHF@nCJtQzd)XI7U65aKl}q2MQ_YEGLwE3l5g$syb_g?dhF0`wYP=2HIK+dnz^ z&j7SQOTW*)|J3~u-V6YNc&j(UAJ~q6Mw!6R4+Gd%laB=e(TBetU!f`F{Wx8{8mEJU zIKKUM%E!yJkZbET{+7mjW(wJR#+g8XKn6rFOyIoR5e$~~iY?*F1P%y@#^^VgLi#S| zvvopVVBa$yCWp96sqZoNEoZoVLyB|RfC)@p-T;H-95;zA--P%V^y9z;Ld%CM2=j+s z6Nu4sv&{=G;Ir92?n}&x>>#v(U1IkU|#T(BpZNg^MoPZmPvd76N zw@Zcsg|(uHam8v|UfUJ|YYKv8@seA&0VKLpw5@1kzkG%7MF%h6&ib?|A@+8bINv+_ zrjS#+X|&?%;{ z5H>=9Q0;Q*6!AXTH+-44$5=qTYmG^8ePqr0>NdpyF=y$K9qr+qVX!+cl!=M%p*NPcs$6YL00KwRpxkZ7pbDOls1I zFS6U~TDrojfAn^8HMlt&YG781DtG;R?J#C^F^#n!Cu*;#0)3|>112sQQrOlu^A=sX z4y4un5b)J&wwgx+kUmG<+uJQmhv(q^@jE$-aZn`3VQp;|=k0b2oGOI6?Z)sn;q_II zv-YxqRQ*k?t+uH$m5rM^=R8l-{9nKILHRE>Z@r&G_+D5&{q$#^3H&?&Kz*K%Z|jqQ z;O*P?xIg^E5W*jXaO-Le+doS$;Usbbz@H^Frx+BgX!z@IIiIq#>5bsLOQg7XY?7nJjV@8 zA6*Q4IOht@AY=kpFhIo!O(1lH0Dp0a1ubP~0tpBaCzE}yFf@WRftXQ*;LqY=m?el- zGR-4)T4O;6VVcxr#LsO^Rt_n=lX3R-Iq~H5tR4eLk|zMcK-|YcFW63ROJZkY}uw z&p>9O_gR^(`;{w1>E!&zVUIQKAPg4f`1Mh5n)_>a4jI-O!-;AB^n3$F=A2UmM5_ss zhR9sFHi%xWm8vRlgwa~98%SMrduAd*%S%Ah$Gq`74=S_@|DY2e3P42D+pIyX2Yb)LibAAAr_rpr0OpD`@< zcd|J+pRV@naIo6cMbfe%i|K>fRJdIQU?{_|8qzXAJeOsB z0wMSr|6an5EiB*5Lv_#tGyzPRo7cM^obb;1h7;`5xoghNE!r;Y&@6xu z*EX(4Ui0b#_(J*|bLpVTfb#+(QIA^vH+D(cfVE5HT_F40QuoM&o*OBuXc-U=3bU|< zHBL`~d{+-MUr2BU6ap_%osj{Ne#X9pJVdeEoWD1&0@2 z;3G~y{IGi>6Zp6lEU@l3lv(HFqRT6>KE)F1EjsxtMy@6+`+)#AlH+xYU4iy!C_X!{9b1U+NV8TV!7quAs!zSE1yir}RwT0VIL1>?nNfI;G zjACn7<75RLsI)~81&bFu+NUgZHoI8BNi145Snxx#6=4mK^-*#<)uchReNL{cGXSWT zcCGN@13dnr6($RCYVwIfvH@TLp0xtTuB&y*6+2wMO*m}T*!W}u=?Vo>wcQk2dz;?I zQ=zar1K~hjW)Nxc==gSFxQeDgrJ`~K4Dmkr3}{&KNeOCu8}PRGuWezcQF$)8ri$C= zfWEfy^m%wYi#JEtPVVM8{MDUz!r5eO<>l9}_7OmxxUqK-_It!mX>6n2_S)cbW5rAh zSm$>)>LX*=q*F5kl@Nz@h|T%$vOK;%7c_1Z)48k3Ng97hO|moiQr%!1+65o3OG!Lx zasavw$ozAypqau9C~CoLz{y+7*msx8uvR!Yl!-%zG;3>{2}b*(e9uJ{^!Pc&#j9)b z#4xHJD7wW=a#l|@7g^!WxW?PMp-ffinOi`LAby!usLyj_p(H}gB=oKh^-kVKZ#8>Q z>Z)k*jXi6Do{lM=)5W-(LwIw}xr?Q|n7VF@QLghmZ7S&O`fq*z-5>tD{n1hB@7&>? zi%eh$?!Mzhv(HRC%;yOJwrAb>?Zz3=I)kAJ6ad7tpb5NwJ%;z+k75FMw{E5R=qO@j z93FDz^t3}p;C%I}X#yX?P*Ku)FQkH*!DH7A6Gp_1UEZ6zG9}FYK*nD;?{=#$C(QB1 zV9FFrTA>A8Fg^|wLSPapG;FML3?3Z=hA(z0hdltc90S_MU>!FW^voH=(DFeuID|4Y zcBUkbg2Pe-A`f#dkR>G819OOJAZQ^oG6v1p045NYV1z~+6Bsc;=Se(m5Ie=kw8E=as4ik^+9Gfm)P(+88Nm>64`YUN1q=EX;aPXM**|9A{^TG{ri zC4xWUaT@+kakLK}=Z(Z2YZ`p6nY$W^Cf2|Tk24S6k+KZLMK9R0lmdimy$Uevc(g^= zHr<0_f5z)k%S5NKF{P3$VcYROdL7*u1RBNEiA~gd4=BRUe6szoQF3+Ep6Ms~8F)(# z|5htZnj^c3+NvMhA~sQGqokcz?9v>*n%dr0y5#fBS`{5sM3TY;PF2Q@Mg*B(cnxo!~Wq;dw$DGR>MWA95CzlWzP|t$j5OZyVL>B z74{aWTE4syi1G7RQvI;M*#sXgew8w?gjO3^mZU?b4ZFeEqMDVf(Ipxwxuh~wcGWe* zwn#N82}j@gvBZ0;PKa&g0@)XgI{s}YV|$6zadtL+XxDfB2*M_Z@RM=coein`dIAaL zbxy}dgoeQ4Zk}Iz=k~jQ*@D1p-~1+vV`TzAYEp-mcV0C8{x0xz0E z@HYp6GKGK%#N6QR(Ggpq)9EQqA%_f#UdQRI2iup{eb?mxCeT1&?#FJ}`a({dkg3btm}w(oBpmu-1Ari6Vgg#g z<_zxPCXR9ihlKWU7XsVL&IJ1SI8F!Q5-^p7Rxs_Y$O!~6#GM}u;NwhSF1+F&%L%L< zVlJI^-mn5(zj7FU{~Ny@Ha)y6%UQ|`Em>pw8!D+**Kq zMkQXKH~r?dq^(2Ip{vd+3f;w8*^{Mm#>q0|7A=~bdzNo#;7CH_Wj?MuR^5nV0Lrw4 zR$k5J#-IGXQ0Qxvj8EHOv2bypq=Wq>qu{+hz*YzWv@8Bb*XP$r<5Kpapq5(INgTLeF|#p2UbmifvS8KmQ5 zpN)Y*>2Ay^XusovKsOqO=i2&2pPxQM1L$_nDBBQ^gPZ`5efQy=@RLV({{~9t6!2Wt`CDAUnSo6N;|G>T30AMKV_5d^abn<)pH!_!d)I6Mp%5<8w z9-0=|CMDU(Pu2%F+gP0h^9OeDJRsEZU$ma8Id*^AjpJ$R`}af6`+1(P#FVx}KkS#1 zH#o*}Y4ecYP^ipAZxs7#*|Xtl+*Iu+S?hr96eb6cHM2`F|;dJ)Bm#P>tJ`jMQ zknW`+JbUeizm2t%70OIUuDj0KJVMkx#gw23uU2cz*>kX_ZLMI!SDIq(0JIDQ!FS`q z$ea*jbp|mh1hh?nb9i0a)&p@T?TD)B%CQmm6t+Xu%uzFay(r4rVw##Ra zs!eQ+oV)LQnh6<0XVk34YBv=|Huw!ftb+o&1G)L;6XPd!#FqgqB<2p9uspkFQN@85qvfDOF- zx;z5BX@?k|*}KB*QDcFO0pq#sG72qyB`;jk@c9D2^E7KQ>l4G>N z@p2U7yVxtmksy|-8ag<364#Hd=A^~NYZ}{Vz{>j1wd`In&Y+9m_7TO^mx)(nuJKPJ>oPC*h$|E zKx<54yHGYAqZz``F1AIy_F1i2$!D~U9d5z%oadZ#O6ezvFD!ZfjTqtv`zjr0)oLoX zhhW>@zwKzWU79(U|Kri=_|MUKL zX?MTNW7omDF^7U??|^^P6f&hQ_1jgRF|w`nrF1FB*))I{88`HpEJ7xb3}A>GWCwibMH&x2t2jGEDzE2 zQi_AX^W~7lu~saDogU}A6sDE5Y%;Md+CH+CZd_4FEWsxAO!jygY`A}PWCFySDaQ1i z#^9)}hV8=hZLF6uAoz^8^Az5C@Y73E$ftI@`24@nI`z~9YJn=lk+iCkIA{T;Yl3%Q zzfKhg!|T-9e|f8v+sFFg*Z-0=hik~EC&9Gf`c|Ch0B3kS{%!f4RwFDU)7R#%8x|-s z#;Iws>i#D=2!NJ%ArvkzT{gC_0z?nO#(OJ@Mrgwpkam{<0Ay`bo7-7@{k<}a-U(?n zlQjm$0i3au2;p|~ir3m!7fxdrG{+uFPY~@|XR&Ry9qS-ajG$WClBYNz+|8vRCSZd~ zkxM!4Qo;>pqeW`n*G5C$I+l4Hd|H%%rjDhZJ3L-@PIkM0@}sxkd~0y+-wMIKH*T0F z@b2B8tqE+|z)Jx5v5L+oV*>x+4??(oJGGiXFoDVlERQzv%IQ&;*Jp7qSJNDFns;4S z_Hx49;PrUa<*w`c)e71>n;RTL+5iv^J#qw%2^`{3#?r?ehb~31hsX(pmaps5L;x5| zT9*`3&Up{OuqzR+A~1Q-{-OW1VkTg~&t&}24n}ViAaI5Fmt-sH)MOaO+!HAIJYIrUAJeF&s962SmSK)a1>m@- z_G?l#l>0bJgJ_FYU0XHssbvb_#@P)E%_hnw%mDir7(gAy`+Pty7zWHy3Zm zQ^w(Kb#6Q3bj;z4&jZIr^-srxpNl(IaD2d`)+K2v)5&i8UQ8*k`{B!#u{>{TtSA1t zj)DVt)g+TB4K)r+$E&vdq3?8Xm}CDR{^i?${XfLh(~=Gj3Yoy`*GvEKVF};+UU<_r zfpuhDs|h>@0NZP_7Rygf7x;N+0CjX82Y@XL82%)L*S{6Rs~6hAPhbM)gRjPX{4h?Z z9uyr86Gp}n1omB5N=~cs0RdpyY*IcuOF(^$he4_zf}!(vg@EWXc0Js|xkC{2Jak>^ z$5lXUxQpAo0r=|31ZGSh*^teP1G57IV_;Grb6&;7*q6arzl^h+;E>E;W%FvFtDoW5_U|#?L zAOJ~3K~$>=3?aPu?DOH9U-~LqEu0vl;D|CZ6X1cvuV_0x~p5qP`W=buxvjyTAhnfLZDB_O*hl?jyu|Eyv=4V zN`>3jdBJSmIrHhueO>&m!<%hv=O#Zqeh_~6;C3B*^{WAMF8A_h9f7@m6|QggYfBQ0 zwPuauv@#>ta(#*2u?3^mG%UQt=&_YNjn*z{MwIc|l1{A&W5(mjfMdY~Lx<+%(#WK? z@}ezP<|VEpa}66aCsv-@>Y7+xmj;w9R!P^sNn}j_Yo^+KzrZnAJul&?MvqgUPICr{Y`*T^-K3H)nYM?)|xhbB40nI|M5rP`K$ln z{@z*XZr;qp?b|sW9u~HPZ`>$vKKC4)!2DS1c?wP7AOCR)fBL8PD*(ZB$mS9Ne$+Mn zWB{l~qa6%m$RGc){RX-~P7ATQ!MhtbVtDDLFn#br+`YX^^P{6U-^?kWp2i%m!37+z zAPVM6PV?DWw?;_x-X1h|DVH^Ldp+F2`-pnM*tmUY0#lc!IOGYlfxABC?T}|Ogk2YN zH_sppjR_3M4vYye)G;b1q&`C%2#|;Q!JH$^7VrRlAN~#S7ZUVI9u^EnZOJW3tH0P0(tsbOpG~)847I^MerpB;DysP z#S~xswdcb>_{z(i8%z)ZR~+G|cbZ-7yiBPuc1jlv2Q|3IjEx>brc<+Po;n}4g@Ddg-N8q4eg{ugP_VX6!CiS>}J}=pq zi*6r}5p#{}Md#*upoL&#>m)4TX)%knCOE4DX2xKbp$T~w16H&85Y$Y=id|X+kJ<{CH^p*D73wZ9hUcTsNV-BW<++R6Uz3LTD0|OqEv3xkoR2~vQ+t*7kb)!( zOxrpi^sG;wG7|@CPcn1pGkp?3Y_A{1U|H=mP_EaVOZo2GfBE*m@nEwp@$9S&2M0Wf z_KuHd0zmu#5P0)u4&VOv^0G9B{IQqLKMmnO!=L`df4&5OKd*lI5o#Dx{8M_sKlzgo zzV)rgjUf#ah>>x4lku5nQr>Lh{QmnX-<{KyP*Mg9i0}LRNlYM4G_ZkrLQA+%3)pw- zuHf3+ZdbVnC`1c*)nS6ixSI!1g}Iy8(B1W+hn>&lTG8gG`f`zkIWa^qo0L`(r zF=OToy|H&C>j2K(!uE&4t!-OvAUzH#Z&b}{-int2M%)C< zUF@?%y^W4-kiKbY$1J)Y0XnoCZ*^Mz^!b>6bHdScg}7Qw9%!B~FF z#ls@cw9hu5Ti2mI4{c|Y#eiW{=R&MvW#Kt}!xol|mVtiI<4Uk7t!4|2ze87pod?s) z)@yWt{KO1-3sCipM83Znzx2h$J)OO_-Im|Cm^~IV1>`oC9Do<6uCAG(%u44V@Z#c} zi_%cScDn-v&bX)H?mAENwCekP^U^Gf&$iu-=Ze+CF}TR^U3?z)OWI;Qw>2yZ7;4{J zZD0#F@$a1T^wzr{e(By1f3l71)6(yKnE-HoxScoO_(q=o{LdqS;6M6DIeh0kfvsSD zz5YrGuL1-%OrX8N#Y^*-ZUui)TEIFmPX>VctC&Fi3^wpdOdw8xt5+j}qC(pl;GYGXj?c@}-j2+gM6vY~eInj%_g)gNwh{eRNtB z3k98T+i4fxeDFco&c>Kreq9~`oXdx+P1x_DsxkK1fY)+tti9@!I6O9nW)B85+ae8& znjG`SngcXyw428_IRIHSc*ytnxwZa=dOf>Ntwn%$K#gIGbcMy0&(n2t6s~Q>o@lET zjfCH;J*kd{1+N=3sDO4cb*QtgiL5#F3%7o}RLvxYXn z@ggfJxe6XH35s4*V6_5k-)_}k{Qmac`(M9z=lFIXyL=Q8C-@{jr{m5ko6^ZOkm%~)w}NwIY!3A00_=2Xac9M%8BS2Dt( zF?9slFA+UdP~|`h;XD&)bqOgjp6_83Lu{^aMS4PlAfEh#c_I_|yDz;GUbyib$(n^# z5>_|2Fr8lRtd-l=R>H1DVQbHd?#(MtA#TRQo^8s6#R_<2Lc@OPLKWaMgN2(75VFYF z8J}tCb3mm-t1ev^ZW9eB1i2c3&`PysAgQuMHlK@u4S*QqCWDF{D_ecn3@#rVw+wps zM^%G}0b7AD7-aZfa12tbWH$kgaFYg3AZ!6+7SF?Di`KX29;$V1nTX4@78T1HKCPID zjEMv7F}D>e3;TsxrBwu_5NtnL@Y=dL*=s?afVrQpqwyRsJLBpAQ|_mp$J{kPb_RIu z4Ao;af=Ua4d)wpi!v`PK0NRgRP%a<$#XSPJrk>hBVqzoNYK>Y>xpO;DK;}^fU%b70HAeikvV*>o3&W8T>r;y z;?phCYP;J`1%mg!L-GY3g)M=g+R;X63H+&MwVA5wI^l0^hof!tK1rTp+iN&X`&rpr z*IpK8L z0$uNP$b%Apv=5;BFQ$uLt024U7 zd)Typ9t0f`LcNM1qm{cN6KL!nCWW|z7;!Y5D~t@mF64wsAOMYM^D|8#QdDEC(7u6Shqg00c1cT?Ji* z#M-KwdAYP}B_!wL9LVuKcV;5dmkPV~2iwc{K@OoCG?oI@43SszzCRwv$4n78!L#`vRdM3TyF!0)tM1XR4^}}^u;^^ zI2W&P4#Em+SzlNw4WQj)Ey8%+UziA?$1U1p%gn5Ebe+KwOJuE0zkj=+&K5Q{<-<(D zUVmub$aN&7JxdGA#*epb1g|5tG4X3I4qfLbK%)_J*k=JUbvtUDle6$kJ+ct!wq_G_ zp(}uPIpscPo&)e)@&N7n<#Qb@qD1X>+l;0ZZd4_PGS71?IVa1IwR))fDljG|wT`8> zrCpS_1~WZQ`_Q(6rQ2&IF9M2f3%CV>djFOI)ME(IEdIc>M) z(cW*&Ka&Z(cdwjl2VWc;_bD@hUsM3tUb8xb&Q~t!0xvLuuQ>C!yK^Uk34|svA05T< z=FK$Eb1Ek%@%r`axWS~|{ri2{?PA`)naZ`pxO(>|LyiD~2i+=^G_Nw5z`QGczrNC? z`E)4b*mr%OW>A48qnv5lc;t32}X7WDRtn-hn=-%0& z8~cZ0@G)a8%Y=*5R%MtBfpmPEMA5GNTDrfQG5if=mJqmM?w$`$r#{c;Q?|wpnG%qv z$CP?xYn{`-S+*VuyRns)xg~~E<_2g00Z7%##?Mvz=S5S(Z7XWfy;-4TfkGh{03*X^ z>?Z!EDIZqo4NxftMmGdI1jaG=q}IpM=r*DB=H8o6lxoRC{nMiAlQH@m96Qr2V$;rsXA4|gw3 zAzw^1_c8ZM%<|B60j^-Sft7p5WP~MaQ`f=Ll=Xl4)DSLc84z#rQ8@Rc?bGI{DyC{WuKTz;0s3q5teKk#1^(n0rwRXo;xniQdSv<>Fg}d#=xc+ zw52w=R?!V{7a2K%Ay06?^^XNLTDdZpunriQET?B@ynHw7RT@Wjcv+LMxMebf>#X%$ zE!?%g3m7%$t^Tg>7uh^9lLD0rqLx1M;^WnhmPAOkPK@uxQ%n*Z2ZUuejsNM7-udBw ze|C!C-I#~NZUO*2+HMP?Vfwv2*90D(*94*^d=Uh`{W%ASZ+(!flmE+7jKeFcnWf(%4w3%<+sjy<+I zwA>;jC6VDm*I{L~=u$UrtjSuu3~IcbYmqB^P3Fu%7tT=&tj8i~nWwG_YGd1sNpG(s zvXOO!rE3axoq6?@0jwQuX)M0UM+k)2+O~fSc-q7vGj3d*G*W@(g|=!vT-fJ%3cG1S zb4#*~()Um#*`rX8sy5JHkPBef`{IEDqGILF)$BS~ewj0`V}bq9e|YJ08fe!bwrK)7 zrUK^rdASFebY{_LFJN0)kKTU&-{1S-r~lEzJNNJH00eep>2FLkTfw{C3;@{OxRLRl z?YN8aFaUrrzg((2_!0nqD#hpHF@Z+8#wRm@2XVYPoo52?-c1-AH$QrmDie77r+uDw zUB6yiD;P{(!vvNvrZ`Uoe!1`0Kv{V=uS?hAmc1$oF5t8(GhD!FRmu!4AB-S<>^frt zGr%2;AvAr!6auq{F@cHNKLk)?N!v3|5E{W!y3z%jK!SxwGY8Obi^c?6h9Hd~EfZ)u zKORC<3d;(Fme9UbAus&=7!w#a{W|{B-}*i1ZK&%|%n1OMU8IZQL4qy=Z^*^7QE1BQ zt>%oo8Hp2x@obJVHmU1X7H#88Bb=j&-&1&X?WliD9#?fOh& zY`>g;T9FzfXO&Jt#aO*dOD&eNjxbY0$cq{dYdag4uj5fI%j&x=*w#`~p|e(~>*<`q zl#`H}KcCiN-XG1)G)7S%&5FNK!UE3HDQe)o{eH;?Qybe!K0c2i6ykFSwsw;-7cbrm zADq`ywZ*?(`B!1Rvk+iu@%dOQ+v0Z&z%LORN2kZ(d-vbFuypuTYR%<~ zd`6A{&X-l{$nNd0HkK{PSR-Zp*+SIL3p>}_v28M6iEU;VfmwY9+Qi~xcdbU)Ic=t| zMv3H%mZpN>{i?3k!`WF#T{2>I#Q>n|T&&~EdwC(L;S*)v$uNDM)O)V4}>Cbj7D@;Ux?!HvD$j8o%9gA`2%GDx9hkreI6n981u%gKir#zXnYn-V*;3uX7nwkTK)lG$ zX99^`Kh7oitH1#2IQ)D7s7GF40@(_Fa2WHogE$`?Ma~U==9zGK`*zCfb)2qVO$!rv zEw0D=UD;q}aMvLxaGrJpTfu-kWkA?V7w5AzhRLO}UI7r!F|NCUc_Gt^E#Ta(2?R@7 zK$HYB>3FPwu z0G$bB9E=H3VulLv;@sec2_!f?2M8|!K>yojwGO}kwQnNUg^4n}n7PukHmP2M#z`-xLdXl38H84Vq#>(CvC)(f#5nV2paCv4$!QH}zT? zY)*#C^YZXo(xRCD&ZLzpGE07xt+a8|QQE(N-O}1=#>QO;z{d7j!NU#B+N5f?5?p!> zV6wg+XBj|rl*!`x-GHdKt{_N z?OJpHiOsOjwy9%s@Hq>j?N?i$&r|p}LuD#sBK*%g|txO~{O4?D-;jAdvBEc1Z;Ah!RK>T#`VLq*0NT z-LmUYwP2A&EK6ho44kVtKUKqU9vefig_6fU)lrB%n;Vxq;Uceh=>-WGp_!KM)uUh- zBPBndPuGzAVp&Kcvu`nFEt81MP^DU|x&%N7Mi96LEFTuCOB6RTcPULN#=Je6<~Xd%aIK%f1U@=C zA_FKUaD8}aCXqHMnyuiMO98{+0#-_4j3^58+2&q@Ll2ongSVYb`8paF4kFqHYMOWS$q z5FWi=GZrR?X$2Dq#>bUz?qlrC>;WLxAp%B`FtIPl3dAH3XaZB{OG#h_Ejk7fFbIk! zh{VqUm9C4S8)C?44_oWEBrt)oAVLPl59?*%?v5Uz4c!Ik11MYqHZ?@or-sVz-m z3u%00ENL};DztI}Yw`P`*s?!PisQAA+nsMyWVy9lw>C^gN-WJBQ zaI9DB62|{ifsRiI@_FJ~1me5R@wV&AIwi{jul-!arYQ`X z2C$vSBe@)r8W>q~TH@ zbuaK7EuQs!Efn#+HG7C{Y!|KVVzC8>(r8N?EubmJPc<0NsT$-E-XBZ;^OHxXe|~y= z^7c6H?wzIXUM}O9#(7FP&r^&@1D?m6=PtwvEMT`<&1qVdv*~D#>vdW6JvD(~0udAq zC+2YLR!+y)%cj4QSI<2v;f)a9cpam#?v?QT%O$*Wy9A7k69cFnlSBBtCh(F0{D?yI zi2z`$349V0nD_P~G=X3Ock|rm-7ao=XacXr@%T1bwxK)d@_Lo#aW|B*#b`OC0m0;v z66OYDVp$y4VS*~Kth&j^x^*^37`i`W0^tl!$om_zMZuWcS962W3XY-6h>)o!kkALT zf?)*d5Dh~uA!YzW0|#NJj&oFUk!_Ao9b66n=GXtVaBcq}YW$jF0SE)#QHnDet4#xNcB3}{#01c4fLQfC z+reV~@L&d_`sfm@gsZ--I!A5QtAeOJyNe9EtybMt$7vr1clCRTkNI8~LP;U$HjRxj z4Fp+?Z}H5MMz3QpYptGzQH%tz)&jP%Q8-Qlx;#$KK1z$Ig0A;aIC5QqYy6zYwg~M> zW2BWbM?|^6+>WDVhhgQeJTcrLbqw(x+edv~ofdFjH^agjtZ*;p65XuY8v;vmbx~>> zOS``Yf{l3AO+qFbV^@}GFk}U*P<{yupGyvZ{ozl-$+Z33#4eZb^$CvvgM(wDeh>e_ zxWRmYns>RJXBB9;)=Sqn7irBRKn9_@5OLt7bKY9Kc7E|1^I8P67Z*0JM^!DT(M~l^ z=7KueZ_8So>71<#vsyo}STaB)W=^_ef}YOinB)3Xo7e#0+O^EyTyyW6^<#SLk$r)Ib{Ye8U!VcX%5ghs%X zp8?rKAIa%jVF9&^EnHpmV*ftsbP`)=`{!mgEO>qXGDGa0^=r1TOw)7{Q##5e|8zS} z|KHK^@pq0+9{nio@@`ILE@i!qWt?*#rwGtDO$2}`#A%Lk8v9{RL!PM_0{|owcr?e= ziY5?b0zN!C%4`LH`O9-UIVnT;Lhg@_OMl~GS>1iEa9G^C_w20sqw7}8-e~dx@$)4B z{DhUn9{%xwAi|>GeK)@H{PQ%1fC-$g|8@+&0fFnB!m}xm5v2eCAOJ~3K~&EMF@aZM z3_(ly?5xXWKjrEDU?3L z^@~X$h=75yqxaYs&IImYo!RPNM;aamE+;qHfEL}el{i$7_ewu9G4xBF@c0O<{oL7!E-HP{{5M&PlbQ{ z@^8n3)y6eq-VzoI#}P!v@U1Sc?z!r;B>lRgMX>97j|I{Iqg^vv4iOM}TTd(LFR~*hgdBwXAe3vb_keC@NPF36P`;usP`rl>!YHiyA!);EC=`8Sy5*t{4!*W zh2MC^*a;xkfNGEGu{N;{z1Kc~32ue=%JRdp=igk%sT=dftDm~0DrR4%9N7BCZrT+4 zv*mBCHiSce@9uly?9vqS3l-D9i6^l|+I3;o4Ph0{v;md$sz+dgj~2YZ>YoD`el0Fx z$F_jMNgyY_u6-@M+Q*vo!vIOuj=Bk}jVe-|(E_!Vpw#1{<*#3SiXjn*5s)GvWFD!p zn6}VbX7|c8p{Y7#{^8v9Y)|b!uRjkb)`T9s2NzuqT2-G|AH6kDW%+0H;xE=;`%j*?P8SUf)&@Iry=0DgK@Q6f*J14*AR=h@;kHD1Iz+eZfUcy z)^SxQ0Pnq+=N9u`TSHq`aA8&#EhaW<%K84;Zuf)J)6?&tO}qEb&c@rjad*3vGRB;D zIhQ%5)i$RIfNmE{o^vh~_0QdABmj(Yif7w->ifA{#|c3p{hY@*PNmyFn7WwqX*|hf z0+0I%@g4W~wAL<<;Z4}e0sdl3U;Q$JQA#V+Tv z>1Yn&&oFt|C^^Kwl(4Q$Af3V(4ab}lV*(K`gH|zQGzJ9mI{3G_gH0*TxxuC2&td{S zCWc3ZclDpg1lDu!*7aw=1V*gts~*k=mRn2MUa~z|$wWE3SM_(^?m+y&^}Q?BLUE?+ zB3Mv+nJodW;=TV!_RQy7s%WZ(gcc^jRIIJ_bdywq881YiVbrPYic$K1blC_Qd0-p%*cs#+^D<46m5{zhg6 zTi@3BJAh=?Me9IgP%U;DF2%PHai* z)8bI>)pkLm&IDPzW*6B)bw=wV@Df-f_5nyz#F78Z_k+a5ox6qWnQf zW>g2&A{NqWS;Vv5juMUi&3+Tw+yq+tOmQ)Cy6&~$TJ&|xCu7IT=X86nE2pUVqS)qp zFYWkt-*lae;nVBOq|>r_`V4hEq^)dQ$2u=8JGPW@9A|tBF+MmwJAL#1!$*I0a&mkd z>(LmyU5R0fQz3@9D=82F#!}`I;x3}K8|Ph4-JAgq=XuKO^_V7ffaBD88+bZ9n|C4R zE~Y7N&vLhSFd-IZi&pSzRfg{R)E{;E!R7;+Lb`GzcQ;cWx-Lr(xVn3nr}-Np7@P6) z0HDrwJD5Kc1pX=mK%HwJ4Fq3*J=UOTJi289JtGjm1``Nl2tXh-fmaU?(|rGany*}8 zVDx&s?dHD6(BCwV9Ydq%L`E;ovonDu1JtFI;{foMyRu3Ef-w)JOFe#{0sb%wE_OrA zd4L8mmB0|`P-ZN@VDP{lZxs_lpd;G743!QcGX4bskYnF0OAu7vy0De&aWKKY+k_A> zfHaw))r;qtK9E^~hmA(OQq91yiDU|ZqC<+g-9>n32UOLNj` z)DyNvEFjvdWDIt_*|ERo1?9 z7O>yk?1o{nDEK>z^bCztZ*w>sMo^kPwLQcX~_f~K`1*A0`v z+dt{rzSq27Z>#Gy6@)Frj)H4#T8S|WawGEQ>=7C|UZ(Z4b`x(J3=uarMS$J}=V-AT zJ1RiQX*7M$kmz?G-o3R=}=QiJS36d9>fPPmC6}>lgZ4)%JmTf5@DLtTO_+C7W z0*`uavC*sztTmqJ=Z=5vi)x1^-&|y~)QPAIADCP8=9)@Ey|V$_5$vE}8#H3LK|2qkE)E7T@ z0d5@z)Z}TJj^|MBot^DIJl$>YZMVDIyK#FIVmOT@%q50hnZpRcR{;288VwAVF_mHr zU`X2>@{~#$(F#r>?o!u{d7c3lrwj%V05G$1Sz9=!32`|6kg*YEhzC;~# z#yOpCOZxTw@}TRowS&7HejLJPdW*pC+Bd(+@87xZtzhk#TEZVaE#xCX;3WY3gsor# zaJ7S2j@)nc;Z4C$q{VJ$;((ZHEb&|HP$O^uQ82pxspIt#|_ zaWF+d>OtIeLVJr8$C8r;uzFytM;Trg&Wy)dd&eD6o>7Ts-@lo|0G@-T-~Ja61mGr;9p-H}Ae5?p>Nf{zf1m z&ei>49j>f4;b2(T1)512mdOux+1Ry#FD~|cVvn^y?e}!JdaIF6TEDg{JIDBwY%xO) za(26|6JRl{dA%*WS|uG`1B~rbAhfgf%_unOdLa{$bDaRgKs>)p6I#^H@bl&UJzAiK z$0_6P+_m8-QjS<08=H@9h7{BpF5p;VZLw*ur7TigBvR%eDMkq4czebj-CwQAGKz)6 zYbf`RHP!2_EnuyN@w$~`pGGd|k{3-MuQMG-1=iaW&3VnmqkUF*m}Un9I4f{o`{QqT zZt{;lq4wU;o}jHXMj%%JaLW1Q{=-M_-+y@j-Q8|HikVP*8$+5(n0M$hcU^aC#@;Z2 z0Yr(2u^^!uD1RGr##p3X=(;IPVH?Xdmz1_Kr8$;qENMN?^A?U@1A(O*V=i2pUQ6U0#*FKIPe3z&XwX8XkGhL+TQye~<-4I~c|g zWChX<%$&c7Ou;Tk`IF3n345Y(APjOWDS7F2pPJ90SFVo9v*{9 zA!rk$nivRV^j>Cmwf!9c&ozO@4$2|S@o~;hamijvoet6lMb~o>kNw(nzY+fai!Vno z0c5&dx77j%O~N1`k~7T<3$v^oG|<6UVz{#2u#lnf%eg1rn{G6wH9<>gaUn~jj8jCq zHWYQRNN~)GiL(N2MYzVlxPGr16re@)8i~gPT!C3IM$w*&$Fg19FWh?H55ya2uZZ=+=<&snk4H?mlZ%)(2;=Qw?Fu6^qZ4*NV4fTlPzj zZJ8q7_{}(FivVU;Hf>yhNecnSn$?yG^_;CyALfk5->m~+U)0Ms^Tajr!c(4P2bA<(l~mT#1?9}ju3VY@My9b zt0QFoy?)v;^9UPfL+#iaE6JK8Nli2FyJY~iPn_jm!>T<4wK2>HOlskHPWZPVTp%+i`n#y4@b1o}C?S$LTocg4O^I@D8T~hE9bTVgH7EWs0F} zivh!3NMQ$z8gkeLFnO_TbB2Ac_-A=i?a#&X3Jp#V|#*Kn@@Eh;G zTf+0t+sA`;aO(_yvLQsL?PC}7B>-Fw$w#+>?Lgb#2?B5N->*Dx6GNt_|A8}sA66!C zzFQJU#+5lu!wEEhDVLH=6IfCnQ@2`|H0BdBe|hUnAT)s~c4?Z2JdHgWL6}0ij!a-? zBn+6q#Eifa=01l0oF>p`17rR#L#0bjs}9=I61$v`9Y~gFGW2>nmU?QAxw0ol6BqUIk+g{Jycq) zR)Hk7m}^9ench zWZF$TX!3H&K<=Q4!RWzBGsYO_SPBX{fnJORglD;Sj9#i|6DJ zrqsnV0LfD3F{a*H#L@)zVEqaLeW#eqSUQ+S%A7lA0^>O0hS=pi#?2-VIgi_iQ`zkw zOfjb1Z7^GQSJI=D!36ff5}F&6*;5Z`w8aCOG4GwkaW!;v z$O+@(_V#m{ALTTk9QUgYBB8q>Z#mn8kuhD_=hToi&uj(fVK7&4>3XP|Ql5ucrWHKD zF-Pe4I!+DA$POG~B!TgHBy>-F&95-g}NCR5CCBRIg`N0Hs z2$VJ!5CG3|2jL8MS1^qr<`T~Q9VI*jfCPfZ2#N{(H~ww5L#`Gwx9P`<_8*^B6bD8mm!DD97n_%?p6MuG<)11m^EfhcJZ6Oiv>)` zZgD#XD$T(wc2q6!c6Kn^{%Qxh{*kR}H|pRx;P_emj=93Q?YQ~6!2lcDGQv8CetP^M z{P^hhB?x>%vFB%t>&hcpHr>G1?%GEjn eWBB+iY4)@r(07w)So>0XzIJYP?JSC+ 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%0AEtX-{4OU3?W47CG7{VyqwQ2AeN8k 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 ZMxgKKJLF#YXbS>9_wPKqjk;wU`G1IkMfU&z literal 0 HcmV?d00001 diff --git a/api/chalicelib/utils/html/img/weekly/arrow-decrease.png b/api/chalicelib/utils/html/img/weekly/arrow-decrease.png new file mode 100644 index 0000000000000000000000000000000000000000..7264a1eecb78341a8e7e5f0fa01350142a75debd GIT binary patch literal 1292 zcmV+n1@roeP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91ET97b1ONa40RR918~^|S09{XCB>(^fc1c7*R9FeMSY2owRTREwX44;& zw6!AYi)J=~J}ADZMWtAZv583=Tilub!B`P05k-nxF`yEu;tz_bMX_qFTC=k=sZur8 zh!u-{5dV;(Pd2;zm=JWbH(2`W zu@b$>iQi1bo-U;9{VvL~nwqKaWe$IsGi5lo?vi^?cfC4OIU!XV*L-r%1>+NEK4pw= zk+`Bze?DbDEA8bRwXCs^bLTNR2QeDC;xJwI+gFeQAm6~5Bao2E+a7{qRJ2b{Nw4HVNu zPoB5yc%u#K&tvYrekoDu6U`T`>OR%+{v>TUdUx~8)Y;D&XE*uc!D& zCQ@Zihtbz+tvr=}EY)lIbnbp4!X8?939;{*zZ`_vT?@Vb2u`IEXLLs~ZRaGbO0WPm zGofS229Z1_Nnu8aJ&;dXeQwdZrK>-b**j>5-Y|J2M~Fo|(}lD>Br!2A5G=rW&bXbI zc^2nmgRsM15c@Vn@0Oy4*ze2iJ*-$JY!1Ogzy6EUAUT@0KXS);3Kpc+tiIFXEEiQY z_Q9dp+DrQ`J~yU}{a@Lnd(t2q5Bm=%#VDq7N4OB~2EawWZU_T5M`W?-T zeZVjD<9Oj{gBc<EfQ+&%fE^<|iR zp#_U%nwi{+N@FwBNi?x3mDBdojQv#@v4Rsxun0hVv^x&}7)RA=VK4roNu2cEMZ-Q3 zCCBWmIZA+7I+e3+c+}Zn08wHk7f07QoCdc>6)WN+3l>3Q31ckQjRl$%c9aWCI)R?; zETqkEqQpsV+_!$5TKJL#i{x=j-^5G& zGrTC8gC;{8{DoJ^)`DSw7sRXOTU1L_Ce0i6NrhsaVyP?f>U%mvOl@DPSdnwd6_&!< z%;fcD#~H!5#~O*vjzoXNNVx@V@KY7ONTY6o#r&G3Z)9cm1$uhzoSyN97`6Xq*gr2) z--58Z3KrSp+0?b1mk;8vt`hNvy9$}?sRgqx0r(G0s)Tn{Ek33I0000Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91ET97b1ONa40RR918~^|S09{XCB>(^ea!Eu%R9FeMmurYkQ5c55IcD6N zMks$Mf0bfFl1n5xV~kt5G@2-5N*bl)k`PIVL=l;qT*hJKG$tCCacMM3gCT$YKz>Mx z+$JT)^Brf6ZO_^JthLXXRjakvx8Cpl-t+FY_TEP%&+VzmxF;f=^cS5Xlk!Y21^Fa= zCQ|xKPp-6n9$Rl4o(liz+%a^3L9#QJ7 zU#ucaxK`gh)%PJUW=Rwp=SK>Zt+_?c5(u6S;*$RXT zRszVHlrS5Scb$XriTMX_EZa3T`h!Vg(84fmpx|_3GJ@E~5h5dph>Sw`nXuyiH5HB1 zS9l{X_OF?F#-{|%E+M%QP>}&zjtQQvt03h~oO)3dz*Wa(wPn76{lv*i-iS#PFk>%= zads(UF9UEAi^vAASS>)Tn^+CwX;aX0EW+taIK9k||4%S(EC+ZI5TCJ5?JRDrHqLr8 zRWxhsh@JGtEv{8V0!=Ht*dD<+TZyv?7M;W*s2&&BF!Eb7Hx7~I0DIIMv$$4G=TxI&3)0Ru@Jo8!wjfc+ zDFmo%q`Ea6J50tVmn=1fUZtn_H5ErYCZE7rb<0_-sYBg^ByTZun~{2NVkAAb0UHcS z$8feb7qQ9($5w9Xe#2`sqO~Jd%z**iZj%7!2!%FUVza`yOWOhM%?bp7K@ZVd9UCL^ zl?QGafwr(j)(>&go%UTApIL)*7u>teJYa0+Lnf|TQwMFl$am~6C-H7T!U3Fh+HV0o z8N+bzLCDTbi)d<7L&x%eP}iCNYp?hs`^cvr;^QU?U>}4#%)Bp0o*vua_wMWa%qzGH zU4eC9@@2*euBX4JZw>_Z(E>GV5&n*`;jKuo@9#e}J;Mb^3$?KT0000RcMZYa-Gggz3Gm~2&wJi; z&UJm?AG6)NQ`KEvQ`2+zPTd{;O;#N39l<*o7#K832@wSt7(l>VJpc*e?Q`1p2k%<} z>!=_u1XDRqboll~#8^$zL`DYY^IIJW1~$|j2KbN2+d=Slz`(#kVPW9jO4xsXg985h zEFb_1_uqAxe|mt~DJoZlfq}qCiU=yX!JcLzLWz`b`dxM3y^nwg3X&mr;DQv$-g8fT z9^~e;5`Hd`fb24UR)HuLL?{H#1`#09fAIf?9rwWlyP&AO>2-r+*Z696jf2P4#KmNT z>%!RNeAV%+#q@0bVQ)3fdsl(XQ##uL@?+ZBt3``IXezKU=5k5Zn#DlKZM6{xHquYD z8>|PaMp6UP0Zy^~Yg_9E)-X;`klX8(ez@iIGNg>`B7P+juZYPC##`&H zA|V$&4lNGD$@yZkCl!^%P5-juKSm9@0^6g=TDpAXS1E;?^fmvFhaO@fdH>%^aT`bl|9?u6kPDuGJ8vzTWE|-gzUM+rpHREZ zXLSALc!s3s!apu()dtup2D)9A_(FzPh8N`bWQ(06x9}H4Zv2bmdMohKN8+1TL>i>! za49f3fJpciJKY@YrzJfVY$x<}Koz1};HlImKJ*IO>MfsAFk=~Dhg#MB!a_#WwQPav z3;6k`?9|u4-;UDZ2dFUvdY=*Vf7SP z@OuNVmC>(1&nE7YVar)xifFFA>^PuP@fBvLM&Xhb({Uj`;c6-yHf=xJKJhTym)<6=b9E^CdNw|q)l9JM^$eNp|NuJJA=nLTS?*` z`5Nd986B7bIOiE}#0D!+2)V)E^GxpNMNnz?ISVkoGs0HYmS%t_=#7O_opQaWLsg)>!5WcigSZz4%x-8*pdzeKMR5<&IUOFcXcwhJzqsD#h zB|5aS9t#lLE(QS#hSH;JR9pXxleV+lvc4|djYu`tHymhk9?z(Nf0thiGtt9m?tPJ2 z&m<4Rz*vfT*NURZ6Bo#DTT>{i+`33jGwfgd)l80kg8O`{(Ef`vNLr@Ka4)M5N%MO% zu&s*78S6`a+@i0%Ed_Mn^asBkRLWUZg(M>G>ktlA0kDm zeI-@4Z|AIe)hw~VMux$GF1{0LW0W^|rL+w5>p}L=Bk!u3R^o_vv}e9ZFM@;INEGPq z9>l(1F*kOnJ}_K}2yNP_T=JR~smgm+oJFz<+@bcL;yUr`j1mB*!umpP&whU^})n4!6UfmQe!v`!K{D9YaEAZ?Vac~(kZh{C+kA2zfRyt3m4w$?jy7Ko050t z2$?_=O-A{Fmpph=|Kns}mk-7Bp*$)vWolV)z7R_T$7(O{`OA?n2V&Mjbm3mIt^bYV zrW`%4$+vq=JBIrbm0;9i6)2iEE`hP9XX_v8cQGgGi<@;}JL(V)Wb?r_yfs!V@S@B; zndeqA2c6}knS())%#rA_Q<1yWE{XkTX!%6^QARtEPsFj2yK?4r#q5W5I zyOJSiGyL}7GTH?$3t^73$>_`45 za4~on9K6mSC8yb?<^23eVlL98`0HCxwF3V9oO)U{eURNsxENBItX8&*Gi(=WCLmp% zdrXQnrXOU?=maYLn3MM{=wpo42k{^N3A5xl5!j;(7oYMzH=dnFJek{G}LkczFdJ@0e>CZxz_;#N+-Cp)f zqoBj0_ac|q8(v1tWWhefug$441*>%{OI)aH$eJ5YPf7ID>n8X=%R|J^Pfxxki+4YE zsE#>DC;yR6l&C1o{7A&BJ1y8$d<6Qiik@=h4wd0QrrM^n`}qE0{A*H!vWv5b3R=KI}`#&OwmAd1w?=id4&~7f)<0!pclpgae`;S6t%LS3%96Z#r`m z=FgI89x>uxTI@-H{tC}}HL8#4eX_v{I-&Ao-H>?^Sqz|q>WcBp{T?sFGI|P_AQ_wS zDZx5${}tyQ(Xne}-QhiV<(H+fQ2h@7C%sL(^Kc3W0lBmRkaO`Kwspaej&T|N?6$Nt z{F@Xi^=-+I-Sp<^6$fplwvFO#Qb8W+`HmZRxz7iC2D|H@sqD1U=8(ICPpCJ=45(Oh zBBg0*73diZIb$kEnqy~loOQ3N&!-V_*GwKeKPD%`ujb(w2FxlO2pKVr6~w=dq40^~ zFJFu3AMbosFlX%K*vPi~FX;lbDq*4hcz*gr4}5`~(HqJL{-vwqgYQ-6E8k#*eil=_ zI55vLQijgn)rEmmc!d|)Tz?)A+N7~O_J^BipWtMru5x%HkXURs=Km$lnnq#FP3q0U z)5Kk?ZaJ^M+PM%WU8;l#*dmyl2y}%$Z}{o#LykVkBw@F}1bI8+hcdLKnW+IvYW zQb)d=%OTnT>{F{|PJ9&_MH?#-#XlNXhZ3h=%_^$$f3BJSJXO{3x617|!O1~F{sxaNum`C6^ML5{2Q%7R2)%nN%VdQG?1Y!i<^!L|Hz3M8K@`w)}t?Qk> z($3@|y?f&o(s<6Nzi2YFEQ8`M3g`*ChdIMC>+6Wb_xpFDflr%(60W*QxlXO=an$&5 z#-lz71wBN|+;}oFI zWiI&GfyPNozMacroW`8cqPza^W=5{rtJe&oZ~f(rgA0cRHWt#g(J-p*S`jHE&W35G zdFf)Cv*)}%`>DNEk&rG{ZsHyjYG>JRe9R_{$3^k92D{!SWv@a%!Zw+mN{_S_n0lIR#Nz$K5$CFJn!Y(Zz56NL)K+eD&Wc}&lNCvqy>TgmbSMp9zW`*=mg#vhjXp0fmtr`nLd=mBnhtISpjhXl3_aIoLtDlGRybxZWgQ+s4blP z{b37k9%A-1Py;$=4_KeYgG!aWmHGh>dKBY;gJ1d ztgIwIvxhXUa|@{H<=>qi<|DUMy{_5)=$_6+RafmSbN;7S#Um^ZV)T)Q32?Rea{Hyl zGqm$4M5RpcY7z&G5(Fs9`t99H?7`GXJM5WZWQmaF|eWjq<+Q_(C_z|(gA-6|8VxTs>!0;@vgx2(2!M}lNZS>GXVk*W_BS!TFI%tTaODuCK|!s z)|M`w?jKgphClu=vScLDh2;K$sNZ2EvMd)68w)1B2X$ol8QhY6f4ApXR47cK6N0w= zy90Jqg(%{cFRc4;7ZpS&_`s3;@Lg3l{tltqOjAwuDZ8`QC71uE^=9bAyzA*Zi?>Bv zYt-|kz`2_1)76Qay5JnjN<4=DYwg@KKw8z)W&UO5-nL|eszXeV$AW0evSN?+ zAjS%p36oM1;OPNYxc4M;xU`O=!vEP`msDd{UWdKWy|GxbQS49mR5AM9fDf1nt3|D8 zOr#|uRk7j3{7w9hYj^;L-t^;}K0CF78>|{U5uy$p6^{QW(4>ssGzSE$riEn@TN+?K zG=RsCQ4ZIL_ywX+OBLdimQ)jU>NLGRrzc)bxrmzyM}klzLFVDp+MFI0ZWYcsCM+=y z*v5_%@^zo5_MH=9rqtm+%ZO4uH*w7 z0sv8HYh8Wnwfp*eOjM*D9pTCU4pJua`%0vmVDcBXs!do~n2x{&;^x`~_u>x~W$ENU zT5wvhtQ|(=tv|R>%8_INb#J!?R0rsk?`_r*$UOXp#3e3_FN9FNag&ihRiTNXCSrc% zWS1OPLvV2#o4(Vf^pdlqkg!6(ppu9sgU4rMEGvp4n8`>@ySgo_wI({?SCN@6cmqwW zJP5D)1JrucD3dc(Io_mz%YEY1Y}?`|wQnTL^6m$b8)9rU*VYy(^USZ*raxW2!kJ8* z;*FChK7u&Yg#(XCZ5{__%&dS62rt||GgO(_tZ7+*M%Z&sO{sN1Ds|kcwLGfuNUbQ! z@+XDO#Iqw^^XXg4BRO-0;?_q&ugNuEg*=o^qzm!M(v0v}v!`M`*6I^7!NJ^v+L^EF zas9r@P&iiuDUlO7jxmZV_A;$}pEMTl*yM}Bw$+fpSv*%*Vruk^%90>s+5WTNm!}sM)`=%(Gr5VXDweLwYoSkV2Uy*4Q4jd-)%3ng zizBQ0D^(*Z_<{}eJUT8+<)m?~PHrK1oYI7t9su*$H1rOoxo=Y*AcTdqC%6DSv;BvO+VV)Te_bOc!^ePs{eB zr_b1bV6IuZzhi^m7kgB^3)B1VKEqNfx4EgX_WLtsh(499b8BiK9~!9RK{C^{_$`D* zWOCq~jy+HB-$0nN&J)d zzpZ?`$f>YQYIblxIy8ACsUh=)BY61iQ(rdXl&ie!n!Pb*L|1HCW_&gY+9I-<`OPVU zHUBVkRt7HN?BQt~%ks#L3eEPP$dV@PxL0>fW6g$kXVL6T7Txwc22E^)Xm`GZ_#mx_ zcyGb7+Krn>rYyLOfc;}-v%J4Nv)c9HkLt?a(IH~~8zxhFzHHmZe+D}reiF8kJX|7w z9~Ob~(pYX#o9ncEQnve4j^%Ydq-r-Q5WDPGn)4rF*!UQ%a@BKTX~!>thj=)jW|D~3 zL2V<{dQZq!VdXf2=zWrW7%gI;Og2)*a6gIYe*d!75dU7tP4MiT3BhBPo)X7}qQB2~ zzDhIrlP1Und80-W^6CfaiD?kMxVzD~ZtKmRXi>ZA@#3G9;0_MkhN@KN>rrUexiO~b zpMVK|(V24_Q3sjOBknS1>u8Z3;f1gf6i_Lx%FF`l68|tLSE@|H`ql5pL(vs zwUfDaW2RMe1l)44qJWs?{SMMQz40-fk`;VCClU>sx{?J(uF#XOWk$@QAvq$dx^P$m z0LiGWR|5--3wgnSM_8XTgx^h)mK2kv=Xw3lKV!5PR=wYwDU+r<>vHsnvzE=~znI>a z8$rrM7o@a9i%d@kdBL9osKXZFHK#tuo`eUvGkOJyOi|mAJiOBZBHtxzWr`2~^v?Ni zZWLbN{(G$Mu;~yaxQr^Pb6=iw^h7yh%Q$;XwO-a(9LN3z)cobSZSU`oGg>g zW47T~hi(JAqDh*=;c(rC<;|yhnUJ4VK1Z70lV597U&@CIz86Z)>g;R-!!CaICyVM6 zGm-j&d{2ut5dhZyg>}@JMh<}MsX-Rmes9&D?w3U;qa|v%&&B>-glcXI-ZuQvN0q|< znh$&sPgCDf@jdf)$)%Sf=n>T(WiU0y{nb5aeB(|szoYguL!*qoZubJ+!p zui<nNLwk;J+pGPgHHY$={PEBS+$mAf2^t*v%0Bb9L+jHtM`B<5_6>x>k2{}K4m10F zbab-I9B8L2vytbcziG(>jK-RWkq_2_qXj7Ss8hn-@db^i008QryXVKcIZDCm%{H|N zE0X?{o_vDot>numFE^ZH#%*_`N|u~0SC_?qW29C>Ke6e zlSY!Ci;3GezT@7mKk*%=i9~c)##_u)U6Y57m-sfn7w_LHtW8%R(L_gMIEJp+l(uoY zn4v!kIMh#BIP=}}m(9suZ{0dC4Qt%mTYZbgiE^x;`s&R0)4nzz4w3U{KzSkILUsEy zb?!c>=i&~g7ZrMtD%YIUaV7a(d_Evb&(%aWDUy8SnQIU*EqA=5mZuNlx;4Q$aYD6`djC<4u%^k>#!Sy^_2lbyaz*cRO~t^xDg3G`U?j0 z+J;9oCjB{xmbK;to3fNr^S)3J@i@Ugej&E5*LXH2x_2zgs=oaa>E~muXF4!HF4i?A z$IX>KA)+nyYl5@BpxlC1WMj^^F>k9{Mu6fI!rXI?T(?(kA!=r=6D+yN2!;9bWlj^X zG<;68`7x;~l`V-n)`Q|2!-QI}wc3W}baJPuYqquA#t19Iz{P}aM7FB9weztj`{z5Q z$7GId`-2y8-kR5!MkSo=t%H@UJk<(yMOPz%D)$1nV1a&P1goNLA*iU2%FyhJ7keX| zjk}|U^j#7fFJF<(`s}q>BMTbUDXIVI!FC?{+U%-!K~7HTg7VlBg8*C|$z$Zgmu!U= zl^hM9wQDMwuyrC3J$;?W@2|6TWEzhrATEB--wb39 z?JF@JGiS~))puxSaNb@3#GiS8(DoLkzHCPv=YJe)^wh6=XFhuurq|-zwWAj9tt~S0 z%G1r?b4+EPG%<2EmXmxnm=+T`xs@vpvlMc(AJ1{EREe4+{_@xR(COIy6i8XumMupn zieAGOI)+V5oV@h~gU4x+xDz|T`K zb*>kRT5q3(pfj%h$sN`~(=}JthwaKgW%gFnouJ8t3vTqajF3v7(E2P9+wpg|@m3B6KaOcM&_R1_VAbez^*R8;};bCR;!;+4iSv7F>{y zAepunZ{gmNU5kTwY8o1Tp5&5GncQ6>pGBb{-2B0j(|6shJz&>%OS@-2E+P|aVf3-r zd~mn8SW7}t#oMYeYe4?{dbz?kff3yE>$Q`pL(@EqXJJc4mlbR7r%)?apTEeY6Vn@b zJNwjCnTVJ-c>gl zaX;xU-hbi#i)4?NNBe;BnXh($Jw@4R7gSDAHM< zo2}Y07AX=P?=Z! zrufJx?bapkvgfW+Z3?S4us=j!-FEms{PspYhTu4By&{&&WqfU!Rj*9S*1O|BJ3Rm4 zL~nN`6?*#R8g`E*7p8zF=}e^zP@p0m<4%!6P2 z*Fr_X`S)y@5Bz{fEKhI@ILsqKSkqgj9z;^%90^L9k=dYbkFIJ|2suIYx%kydCgq}J&ezWryfCuYuO@RDHct^2Qu z5rB*H7})Wi0HuE-nReGVfxxRMU%}mDs}INR{zu2%OZOMO*LpC30au=W#`0TJ{sEvA zTMOKPUcLK_%U5ethPZflj~~ll0ORgc&SvvxJBO>IPv7hyyilMaP|m zzqHN^($abXRqPJ@_xwn?51Ps>aAIf7Y-XdK7z)Ti<+m3v9d{~Xo9i%Zq3q2skAkE= z7d;8dOND)VDy=y5soXg9&Q8qT!;Y=oJbP~wxyc=^bGx=i$<7Vk%kV(6eR2#>&S(0i zC3TG=M;mitsv^5YnN1^U&r zWeY%9Ub6d}6*1pc5m1D)=y)aPl@2#G`5g z!7G+$K{Mb&13#>G!xsL?U!d!VGfcP-X2M}^JhJ4Gnt%2T*E>>u>6#N0B$n3gM<}W8 zK-5BKfYZ>B71HXzxTYi;tcflku!|9%a;c=>aN)D?4y_$TI%0;dhJ68zmQv@tRME+# z*cw)XDa;*zmx~WgD}9CQ>v5n+o`&&KMh~Q--^-2@X zjre$$CIO}>OWM{l_1%z5>lk1bc&vyw(mrX`XA_ghPmINY-O^-l@f-!uekIIF13X{etY zTk*L_PT*r;I08(JI|l^Ql^U5>jk?P{dXeZRFU%YewQDzr+^2j}bjF}kRmPKIzo|67 z0`Hc~rqADQB5QKtr`1b|!x5|0uoL$Tl^`I4@WQP@TWW2{dttQUjF!`k=E3gi3JzU$ zAL^}2LXZ{Fq)I{%O>-l5GXdSg;#ebRX=+;~q5x0;RvJ0pNYKJrq*T34fp)^)IyQmc z`tIc;A-$_*jy(rxDByUN_(wdy%HhXHo-e!n$4~b@!`7_EogYQwa6ive=X!5S)qQ>1 zI#rNyUmbXRW$bLv`<-^X=X`>}SqPQ%1I@{&RI2soyURf2pk8Nl@}oX(SXE7fyt!x3 zFrDLy-N)ImKee2vqdzzB8WuHeTjRIQ0^{9i?_TeX>(KXT*SROTt*+_uC? zlT9wS2PSwi@g!$H-w?oN(|Wnf9vS!Vc<2ILBwWViwnmO0f@l9uJE=QYMCT#s=vZGVY^R>7>6^63Vc} zzXQ!il2W*qoe1??V0Ja#eIkk8_0jh2ns}R--fzgqQ0+sjcygN)<_d5Z1XMf9&(886 ze@On0)sv~FZ$@fITvi^>GaL~=$V35+u5iUnzV&MKOq{irCg6a|as(!$P8*}ZAu)8Vd{>e6UJ<$~;$?M-WY8V1hGU$W zA7);8g6ZHeIKq*a;h1=Z_t<-sw?mv9t4DH9$y09D3ZD@bl)BB=JBZql$U$6ezy1Si&O@Z7N59-2M6*)4X1eygDK%W+jIb&n_0`Bf`SZ|X}x zD>?(0?)A*`1z>Lnv**WwO+uxoNe2>WQiN1W>_lTJxvSy{D`_FjxI4)})Q>d1vt_l4 z^=$pmE=>*Utje?~Yb9!AnHmfqC?DH49O$w%z_%EMiJmngiYpkUQ&lQ z5l4V^-U2IV)op*c^e=GK)?HFRgFRf3yfq#Z7WL^&2zbLAbrz6=5#2DQ^2?-${YZ{L z`vF5Nn7X@A5H4M{5#cFNTM*NB*COh$Wyd#A;|+t{M9sBsk~W~?wp(HUjeR;XTCMED zQ3Z7*`_~4Xb1#||TEvHK!T>({Ht7ML>Ya`*hZF6JGnK9*&QI&5a5Rjt z3&$xbE7w%Ys~;(4sHFUwAZ>&1oJ1yK(kQX~hrTbtNdxU|sR)fVS#Ph~lg2fP9x%TO zcRNiosmFBthe$?H5=k%i=PmNk>1W7~tr0dDM0vc$zxni>W=nRof*~&_;ztHYgR$Mg zU^~|w)ysjqU`Gd$xYLwHQiBU|ueko}l|9i&Zp`|!N=T{lWsq<$_dpxZL6gwUdjjjZ z8-*noTrMQzHKVlaDWp+xAjeW+t?vHnv|>AItuSe{xXIc$=q*~k44bhWpUkh9cgHU& zA8YkSIlpV{AdPNb^hTGl@|HHu9)};}=^*uP{4j0T+uiuJp#s7R9u7wO+9g4Y+8WcC z;G`?}REJ&vJgDjDs05%rsC^Yw>t-I^IJc(iV$4r6mYgueaqf3*c1dOow%?v(c z2&sXMC@?Y``!B$o6KwJ-L$3iW5-(G!Q_0^Szuvn@WNXO7^$9MO60OP}NgqC|_ek?B zH8i^Bm|d{1k56vhi^Q(8C>P^7moGB4)fR~b)nE4a^tsMBNBM~ZA6B}Hujrsuki;Z# zoFPDMZKq4sH>_p@UA^ag>KxwSdQB-$d~^3e`L)=D0$eg&X{fdofBqs@*7unc*7aso zgH}|11A~b8laPuX+vB~|fDcu!PjEiyxi6RZy0?aK?Z_iagaeZ&AgdbzYBrIz?ZA%7 zfOeiLcei%eqpvIbl zipI!ZM6`|cI)W)c^M(>>ZW|<+jjYw)I(fTB@r?<9=W;LWl8q+tYt_P`{oQp+OSm~d z8yo$p*1Mk>`LhHpy@k2x%m?%%*Pj~M4%;LIk{IDUq@faE-(>t@sl6Tcfz89b7u8LN zoy`Lw;hP)>r;ZS|TAq7;nXDX$_fA}BSMvr+TjUtyQH!cDf@3IQV=a>t*C-mYMI%z3caeRV6@-pl+!7J(v%C7Xv7FZ0ERdz5>=Nr!#QO^s^wPqk);4%NblIO}6YWYN~BGBRfY;Y6gM{Jp;lt1Wz)UrFs} z>>H#oWYDMK@bS|j3km>U|2>~ef|@~G$9Z64L!#o86gh4HGuI!vB>@?;l)^A=60hiRXTpU6jpOjeU^qZ@B zK_*QYe0LP{z-mYH{%|XiD!PDQTpH z|Ja@Y=@ThK-nXQN1<5~R4IZ=n(YP;)xY_kQ`{6O+jg_iB48~G(|d3B zKtJ@6c}-gu;BodDqn2Nm7bv#Zlh%!BoRywt*HrY9ugCf+pgbs1HNfO?u})Xf1Bdm# zeDwAZEr!EW0(eVOZB-XRGp9@3){114mhfCK8WD9o6}aUp4e}1 zmrjt6gc%PWPrA}Muvbte&)$dZ9``*L9`KUVUP7jR>hvR zNU}{G%!!g^NVIbLqmvbW!SAWZEH2s1+==nx!?%zM2`LT6?ekzVbNLh%L#d!|W$4@- zmEb&kqW4oOR3{_Qu)G0jD(Zv#pNrhMt4Q+_lQv3<>2-2|S74i{@=@V>7uSmBTGSOA9z@GQ#xH}kv3sP-?g{$gg%0pRrV7~THoQfW$WC9hWB`1)sz=5)9yGx;A zmvEUr)bInMaiU0!@Kt`M-Aj6?c<}W>mEsDIffn)W`~D;tTu5P@G{+wayWo2v@r79X zqA?p^o3RKYTk%`)&2;Uh6L=5|bkld*4e~l+&ERh<4$jNr6$98=R z?eAh3k7Fi(`I2u*0^;Ydyoaw3#@Q&dB(><~`?DEYJ$Nl-$imFl?V;;LP)qIfg|>y7t`A`psZghHM19=cD~djF5|Pz>k*5NF zJl#7`l;()es{9^*JyWLll=R%WYugG(@N(w@&+2rlHqb6VqfEn8`?=Y3*%?(I>iJP6c_u zqH_MRevxJY^G2Visq-4)C3XN$?_H8}L0b{D1ca?>h4%74ZYBAT`XvqB-npTN1$7}? zgm)^Az(wnW_@m*Yw{{^Ul#<|*msLRHxbT3&r632e7%skw(*gM_VxPPf^h!7;YkAX6 zA@n7ZJlZ`P-&z+wy)9S{LJ!i{;qu$N81s`z>BKb;w?Rk}&EA~!0||z1?#j*~>HSu8 zAYyAUntnG$na9(F(W6CHo4eaD3PF^RYGwNCX(v63kcTOFvt# zGxJ8W$H3cDnuD8xvY!(3YG!Qm&Zk54i0v###|s64yAgXfV_OvovF4nVL0ejR*6CNS z6`dCAE2LT~$9h=C)}p{Cj;TM5r53>I!#{kK; zCmaM<_+h_D)TYRGIdK;RTfeX9JU47!k96;mErRJp@^#Hbd-;}UZ$^@Vw@m7PW7X^a zq=-uctMh%$e|ayYG}Z0HWbhLY=2NX~1t(4Jyk1HB?ZCC(ym; zE_&bv;Q!p_^cCQez@D4R(hp-Sxgxk;gry1Kn@>;$aq;1qNneXjjoor|lRg^kdmcOH zkOzptcoM#gk8xG76tEL4SnjL1=Foce=s&Z}TgTOkw{LT|mK~As1T5_1dEUy|^JD%k z+V^LF@`8Kj;vMi#@Et~-_jI8fsGQheruAC>z{{#@&M$CKlOEU|dv&N|p>r6Y$Jbq@ zXqmeivXYHN04wbkbTod%WTa;5)G9YUWIc5OoM5o1EigdSFXt?Zr}a~vGtTlfK{ zPetVQI_aco`6S04LMb%?-czUAUcH4BbcJ0a$=af3pKW=y4D7di^WulHhE5D+7}DJ5 zn^uYYcNOckSxYz4gIEFIkMQP#m84w6{aw`8<#S|VHh^=KqaP`-#Z|43(FEwT4qNg& zsXY2E2%(Wy%a`5+?+;b`q1wM$x$~s;Zla|#?eY41MLFuH%y_~Bj{^}2l!up?y~QVh z6x~j71xh(hl&81#&iwF~0u>n**{2QLSEsD4AUD?Fe(g?NhE^J#PIUp55M`O*x*Q;;9JehQ|*a=)imcR z`9o1cvEyQB605Ua9-kPYnYU%>_ z0rZ5pGL`*X4c#)%L<_;+Mo{cUuqq6^@z8(M7FoRJ77O*Sa009oc8d+`oWFT&3TSA!tMS2;zF8jn`_f> zIMs?W)stN{pIZa&T6hOhm9v`qFG5RViJB92t1OOcU#MWYB@DhT}!rj*=H4CH4)!RVAF|YCka9fA2dkK_nl- z@wp||unV7fjF~5(3U-Xm9TaaoMv4oQRi|PSEm!nB1Nk67@52{Ye4e!5#4sOB_BK&< zTq)1`&Uf1z`vQ%bYcc8T4$!5sj(-CQo?+Sh{e94^)&`hCUs6#d;jY*)=tU0E^=O$0 z4!DZi!v@#kHa(!I~`CbP3)J# zy{aIBLxsC9VN*HQ-Ixb=VtOCfP*hf3J<% zZu9huUi$o^{*^k~oTLR$3t_r_sNYM`fu%tXHo6i;gM8+@8|-gc2f4SX*|QmK=B_74 z5K$9@HGU@mpODak=Yh8hOXcq=I4wmFRu>PX?{R?O63}y4CQJj_Na`=qllMBh)Z6hj z`&22lei^IB1&xr-k|T4#-I9Q z;2%kj0E|Bi91A`^()#z?<1&Tg`m27!B9Ep>*UgU3|DHRpP+#~*fVZ3bjXX#x>UgjN zxoYl2NfgW;Bt09YPB(PcUIYX!zyz^VpH`FF0gB&}i!QuwtHF-r0jwhcG*r0c;~ z8~9DsX*a)1H`?<%YV(kJ$LM#&M^Yt`*p${B|<$OJ4<{Y zNrDa@_$IZ$EaeV~sNgsruo;jkuui9)>T%1#=Da8Zcf5!f2N~C&**?-QTEFQYTl5K! zh>y0Yjxo2`N`WWR=7oMGv+hf#6E}y;T@*||y0-2&R?NlLIx9-1w8a%XS*jTKrrO}Z zKn(5!9ML%mJ@g5sk#H!en<(a;Zzq!7@zr3a4WuI)O>-_Rq6x{eP zp?})Jdm{QDAs&F|cJ?}63~f_>Nt2lj9Ux7d%=w>jUpZQ!Y5c<}_HP%12*}hUr~wWT zH;MyO1>;4#I=2$gls0aj^52q?Q$)zv-V~}o?#~eX7iHKz%5QLkvzlV^d`NlZ1HTv6 zs;;&g^f~`Rxr+i{^;+zq!9H1L0=!A!|Lbk=kOf79$A2-Gp%vh2j*b?j1H=)_A-i|y zZ}d4wOXWfPB?+&m=zL!d9G{t~kRO^r1939ue@wjPViNrq6M3={^j`iEWl~qgobs{f zbR%#g&>o6(370uW4SpCb9{*94-*;zb<*J6M& z9-nul*Topg#G_ZS7_@EfXp=b>PM~M5h72v#@0Ft6Y=D}7Sv#50`7aNf9V4OUyB_x) zY^hGE<3z!~hUexqMuZ*h>h%H%6xhG{8ZQ0L(CVz|ND+^&x{uNhJraSRU?7S|8igCBHTrq4p8yWe{1>y zScIH!YY0KRlem9}$81!08=F)H?QH4XLQmZ$(&nQ90#!PWF}p3SFN|bE6?VhOKS|fS zpo_50ZvVpb%h3&QzIJB7A_dv))W1U&EWVjG$mUs9lFIUeROD|P*eAGL%ZIiKcLva; zUR)%yB2I+zeK7_}Pyv#^7V=sw42uz-E8y21>Llk5sj<=iHwRvvq8jsgKBLP6A8Z~b zU6M1@_qOvu&_8LB%x_5WQ5S^8yH_MF^f0tp5;QuX|)u1Is}aV;tsiyf{A1pLu<=lE9(zkDs4A)Gs}PqN2f7p^-yl zvzgc(&Sy<~CLUV(qeSGweKoU<$fpV<2zqETo!TbLv5w_^bJ#?uiTmXn^%;e`9im+w z_+KOPio$zA;9k_%3==oSb${^>l?n+PmOR$WjlguOtDNAnLDzqE=_#;p zzjSiwc<8q`JU#F!^!Cx4@frsfB&=3V-#g)x;D!0Mm&59RCaYB#0uK`SE%Ji}xcMI` kf+5E~08eu0J@B8IOXblS-xDuifX=A!boFyt=akR{0Crupy8r+H literal 0 HcmV?d00001 diff --git a/api/chalicelib/utils/html/invitation.html b/api/chalicelib/utils/html/invitation.html new file mode 100644 index 000000000..9c8c1448f --- /dev/null +++ b/api/chalicelib/utils/html/invitation.html @@ -0,0 +1,595 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/api/chalicelib/utils/html/reset_password.html b/api/chalicelib/utils/html/reset_password.html new file mode 100644 index 000000000..68bb21e63 --- /dev/null +++ b/api/chalicelib/utils/html/reset_password.html @@ -0,0 +1,545 @@ + + + + + + + + + + + + + + + + + + + + + + + """ + data[ + "o_tr_d"] += f"""""" + + data[ + "past_week_issues_status"] = f' 0 else "decrease"}.png" width="15px" height="10px" style="font-weight:300;vertical-align:middle">' + data["week_decision"] = "More" if data["past_week_issues_evolution"] > 0 else "Fewer" + data["past_week_issues_evolution"] = abs(data["past_week_issues_evolution"]) + data[ + "past_month_issues_status"] = f' 0 else "decrease"}.png" width="15px" height="10px" style="font-weight:300;vertical-align:middle">' + data["month_decision"] = "More" if data["past_month_issues_evolution"] > 0 else "Fewer" + data["past_month_issues_evolution"] = abs(data["past_month_issues_evolution"]) + data["progress_legend"] = [] + data["progress_tr"] = "" + for idx, i in enumerate(data["issues_by_type"]): + color = __get_color(idx) + data["progress_legend"].append( + f"""""") + data[ + "progress_tr"] += f'' + + data["progress_legend"] = '' + "".join( + data["progress_legend"]) + "" + data["breakdown_list"] = "" + color_breakdown = {} + data["breakdown_list_other"] = "" + for idx, i in enumerate(data["issues_breakdown_list"]): + if idx < len(data["issues_breakdown_list"]) - 1 or i["type"].lower() != "others": + color = __get_color(idx) + color_breakdown[i["type"]] = color + data["breakdown_list"] += f""" + + + + + """ + else: + data["breakdown_list_other"] = f""" + + + + + + + """ + data["b_tr_u"] = "" + data["b_tr_d"] = "" + for i in data["issues_breakdown_by_day"]: + data[ + "b_tr_d"] += f"""""" + if len(i["partition"]) > 0: + sup_partition = "" + for j in i["partition"]: + sup_partition += f'' + else: + sup_partition = '' + data[ + "b_tr_u"] += f"""""" + BODY_HTML = __get_html_from_file("chalicelib/utils/html/Project-Weekly-Report.html", formatting_variables=data) + SUBJECT = "Asayer Project Weekly Report" + send_html(BODY_HTML=BODY_HTML, SUBJECT=SUBJECT, recipient=recipients) diff --git a/ee/api/chalicelib/utils/event_filter_definition.py b/ee/api/chalicelib/utils/event_filter_definition.py new file mode 100644 index 000000000..4c132cb13 --- /dev/null +++ b/ee/api/chalicelib/utils/event_filter_definition.py @@ -0,0 +1,15 @@ +class Event: + def __init__(self, ui_type, table, column): + self.ui_type = ui_type + self.table = table + self.column = column + + +class SupportedFilter: + def __init__(self, get, query, value_limit, starts_with, starts_limit, ignore_if_starts_with): + self.get = get + self.query = query + self.valueLimit = value_limit + self.startsWith = starts_with + self.startsLimit = starts_limit + self.ignoreIfStartsWith = ignore_if_starts_with diff --git a/ee/api/chalicelib/utils/github_client_v3.py b/ee/api/chalicelib/utils/github_client_v3.py new file mode 100644 index 000000000..a86b721aa --- /dev/null +++ b/ee/api/chalicelib/utils/github_client_v3.py @@ -0,0 +1,133 @@ +import requests +from datetime import datetime + + +class github_formatters: + + @staticmethod + def get_timestamp(ts): + ts = ts[:-1] + pattern = '%Y-%m-%dT%H:%M:%S' + creation = datetime.strptime(ts, pattern) + return int(creation.timestamp() * 1000) + + @staticmethod + def label(label): + return { + 'id': label["id"], + 'name': label["name"], + 'description': label["description"], + 'color': label["color"] + } + + @staticmethod + def comment(comment): + return { + 'id': str(comment["id"]), + 'message': comment["body"], + 'author': str(github_formatters.user(comment["user"])["id"]), + 'createdAt': github_formatters.get_timestamp(comment["created_at"]) + } + + @staticmethod + def issue(issue): + labels = [github_formatters.label(l) for l in issue["labels"]] + result = { + 'id': str(issue["number"]), + 'creator': str(github_formatters.user(issue["user"])["id"]), + 'assignees': [str(github_formatters.user(a)["id"]) for a in issue["assignees"]], + 'title': issue["title"], + 'description': issue["body"], + 'status': issue["state"], + 'createdAt': github_formatters.get_timestamp(issue["created_at"]), + 'closed': issue["closed_at"] is not None, + 'commentsCount': issue["comments"], + 'issueType': [str(l["id"]) for l in labels if l["name"].lower() != "asayer"], + 'labels': [l["name"] for l in labels] + } + return result + + @staticmethod + def user(user): + if not user: + return None + result = { + 'id': user["id"], + 'name': user["login"], + 'avatarUrls': {'24x24': user["avatar_url"]}, + 'email': "" + } + return result + + @staticmethod + def team_to_dict(team): + if not team: + return None + + result = {'id': team.id, 'name': team.name, 'members_count': team.members_count} + return result + + @staticmethod + def repo(repo): + if not repo: + return None + return { + "id": str(repo["id"]), + "name": repo["name"], + "description": repo["description"], + "creator": str(repo["owner"]["id"]) + } + + @staticmethod + def organization(org): + if not org: + return None + return { + "id": org["id"], + "name": org["login"], + "description": org["description"], + "avatarUrls": {'24x42': org["avatar_url"]} + } + + +def get_response_links(response): + links = {} + if "Link" in response.headers: + link_headers = response.headers["Link"].split(", ") + for link_header in link_headers: + (url, rel) = link_header.split("; ") + url = url[1:-1] + rel = rel[5:-1] + links[rel] = url + return links + + +class githubV3Request: + __base = "https://api.github.com" + + def __init__(self, token): + self.__token = token + + def __get_request_header(self): + return {"Accept": "application/vnd.github.v3+json", 'Authorization': f'token {self.__token}'} + + def get(self, url, params={}): + results = [] + params = {"per_page": 100, **params} + pages = {"next": f"{self.__base}{url}", "last": ""} + while len(pages.keys()) > 0 and pages["next"] != pages["last"]: + response = requests.get(pages["next"], headers=self.__get_request_header(), params=params) + pages = get_response_links(response) + result = response.json() + if response.status_code != 200: + print("!-------- error") + print(result) + raise Exception(result["message"]) + if isinstance(result, dict): + return result + results += result + return results + + def post(self, url, body): + response = requests.post(f"{self.__base}{url}", headers=self.__get_request_header(), json=body) + return response.json() diff --git a/ee/api/chalicelib/utils/helper.py b/ee/api/chalicelib/utils/helper.py new file mode 100644 index 000000000..5bb809dd8 --- /dev/null +++ b/ee/api/chalicelib/utils/helper.py @@ -0,0 +1,380 @@ +import math +import random +import re +import string + +import requests + +local_prefix = 'local-' +from os import environ, path + +import json + + +def get_version_number(): + return environ["version"] + + +def get_stage_name(): + stage = environ["stage"] + return stage[len(local_prefix):] if stage.startswith(local_prefix) else stage + + +def is_production(): + return get_stage_name() == "production" + + +def is_staging(): + return get_stage_name() == "staging" + + +def is_onprem(): + return not is_production() and not is_staging() + + +def is_local(): + return environ["stage"].startswith(local_prefix) + + +def generate_salt(): + return "".join(random.choices(string.hexdigits, k=36)) + + +def remove_empty_none_values(dictionary): + aux = {} + for key in dictionary.keys(): + if dictionary[key] is not None: + if isinstance(dictionary[key], dict): + aux[key] = remove_empty_none_values(dictionary[key]) + elif not isinstance(dictionary[key], str) or len(dictionary[key]) > 0: + aux[key] = dictionary[key] + return aux + + +def unique_ordered_list(array): + uniq = [] + [uniq.append(x) for x in array if x not in uniq] + return uniq + + +def unique_unordered_list(array): + return list(set(array)) + + +def list_to_camel_case(items, flatten=False): + for i in range(len(items)): + if flatten: + items[i] = flatten_nested_dicts(items[i]) + items[i] = dict_to_camel_case(items[i]) + + return items + + +def dict_to_camel_case(variable, delimiter='_', ignore_keys=[]): + if variable is None: + return None + if isinstance(variable, str): + return variable + elif isinstance(variable, dict): + aux = {} + for key in variable.keys(): + if key in ignore_keys: + aux[key] = variable[key] + elif isinstance(variable[key], dict): + aux[key_to_camel_case(key, delimiter)] = dict_to_camel_case(variable[key]) + elif isinstance(variable[key], list): + aux[key_to_camel_case(key, delimiter)] = list_to_camel_case(variable[key]) + else: + aux[key_to_camel_case(key, delimiter)] = variable[key] + return aux + else: + return variable + + +def dict_to_CAPITAL_keys(variable): + if variable is None: + return None + if isinstance(variable, str): + return variable.upper() + elif isinstance(variable, dict): + aux = {} + for key in variable.keys(): + if isinstance(variable[key], dict): + aux[key.upper()] = dict_to_CAPITAL_keys(variable[key]) + else: + aux[key.upper()] = variable[key] + return aux + else: + return variable + + +def variable_to_snake_case(variable, delimiter='_', split_number=False): + if isinstance(variable, str): + return key_to_snake_case(variable, delimiter, split_number) + elif isinstance(variable, dict): + aux = {} + for key in variable.keys(): + if isinstance(variable[key], dict): + aux[key_to_snake_case(key, delimiter, split_number)] = variable_to_snake_case(variable[key], delimiter, + split_number) + else: + aux[key_to_snake_case(key, delimiter, split_number)] = variable[key] + return aux + else: + return variable + + +def key_to_camel_case(snake_str, delimiter='_'): + if snake_str.startswith(delimiter): + snake_str = snake_str[1:] + components = snake_str.split(delimiter) + return components[0] + ''.join(x.title() for x in components[1:]) + + +def key_to_snake_case(name, delimiter='_', split_number=False): + s1 = re.sub('(.)([A-Z][a-z]+)', fr'\1{delimiter}\2', name) + return re.sub('([a-z])([A-Z0-9])' if split_number else '([a-z0-9])([A-Z])', fr'\1{delimiter}\2', s1).lower() + + +TRACK_TIME = True + + +def __sbool_to_bool(value): + if value is None or not isinstance(value, str): + return False + return value.lower() in ["true", "yes", "1"] + + +def allow_cron(): + return "allowCron" not in environ or __sbool_to_bool(environ["allowCron"]) + + +def allow_captcha(): + return environ.get("captcha_server") is not None and environ.get("captcha_key") is not None \ + and len(environ["captcha_server"]) > 0 and len(environ["captcha_key"]) > 0 + + +def allow_sentry(): + return "sentry" not in environ or __sbool_to_bool(environ["sentry"]) + + +def async_post(endpoint, data): + data["auth"] = environ["async_Token"] + try: + requests.post(endpoint, timeout=1, json=data) + except requests.exceptions.ReadTimeout: + pass + + +def string_to_sql_like(value): + value = re.sub(' +', ' ', value) + value = value.replace("*", "%") + if value.startswith("^"): + value = value[1:] + elif not value.startswith("%"): + value = '%' + value + + if value.endswith("$"): + value = value[:-1] + elif not value.endswith("%"): + value = value + '%' + # value = value.replace(" ", "%") + return value + + +def string_to_sql_like_with_op(value, op): + if isinstance(value, list) and len(value) > 0: + _value = value[0] + else: + _value = value + if _value is None: + return _value + if op.lower() != 'ilike': + return _value.replace("%", "%%") + _value = _value.replace("*", "%") + if _value.startswith("^"): + _value = _value[1:] + elif not _value.startswith("%"): + _value = '%' + _value + + if _value.endswith("$"): + _value = _value[:-1] + elif not _value.endswith("%"): + _value = _value + '%' + return _value.replace("%", "%%") + + +def is_valid_email(email): + return re.match(r"[^@]+@[^@]+\.[^@]+", email) is not None + + +def is_valid_http_url(url): + regex = re.compile( + r'^(?:http|ftp)s?://' # http:// or https:// + r'(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|' # domain... + r'localhost|' # localhost... + r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})' # ...or ip + r'(?::\d+)?' # optional port + r'(?:/?|[/?]\S+)$', re.IGNORECASE) + + return re.match(regex, url) is not None + + +def is_valid_url(url): + regex = re.compile( + # r'^(?:http|ftp)s?://' # http:// or https:// + r'(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|' # domain... + r'localhost|' # localhost... + r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})' # ...or ip + r'(?::\d+)?' # optional port + r'(?:/?|[/?]\S+)$', re.IGNORECASE) + + return re.match(regex, url) is not None + + +def is_alphabet_space(word): + r = re.compile("^[a-zA-Z ]*$") + return r.match(word) is not None + + +def is_alphabet_latin_space(word): + r = re.compile("^[a-zA-Z\u00C0-\u00D6\u00D8-\u00f6\u00f8-\u00ff\s ]*$") + return r.match(word) is not None + + +def is_alphabet_space_dash(word): + r = re.compile("^[a-zA-Z -]*$") + return r.match(word) is not None + + +def is_alphanumeric_space(word): + r = re.compile("^[a-zA-Z0-9._\- ]*$") + return r.match(word) is not None + + +def merge_lists_by_key(l1, l2, key): + merged = {} + for item in l1 + l2: + if item[key] in merged: + merged[item[key]].update(item) + else: + merged[item[key]] = item + return [val for (_, val) in merged.items()] + + +def flatten_nested_dicts(obj): + if obj is None: + return None + result = {} + for key in obj.keys(): + if isinstance(obj[key], dict): + result = {**result, **flatten_nested_dicts(obj[key])} + else: + result[key] = obj[key] + return result + + +def delete_keys_from_dict(d, to_delete): + if isinstance(to_delete, str): + to_delete = [to_delete] + if isinstance(d, dict): + for single_to_delete in set(to_delete): + if single_to_delete in d: + del d[single_to_delete] + for k, v in d.items(): + delete_keys_from_dict(v, to_delete) + elif isinstance(d, list): + for i in d: + delete_keys_from_dict(i, to_delete) + return d + + +def explode_widget(data, key=None): + result = [] + for k in data.keys(): + if k.endswith("Progress") or k == "chart": + continue + result.append({"key": key_to_snake_case(k) if key is None else key, "data": {"value": data[k]}}) + if k + "Progress" in data: + result[-1]["data"]["progress"] = data[k + "Progress"] + if "chart" in data: + result[-1]["data"]["chart"] = [] + for c in data["chart"]: + result[-1]["data"]["chart"].append({"timestamp": c["timestamp"], "value": c[k]}) + return result + + +TEMP_PATH = "./" if is_local() else "/tmp/" + + +def get_issue_title(issue_type): + return {'click_rage': "Click Rage", + 'dead_click': "Dead Click", + 'excessive_scrolling': "Excessive Scrolling", + 'bad_request': "Bad Request", + 'missing_resource': "Missing Image", + 'memory': "High Memory Usage", + 'cpu': "High CPU", + 'slow_resource': "Slow Resource", + 'slow_page_load': "Slow Page", + 'crash': "Crash", + 'ml_cpu': "High CPU", + 'ml_memory': "High Memory Usage", + 'ml_dead_click': "Dead Click", + 'ml_click_rage': "Click Rage", + 'ml_mouse_thrashing': "Mouse Thrashing", + 'ml_excessive_scrolling': "Excessive Scrolling", + 'ml_slow_resources': "Slow Resource", + 'custom': "Custom Event", + 'js_exception': "Error", + 'custom_event_error': "Custom Error", + 'js_error': "Error"}.get(issue_type, issue_type) + + +def __progress(old_val, new_val): + return ((old_val - new_val) / new_val) * 100 if new_val > 0 else 0 if old_val == 0 else 100 + + +def __decimal_limit(value, limit): + factor = pow(10, limit) + value = math.floor(value * factor) + if value % factor == 0: + return value // factor + return value / factor + + +def is_free_open_source_edition(): + return __sbool_to_bool(environ.get("isFOS")) + + +def is_enterprise_edition(): + return __sbool_to_bool(environ.get("isEE")) + + +stag_config_file = f"chalicelib/.configs/{environ['stage']}.json" +if not path.isfile(stag_config_file): + print("!! stage config file not found, using .chalice/config.json only") +else: + print("!! stage config file found, merging with priority to .chalice/config.json") + with open(stag_config_file) as json_file: + config = json.load(json_file) + environ = {**config, **environ} + +if (is_free_open_source_edition() or is_enterprise_edition()) and environ.get("config_file"): + if not path.isfile(environ.get("config_file")): + print("!! config file not found, using default environment") + else: + with open(environ.get("config_file")) as json_file: + config = json.load(json_file) + environ = {**environ, **config} + + +def get_internal_project_id(project_id64): + if project_id64 < 0x10000000000000 or project_id64 >= 0x20000000000000: + return None + + project_id64 = (project_id64 - 0x10000000000000) * 4212451012670231 & 0xfffffffffffff + if project_id64 > 0xffffffff: + return None + project_id = int(project_id64) + return project_id diff --git a/ee/api/chalicelib/utils/html/Project-Weekly-Report.html b/ee/api/chalicelib/utils/html/Project-Weekly-Report.html new file mode 100644 index 000000000..bb7b7a38e --- /dev/null +++ b/ee/api/chalicelib/utils/html/Project-Weekly-Report.html @@ -0,0 +1,170 @@ + + +
+
+
+ + + + + + +
+
+
+ + + + + + +
+ + + + + + +
%(project_name)s | Weekly Report
%(period_start)s - %(period_end)s
+
+ +
+
+
+ + +
+ +
+ + + + + +
+

287 Issues Occured This Week

+
+ + + + + + +
+ + + %(o_tr_u)s + + + %(o_tr_d)s + +
+
+ + + + + + + + + +
+
%(past_week_issues_status)s %(past_week_issues_evolution)s%
+
+
%(past_month_issues_status)s %(past_month_issues_evolution)s%
+
+  %(week_decision)s than past 7 days + + %(month_decision)s than past 30 days +
+
+ +
+ +
+ +
+ + + + + + + + + + + + +
+

Issues by Type

+
+ + + %(progress_legend)s + +
+
+ + + %(progress_tr)s + +
+
+ + +
+ +
+ +
+ + + +

Issues Breakdown

+ + + + %(b_tr_u)s + + + %(b_tr_d)s + +
+ + + + + + + + + + + + %(breakdown_list)s + + %(breakdown_list_other)s +
TypeSessionsPast 7 DaysPast 30 Days
+ + +
+ +
+ + +
+ +